diff --git a/Codec/Zlib/Enum.hs b/Codec/Zlib/Enum.hs
--- a/Codec/Zlib/Enum.hs
+++ b/Codec/Zlib/Enum.hs
@@ -2,7 +2,7 @@
     -- * Enumeratees
     compress, decompress, gzip, ungzip,
     -- * Re-exported from zlib-bindings
-    WindowBits (..), defaultWindowBits
+    WindowBits (..), defaultWindowBits, ZlibException
 ) where
 
 import Codec.Zlib
@@ -41,7 +41,7 @@
             chunk <- liftIO $ finishInflate inf
             lift $ runIteratee $ k $ Chunks [chunk]
         Just bs -> do
-            chunks <- liftIO $ withInflateInput inf bs $ callback
+            chunks <- liftIO $ (feedInflate inf bs >>= callback)
             step <- lift $ runIteratee $ k $ Chunks chunks
             decompress' inf step
 decompress' _ step = return step
@@ -64,10 +64,10 @@
     x <- EL.head
     case x of
         Nothing -> do
-            chunks <- liftIO $ finishDeflate def $ callback
+            chunks <- liftIO $ callback (finishDeflate def)
             lift $ runIteratee $ k $ Chunks chunks
         Just bs -> do
-            chunks <- liftIO $ withDeflateInput def bs $ callback
+            chunks <- liftIO $ (feedDeflate def bs >>= callback)
             step <- lift $ runIteratee $ k $ Chunks chunks
             compress' def step
 compress' _ step = return step
diff --git a/test.hs b/test.hs
--- a/test.hs
+++ b/test.hs
@@ -191,10 +191,10 @@
 compressChunks win xs = do
     def <- initDeflate 7 win
     gziped <- foldM (go' def) id xs
-    gziped' <- finishDeflate def $ go gziped
+    gziped' <- go gziped (finishDeflate def)
     return $ gziped' []
     where
-    go' def front bs = withDeflateInput def bs $ go front
+    go' def front bs = feedDeflate def bs >>= go front
     go front x = do
         y <- x
         case y of
@@ -209,7 +209,7 @@
     final <- finishInflate inf
     return $ ungziped [final]
     where
-    go' inf front bs = withInflateInput inf bs $ go front
+    go' inf front bs = feedInflate inf bs >>= go front
     go front x = do
         y <- x
         case y of
@@ -266,13 +266,13 @@
 -- | Check if mapping the identity function doesn't affect anything
 prop_map_id :: WindowBits -> [ByteString] -> Property
 prop_map_id win xs = monadicIO $ do
-  ys <- Q.run $ compressDecompressWith (E.map id) win xs
+  ys <- Q.run $ compressDecompressWith (EL.map id) win xs
   assert (B.concat xs == ys)
 
 -- | Check if mapping 'reverse . reverse' doesn't affect anything
 prop_map_revrev :: WindowBits -> [ByteString] -> Property
 prop_map_revrev win xs = monadicIO $ do
-  ys <- Q.run $ compressDecompressWith (E.map $ B.reverse . B.reverse) win xs
+  ys <- Q.run $ compressDecompressWith (EL.map $ B.reverse . B.reverse) win xs
   assert (B.concat xs == ys)
 
 -- | Check if compressing and decompressing multiple times works
@@ -288,7 +288,7 @@
   ys <- Q.run $ decompressFileWith enum win file
   assert (B.concat xs == ys)
   where
-  enum = E.map id
+  enum = EL.map id
 
 -- | Check compressing and decompressing a file with an Iteratee that
 -- consumes only a few bytes
diff --git a/zlib-enum.cabal b/zlib-enum.cabal
--- a/zlib-enum.cabal
+++ b/zlib-enum.cabal
@@ -1,5 +1,5 @@
 name:           zlib-enum
-version:        0.2.1
+version:        0.2.2
 license:        MIT
 license-file:   LICENSE
 author:         Paulo Tanimoto <ptanimoto@gmail.com>
@@ -25,8 +25,8 @@
     build-depends: base                  >= 4 && < 5
                  , bytestring
                  , transformers          == 0.2.*
-                 , enumerator            >= 0.4
-                 , zlib-bindings
+                 , enumerator            == 0.4.*
+                 , zlib-bindings         == 0.1.*
     exposed-modules: Codec.Zlib.Enum
     ghc-options:     -Wall
 
@@ -40,10 +40,9 @@
             , bytestring                 >= 0.9   &&   < 0.10
             , transformers               == 0.2.*
             , enumerator                 >= 0.4   &&   < 0.5
-            , zlib-bindings              >= 0.0   &&   < 0.1
-            , process                    >= 1.0   &&   < 1.1
-            , test-framework             >= 0.3   &&   < 0.4
-            , test-framework-quickcheck2 >= 0.2.9 &&   < 0.3.0
+            , zlib-bindings              >= 0.1
+            , test-framework             >= 0.6   &&   < 0.7
+            , test-framework-quickcheck2 >= 0.2.12.1 &&   < 0.3.0
             , QuickCheck                 >= 2.4   &&   < 2.5
     else
         Buildable: False
