diff --git a/data-accessor-transformers.cabal b/data-accessor-transformers.cabal
--- a/data-accessor-transformers.cabal
+++ b/data-accessor-transformers.cabal
@@ -1,5 +1,5 @@
 Name:             data-accessor-transformers
-Version:          0.2.1
+Version:          0.2.1.1
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -9,7 +9,10 @@
 Category:         Data
 -- Portability:      Haskell98
 Build-Type:       Simple
-Build-Depends:    base>=1.0, data-accessor >=0.2 && <0.3, transformers >=0.0.1 && <0.2
+Build-Depends:
+  data-accessor >=0.2 && <0.4,
+  transformers >=0.2 && <0.3,
+  base >=1.0 && <6
 Synopsis:         Use Accessor to access state in transformers State monad
 Description:      Use Accessor to access state in transformers State monad
 GHC-Options:      -Wall
@@ -18,3 +21,5 @@
 Exposed-Modules:
   Data.Accessor.Monad.Trans.RWS
   Data.Accessor.Monad.Trans.State
+Other-Modules:
+  Data.Accessor.Monad.Trans.Example
diff --git a/src/Data/Accessor/Monad/Trans/Example.hs b/src/Data/Accessor/Monad/Trans/Example.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Accessor/Monad/Trans/Example.hs
@@ -0,0 +1,35 @@
+module Data.Accessor.Monad.Trans.Example where
+
+import Data.Accessor.Basic ((.>), )
+import Data.Accessor.Tuple (first, second, )
+
+import qualified Data.Accessor.Basic as Accessor
+
+import Data.Accessor.Monad.Trans.State ((%=), (%:), )
+import qualified Data.Accessor.Monad.Trans.State as AState
+import Control.Monad.Trans.State (State)
+
+import Prelude hiding (init)
+
+
+state :: State (Char,Int) Int
+state =
+   do AState.set first 'a'
+      AState.modify second succ
+      AState.get second
+
+stateInfix :: State ((Char, Int), String) Int
+stateInfix =
+   do str <- AState.get second
+      first.>first %= 'a'
+      first.>second %: succ
+      first.>first %= 'b'
+      second %= '!' : str
+      AState.get (first.>second)
+
+stateLift :: State (Int, (Bool, Char)) ()
+stateLift = do
+  first %= 42
+  AState.lift second $ do
+    first  %: not
+    second %= 'q'
diff --git a/src/Data/Accessor/Monad/Trans/RWS.hs b/src/Data/Accessor/Monad/Trans/RWS.hs
--- a/src/Data/Accessor/Monad/Trans/RWS.hs
+++ b/src/Data/Accessor/Monad/Trans/RWS.hs
@@ -3,9 +3,9 @@
 
 import qualified Data.Accessor.Basic as Accessor
 import qualified Control.Monad.Trans.RWS as RWS
-import qualified Control.Monad.Trans as Trans
+import qualified Control.Monad.Trans.Class as Trans
 import Control.Monad.Trans.RWS (RWS, runRWS, RWST(runRWST), )
-import Control.Monad.Trans (MonadTrans)
+import Control.Monad.Trans.Class (MonadTrans, )
 import Data.Monoid (Monoid)
 
 
diff --git a/src/Data/Accessor/Monad/Trans/State.hs b/src/Data/Accessor/Monad/Trans/State.hs
--- a/src/Data/Accessor/Monad/Trans/State.hs
+++ b/src/Data/Accessor/Monad/Trans/State.hs
@@ -3,9 +3,9 @@
 
 import qualified Data.Accessor.Basic as Accessor
 import qualified Control.Monad.Trans.State as State
-import qualified Control.Monad.Trans as Trans
+import qualified Control.Monad.Trans.Class as Trans
 import Control.Monad.Trans.State (State, runState, StateT(runStateT), )
-import Control.Monad.Trans (MonadTrans)
+import Control.Monad.Trans.Class (MonadTrans, )
 
 -- * accessors in the form of actions in the state monad
 
