diff --git a/machines-process.cabal b/machines-process.cabal
--- a/machines-process.cabal
+++ b/machines-process.cabal
@@ -1,5 +1,5 @@
 name:                machines-process
-version:             0.0.0.1
+version:             0.2.0.0
 synopsis:            Process (system) utilities for the machines library
 homepage:            http://github.com/aloiscochard/machines-io
 license:             Apache-2.0
@@ -17,8 +17,8 @@
   exposed-modules: 
     System.Process.Machine
   build-depends:       
-      base >=4.7 && <4.8
-    , chunked-data
-    , machines
-    , machines-io
-    , process
+      base                >= 4.6      && < 5
+    , chunked-data        >= 0.1      && < 0.2
+    , machines            >= 0.2      && < 0.5
+    , machines-io         >= 0.2      && < 0.3
+    , process             >= 1.1      && < 1.3
diff --git a/src/System/Process/Machine.hs b/src/System/Process/Machine.hs
--- a/src/System/Process/Machine.hs
+++ b/src/System/Process/Machine.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ImpredicativeTypes #-}
+{-# LANGUAGE RankNTypes #-}
 module System.Process.Machine where
 
 import Data.Machine
@@ -30,7 +30,7 @@
   return (exitCode, x)
 
 createProcessMachines :: IOData a => forall b k. IODataMode a -> CreateProcess -> IO (ProcessMachines a b k, ProcessHandle)
-createProcessMachines (IODataMode r w) cp = do
+createProcessMachines (r, w) cp = do
   (pIn, pOut, pErr, pHandle) <- createProcess cp
   let pInSink = fmap (sinkHandleWith w) pIn
   let pOutSource = fmap sourceHandle pOut
