diff --git a/control-monad-exception-monadstf.cabal b/control-monad-exception-monadstf.cabal
--- a/control-monad-exception-monadstf.cabal
+++ b/control-monad-exception-monadstf.cabal
@@ -1,6 +1,6 @@
 name: control-monad-exception-monadstf
-version: 0.9.1
-Cabal-Version:  >= 1.6
+version: 0.10.3
+Cabal-Version:  >= 1.10
 build-type: Simple
 license: PublicDomain
 author: Pepe Iborra
@@ -14,14 +14,15 @@
 bug-reports: http://github.com/pepeiborra/control-monad-exception/issues
 
 Library
+  default-language: Haskell98
   buildable: True 
   build-depends: base > 4 && < 5
-               , control-monad-exception >= 0.9.1
-               , transformers >= 0.1.0
+               , control-monad-exception >= 0.10.3
+               , transformers >= 0.2
                , monads-tf    >= 0.1
 
-  extensions:  ScopedTypeVariables, 
-               PackageImports,
+  default-extensions:  
+               ScopedTypeVariables, 
                MultiParamTypeClasses,
                TypeFamilies,
                FlexibleContexts,
diff --git a/extensions/Control/Monad/Exception/MonadsTF.hs b/extensions/Control/Monad/Exception/MonadsTF.hs
--- a/extensions/Control/Monad/Exception/MonadsTF.hs
+++ b/extensions/Control/Monad/Exception/MonadsTF.hs
@@ -1,5 +1,4 @@
 {-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE PackageImports #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE FlexibleInstances #-}
@@ -9,15 +8,12 @@
 module Control.Monad.Exception.MonadsTF (module Control.Monad.Exception, Control.Monad.Exception.catch
                                         ) where
 
-import qualified Control.Exception as CE
-
 import qualified Control.Monad.Exception
 import Control.Monad.Exception hiding (catch, Error)
 import Control.Monad.Exception.Catch
-import "monads-tf" Control.Monad.Cont.Class
-import "monads-tf" Control.Monad.RWS.Class
+import Control.Monad.Cont.Class
+import Control.Monad.RWS.Class
 
-import Control.Monad.IO.Class
 import Control.Monad.Trans.Class
 import Control.Monad.Trans.Error
 import Control.Monad.Trans.List
@@ -28,12 +24,6 @@
 
 import Data.Monoid
 import Prelude hiding (catch)
-
-instance (Throws SomeException l, MonadIO m) => MonadIO (EMT l m) where
-  liftIO m = EMT (liftIO m') where
-      m' = liftM Right m
-            `CE.catch`
-           \(e::SomeException) -> return (Left ([], CheckedException e))
 
 instance MonadCont m => MonadCont (EMT l m) where
   callCC f = EMT $ callCC $ \c -> unEMT (f (\a -> EMT $ c (Right a)))
