diff --git a/lazyio.cabal b/lazyio.cabal
--- a/lazyio.cabal
+++ b/lazyio.cabal
@@ -1,5 +1,5 @@
 Name:             lazyio
-Version:          0.0.2
+Version:          0.0.3
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -23,7 +23,7 @@
 Source-Repository this
   type:     darcs
   location: http://code.haskell.org/~thielema/lazyio/
-  tag:      0.0.2
+  tag:      0.0.3
 
 Flag splitBase
   description: Choose the new smaller, split-up base package.
@@ -33,11 +33,13 @@
   default:     False
 
 Library
-  Build-Depends: transformers >=0.0 && <0.2
+  Build-Depends: transformers >=0.2 && <0.3
   If flag(splitBase)
-    Build-Depends: base >= 2
+    Build-Depends: base >=2 && <5
   Else
-    Build-Depends: base >= 1.0 && < 2, special-functors >=1.0 && <1.1
+    Build-Depends:
+      special-functors >=1.0 && <1.1,
+      base >=1.0 && <2
 
   GHC-Options:      -Wall
   Hs-Source-Dirs:   src
diff --git a/src/System/IO/Lazy.hs b/src/System/IO/Lazy.hs
--- a/src/System/IO/Lazy.hs
+++ b/src/System/IO/Lazy.hs
@@ -42,7 +42,7 @@
    run,
    ) where
 
-import Control.Monad.Trans (MonadIO(liftIO), )
+import Control.Monad.IO.Class (MonadIO(liftIO), )
 import Control.Monad.Trans.State (StateT(StateT), mapStateT, evalStateT, {- runStateT, -} )
 import Control.Monad (ap, {- liftM2, -} )
 import Control.Applicative (Applicative(pure, (<*>)), )
diff --git a/src/System/IO/Lazy/Applicative.hs b/src/System/IO/Lazy/Applicative.hs
--- a/src/System/IO/Lazy/Applicative.hs
+++ b/src/System/IO/Lazy/Applicative.hs
@@ -2,7 +2,6 @@
 
 import qualified Data.ApplicativeChain as Chain
 import Control.Applicative (Applicative(pure, (<*>)), )
--- import Control.Monad.Trans (MonadIO(liftIO), )
 import Control.Monad (liftM2, )
 import System.IO.Unsafe (unsafeInterleaveIO, )
 
diff --git a/src/Test/Main.hs b/src/Test/Main.hs
--- a/src/Test/Main.hs
+++ b/src/Test/Main.hs
@@ -2,7 +2,7 @@
 
 import qualified System.IO.Lazy as LazyIO
 import qualified System.IO as IO
-import Control.Monad.Trans (MonadIO(liftIO), )
+import Control.Monad.IO.Class (MonadIO(liftIO), )
 import Control.Monad.Trans.Reader (ReaderT, runReaderT, asks, )
 
 import Control.Monad (liftM2, )
