diff --git a/iteratee.cabal b/iteratee.cabal
--- a/iteratee.cabal
+++ b/iteratee.cabal
@@ -1,5 +1,5 @@
 name:          iteratee
-version:       0.3.4
+version:       0.3.5
 synopsis:      Iteratee-based I/O
 description:
   The IterateeGM monad provides strict, safe, and functional I/O. In addition
@@ -63,7 +63,7 @@
     containers            >= 0.2   && < 0.4,
     extensible-exceptions >= 0.1   && < 0.2,
     haskell98             >= 1     && < 2,
-    transformers          >= 0.1.4 && < 0.2
+    transformers          >= 0.2.0.0 && < 0.3
 
   exposed-modules:
     Data.Iteratee
@@ -116,4 +116,4 @@
 
 source-repository head
   type:     darcs
-  location: http://tanimoto.us/~jwlato/haskell/iteratee
+  location: http://tanimoto.us/~jwlato/haskell/iteratee-0.3
diff --git a/src/Data/Iteratee/Base.hs b/src/Data/Iteratee/Base.hs
--- a/src/Data/Iteratee/Base.hs
+++ b/src/Data/Iteratee/Base.hs
@@ -79,7 +79,8 @@
 import Data.Iteratee.IO.Base
 import Control.Monad
 import Control.Applicative
-import Control.Monad.Trans
+import Control.Monad.Trans.Class
+import Control.Monad.IO.Class
 import Data.Monoid
 import Data.Maybe (fromMaybe)
 
diff --git a/src/Data/Iteratee/Char.hs b/src/Data/Iteratee/Char.hs
--- a/src/Data/Iteratee/Char.hs
+++ b/src/Data/Iteratee/Char.hs
@@ -33,7 +33,7 @@
 import qualified Data.Iteratee.Base as Iter
 import Data.Iteratee.Base hiding (break)
 import Data.Char
-import Control.Monad.Trans
+import Control.Monad.IO.Class
 import qualified Data.ListLike as LL
 import Data.Monoid
 
diff --git a/src/Data/Iteratee/IO.hs b/src/Data/Iteratee/IO.hs
--- a/src/Data/Iteratee/IO.hs
+++ b/src/Data/Iteratee/IO.hs
@@ -30,7 +30,7 @@
 import Data.Iteratee.IO.Fd
 #endif
 
-import Control.Monad.Trans
+import Control.Monad.IO.Class
 
 -- If Posix is available, use the fileDriverRandomFd as fileDriverRandom.  Otherwise, use a handle-based variant.
 #if defined(USE_POSIX)
diff --git a/src/Data/Iteratee/IO/Fd.hs b/src/Data/Iteratee/IO/Fd.hs
--- a/src/Data/Iteratee/IO/Fd.hs
+++ b/src/Data/Iteratee/IO/Fd.hs
@@ -25,7 +25,7 @@
 import Data.Iteratee.IO.Base
 
 import Control.Monad
-import Control.Monad.Trans
+import Control.Monad.IO.Class
 
 import Foreign.Ptr
 import Foreign.ForeignPtr
diff --git a/src/Data/Iteratee/IO/Handle.hs b/src/Data/Iteratee/IO/Handle.hs
--- a/src/Data/Iteratee/IO/Handle.hs
+++ b/src/Data/Iteratee/IO/Handle.hs
@@ -23,7 +23,7 @@
 import Data.Int
 import Control.Exception.Extensible
 import Control.Monad
-import Control.Monad.Trans
+import Control.Monad.IO.Class
 
 import Foreign.Ptr
 import Foreign.ForeignPtr
