diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -66,7 +66,7 @@
   ```
 
   Here you **have** to specify the serial since HIDAPI is not used to obtain it automatically.
-  
+
   If you prefer a Websockets server over a raw TCP server, use `ws://0.0.0.0:1234` instead.
 
 * Output decrypted raw data to stdout:
@@ -82,3 +82,16 @@
   ```
 
   We use `tee` and shell process substitution to duplicate the data stream, and tell *hemokit-dump* to read from `-` (stdin).
+
+
+Connecting with other Programs
+------------------------------
+
+* To use Hemokit as a data source from [OpenVibe](http://openvibe.inria.fr/), check out the corresponding entry in the [Wiki](https://github.com/nh2/hemokit/wiki)
+* To read Hemokit data from Matlab, I recommend publishing the data on a local socket in text format using `hemokit-dump --format spaced --serve 127.0.0.1:1234`. Then you can read it with code like:
+
+```matlab
+t = tcpip('127.0.0.1', 1234);
+fopen(t)
+data = fscanf(t, '%d');
+```
diff --git a/apps/Dump.hs b/apps/Dump.hs
--- a/apps/Dump.hs
+++ b/apps/Dump.hs
@@ -58,9 +58,9 @@
 dumpArgsParser :: Parser DumpArgs
 dumpArgsParser = DumpArgs
   <$> emotivArgsParser
-  <*> nullOption
+  <*> option (eitherReader parseDumpMode)
       ( long "mode"
-        <> reader parseDumpMode <> value State
+        <> value State
         <> help "What to dump. Can be 'raw', 'packets', 'state' or 'measure'" )
   <*> switch
       ( long "realtime"
@@ -68,13 +68,12 @@
   <*> switch
       ( long "list"
         <> help "Show all available Emotiv devices and exit" )
-  <*> nullOption
+  <*> option (eitherReader parseOutputFormat)
       ( long "format"
-        <> reader parseOutputFormat <> value Default
+        <> value Default
         <> help "Format output as Haskell value, JSON or space-separated" )
-  <*> (optional . nullOption)
+  <*> (optional . option (eitherReader parseHostPort))
       ( long "serve" <> metavar "HOST:PORT"
-        <> eitherReader parseHostPort
         <> help ("Serve output via a TCP server, e.g. 127.0.0.1:1234 " ++
                  "(port 1234, only localhost) or 0.0.0.0:1234 (all interfaces). " ++
                  "Use 'ws://' before the host to serve via websockets") )
diff --git a/apps/DumpConduit.hs b/apps/DumpConduit.hs
--- a/apps/DumpConduit.hs
+++ b/apps/DumpConduit.hs
@@ -59,9 +59,9 @@
 dumpArgsParser :: Parser DumpArgs
 dumpArgsParser = DumpArgs
   <$> emotivArgsParser
-  <*> nullOption
+  <*> option (eitherReader parseDumpMode)
       ( long "mode"
-        <> reader parseDumpMode <> value State
+        <> value State
         <> help "What to dump. Can be 'raw', 'packets', 'state' or 'measure'" )
   <*> switch
       ( long "realtime"
@@ -69,13 +69,12 @@
   <*> switch
       ( long "list"
         <> help "Show all available Emotiv devices and exit" )
-  <*> nullOption
+  <*> option (eitherReader parseOutputFormat)
       ( long "format"
-        <> reader parseOutputFormat <> value Default
+        <> value Default
         <> help "Format output as Haskell value, JSON or space-separated" )
-  <*> (optional . nullOption)
+  <*> (optional . option (eitherReader parseHostPort))
       ( long "serve" <> metavar "HOST:PORT"
-        <> eitherReader parseHostPort
         <> help ("Serve output via a TCP server, e.g. 127.0.0.1:1234 " ++
                  "(port 1234, only localhost) or 0.0.0.0:1234 (all interfaces). " ++
                  "Use 'ws://' before the host to serve via websockets") )
diff --git a/hemokit.cabal b/hemokit.cabal
--- a/hemokit.cabal
+++ b/hemokit.cabal
@@ -1,5 +1,5 @@
 name:          hemokit
-version:       0.6.5
+version:       0.6.6
 license:       MIT
 copyright:     2013 Niklas Hambüchen <mail@nh2.me>, Patrick Chilton <chpatrick@gmail.com>
 author:        Niklas Hambüchen <mail@nh2.me>, Patrick Chilton <chpatrick@gmail.com>
@@ -9,8 +9,8 @@
 stability:     experimental
 tested-with:   GHC==7.6.3, GHC==7.8.1
 cabal-version: >= 1.10
-homepage:      https://github.com/nh2/haskell-hemokit
-bug-reports:   https://github.com/nh2/haskell-hemokit/issues
+homepage:      https://github.com/nh2/hemokit
+bug-reports:   https://github.com/nh2/hemokit/issues
 synopsis:      Haskell port of the Emokit EEG project
 description:
   This package allows reading raw data from the Emotiv EPOC EEG devices.
@@ -72,8 +72,8 @@
     , hidapi                 >= 0.1.2
     , mtl                    >= 2.1.2
     -- network-simple 0.4.0.1 breaks on Windows: https://github.com/k0001/network-simple/issues/13
-    , network-simple         >= 0.3.0   && < 0.4.0.1
-    , optparse-applicative   >= 0.7.0   && < 0.10.0
+    , network-simple         >= 0.4.0.2
+    , optparse-applicative   >= 0.11
     , text                   >= 0.11.1.1
     , vector                 >= 0.9
     , websockets             >= 0.8.0.0
@@ -112,17 +112,18 @@
   build-depends:
       base
     , hemokit
-    , aeson                  >= 0.6.1.0
-    , bytestring             >= 0.9.2.1
-    -- network-simple 0.4.0.1 breaks on Windows: https://github.com/k0001/network-simple/issues/13
-    , network-simple         >= 0.3.0   && < 0.4.0.1
-    , optparse-applicative   >= 0.7.0   && < 0.10.0
+    -- Dependencies already present in the library (thus no version bounds)
+    , aeson
+    , bytestring
+    , network-simple
+    , optparse-applicative
+    , vector
+    , websockets
+    -- Own dependencies
     , pretty-show            >= 1.0
     , split                  >= 0.2.2
     , time                   >= 1.4
     , transformers           >= 0.3.0.0
-    , vector                 >= 0.9
-    , websockets             >= 0.8.0.0
   ghc-options: -Wall
 
 
@@ -135,17 +136,18 @@
   build-depends:
       base
     , hemokit
-    , aeson                  >= 0.6.1.0
-    , bytestring             >= 0.9.2.1
-    , conduit                >= 1
-    -- network-simple 0.4.0.1 breaks on Windows: https://github.com/k0001/network-simple/issues/13
-    , network-simple         >= 0.3.0   && < 0.4.0.1
-    , optparse-applicative   >= 0.7.0   && < 0.10.0
+    -- Dependencies already present in the library (thus no version bounds)
+    , aeson
+    , bytestring
+    , conduit
+    , network-simple
+    , optparse-applicative
+    , vector
+    -- Own dependencies
     , pretty-show            >= 1.0
     , split                  >= 0.2.2
     , time                   >= 1.4
     , transformers           >= 0.3.0.0
-    , vector                 >= 0.9
   ghc-options: -Wall
 
 
@@ -161,10 +163,12 @@
     build-depends:
         base
       , hemokit
+      -- Dependencies already present in the library (thus no version bounds)
       , conduit
-      , mtl                     >= 2.1.2
+      , mtl
+      , vector
+      -- Own dependencies
       , pretty-show             >= 1.0
-      , vector                  >= 0.9
       , vector-fftw             >= 0.1.3.1
   ghc-options: -Wall
 
@@ -181,12 +185,14 @@
     build-depends:
         base
       , hemokit
+      -- Dependencies already present in the library (thus no version bounds)
+      , mtl
+      , vector
+      -- Own dependencies
       , cairo                  >= 0.12.4
       , gtk                    >= 0.12.4
-      , mtl                    >= 2.1.2
       , pretty-show            >= 1.0
       , svgcairo               >= 0.12.1.1
-      , vector                 >= 0.9
   ghc-options: -Wall
 
 
@@ -200,6 +206,8 @@
   build-depends:
       base
     , hemokit
+    -- Dependencies already present in the library (thus no version bounds)
+    -- Own dependencies
     , bytestring             >= 0.9.2.1
     , hspec                  >= 1.8.3
     , HUnit                  >= 1.2
@@ -217,6 +225,8 @@
   build-depends:
       base
     , hemokit
+    -- Dependencies already present in the library (thus no version bounds)
+    -- Own dependencies
     , criterion              >= 0.8.0.0
   ghc-options: -Wall
 
@@ -230,8 +240,10 @@
     ConduitRollingBufferBench.hs
   build-depends:
       base
+    , hemokit
+    -- Dependencies already present in the library (thus no version bounds)
     , conduit
     , mtl
-    , hemokit
+    -- Own dependencies
     , criterion              >= 0.8.0.0
   ghc-options: -Wall
diff --git a/src/Hemokit/Start.hs b/src/Hemokit/Start.hs
--- a/src/Hemokit/Start.hs
+++ b/src/Hemokit/Start.hs
@@ -40,19 +40,19 @@
 -- | Command line parser for EEG selection. See `EmotivArgs`.
 emotivArgsParser :: Parser EmotivArgs
 emotivArgsParser = EmotivArgs
-  <$> nullOption
+  <$> option (eitherReader parseModel)
       ( long "model" <> metavar "MODEL"
-        <> reader parseModel <> value Consumer
+        <> value Consumer
         <> help "Consumer or Developer model, Consumer by default" )
-  <*> (optional . nullOption)
+  <*> (optional . option (maybeReader makeSerialNumberFromString "Serial number of has invalid format"))
       ( long "serial" <> metavar "SERIALNUMBER"
-        <> maybeReader makeSerialNumberFromString "Serial number of has invalid format"
         <> help "The serial to use. If no --from-file is given, this will select the device" )
   <*> (optional . strOption)
       ( long "from-file" <> metavar "PATH"
         <> help "The file path to read from (e.g. /dev/hidraw0 or myfile.dump)" )
   where
-    maybeReader mbFn msg = reader $ maybe (fail msg) pure . mbFn
+    maybeReader :: (String -> Maybe a) -> String -> ReadM a
+    maybeReader mbFn msg = eitherReader (maybe (fail msg) pure . mbFn)
 
 
 -- | Runs a command line parser. The given program description is used for the
