diff --git a/snaplet-sqlite-simple.cabal b/snaplet-sqlite-simple.cabal
--- a/snaplet-sqlite-simple.cabal
+++ b/snaplet-sqlite-simple.cabal
@@ -1,5 +1,5 @@
 name:           snaplet-sqlite-simple
-version:        0.4.8.3
+version:        1.0.0.0
 synopsis:       sqlite-simple snaplet for the Snap Framework
 description:    This snaplet provides support for using the SQLite
                 database with a Snap Framework application via the
@@ -20,6 +20,7 @@
 license-file:   LICENSE
 author:         Janne Hellsten, Doug Beardsley
 maintainer:     Janne Hellsten <jjhellst@gmail.com>
+          ,     Sergey Bushnyak <sergey.bushnyak@sigrlami.eu>  
 build-type:     Simple
 cabal-version:  >= 1.10
 homepage:       https://github.com/nurpax/snaplet-sqlite-simple
@@ -47,19 +48,21 @@
     Paths_snaplet_sqlite_simple
 
   build-depends:
-    aeson                      >= 0.6     && < 0.10,
     base                       >= 4       && < 5,
+    aeson                      >= 0.11.1.4,
     bytestring                 >= 0.9.1   && < 0.11,
     clientsession              >= 0.8     && < 0.10,
-    configurator               >= 0.2     && < 0.4,
-    lens                       >= 3.7.6   && < 5,
-    MonadCatchIO-transformers  >= 0.3     && < 0.4,
+    configurator               >= 0.3,
+    lifted-base                >= 0.2     && < 0.3,
+    monad-control              >= 1.0.1.0,
+    lens                       >= 4.0     && < 5,
     mtl                        >= 2       && < 3,
     sqlite-simple              >= 0.4.1   && < 1.0,
     direct-sqlite              >= 2.3.3   && < 2.4,
-    snap                       >= 0.13    && < 0.15,
-    text                       >= 0.11    && < 1.3,
-    transformers               >= 0.3     && < 0.5,
+    snap                       >= 1.0     && < 1.1,
+    text                       >= 1.2,
+    transformers               >= 0.4,
+    transformers-base          >= 0.4     && < 0.5,
     unordered-containers       >= 0.2     && < 0.3
 
 
@@ -80,28 +83,27 @@
   build-depends:
     aeson,
     HUnit                      >= 1.2      && < 2,
-    MonadCatchIO-transformers,
-    base,
-    bytestring,
+    exceptions                 >= 0.8,
+    base                       >= 4        && < 5,
+    bytestring                 >= 0.9      && < 0.11,
     clientsession,
-    configurator,
+    configurator               >= 0.3,
     containers                 >= 0.3,
     directory                  >= 1.0      && < 1.3,
-    errors                     >= 1.3.1    && < 1.5,
-    lens,
-    mtl,
-    SafeSemaphore,
+    errors                     >= 2.1.2,
+    lens                       >= 4.0     && < 5,
+    mtl                        >= 2,
     snap-core,
-    snap,
+    snap                       >= 1.0      && < 1.1,
     snaplet-sqlite-simple,
     sqlite-simple,
     stm                        >= 2.4,
     test-framework             >= 0.6      && < 0.9,
     test-framework-hunit       >= 0.2.7    && < 0.4,
-    text,
+    text                       >= 1.2,
     time                       >= 1.1,
-    transformers,
-    unordered-containers       >= 0.2     && < 0.3
+    transformers               >= 0.4,
+    unordered-containers       >= 0.2      && < 0.3
 
   default-extensions:
     FlexibleInstances
diff --git a/src/Snap/Snaplet/Auth/Backends/SqliteSimple.hs b/src/Snap/Snaplet/Auth/Backends/SqliteSimple.hs
--- a/src/Snap/Snaplet/Auth/Backends/SqliteSimple.hs
+++ b/src/Snap/Snaplet/Auth/Backends/SqliteSimple.hs
@@ -1,8 +1,8 @@
 {-# LANGUAGE BangPatterns      #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RecordWildCards   #-}
-{-# LANGUAGE FlexibleContexts  #-}
 {-# LANGUAGE ScopedTypeVariables   #-}
+{-# LANGUAGE FlexibleContexts      #-}
 
 {-|
 
@@ -39,9 +39,8 @@
   ) where
 
 ------------------------------------------------------------------------------
-import           Control.Applicative ((<$>), (<*>))
 import           Control.Concurrent
-import           Control.Lens ((^#))
+import           Control.Lens
 import           Control.Monad
 import           Control.Monad.IO.Class
 import qualified Data.Aeson as A
diff --git a/src/Snap/Snaplet/SqliteSimple.hs b/src/Snap/Snaplet/SqliteSimple.hs
--- a/src/Snap/Snaplet/SqliteSimple.hs
+++ b/src/Snap/Snaplet/SqliteSimple.hs
@@ -87,8 +87,8 @@
 import           Prelude hiding (catch)
 
 import           Control.Concurrent
-import           Control.Lens ((^#))
-import           Control.Monad.CatchIO hiding (Handler)
+import           Control.Lens
+import           Control.Monad.Base
 import           Control.Monad.IO.Class
 import           Control.Monad.State
 import           Control.Monad.Trans.Reader
@@ -120,7 +120,7 @@
 -- the sqlite snaplet in your application, then don't provide this instance
 -- and leverage the default instance by using \"@with dbLens@\" in front of calls
 -- to snaplet-sqlite-simple functions.
-class (MonadCatchIO m) => HasSqlite m where
+class (MonadBase IO m) => HasSqlite m where
     getSqliteState :: m Sqlite
 
 
@@ -136,14 +136,14 @@
 --
 -- > d <- nestSnaplet "db" db sqliteInit
 -- > count <- liftIO $ runReaderT (execute "INSERT ..." params) d
-instance (MonadCatchIO m) => HasSqlite (ReaderT (Snaplet Sqlite) m) where
+instance (MonadBase IO m) => HasSqlite (ReaderT (Snaplet Sqlite) m) where
     getSqliteState = asks (\sqlsnaplet -> sqlsnaplet ^# snapletValue)
 
 
 ------------------------------------------------------------------------------
 -- | A convenience instance to make it easier to use functions written for
 -- this snaplet in non-snaplet contexts.
-instance (MonadCatchIO m) => HasSqlite (ReaderT Sqlite m) where
+instance (MonadBase IO m) => HasSqlite (ReaderT Sqlite m) where
     getSqliteState = ask
 
 
@@ -191,7 +191,7 @@
 withSqlite f = do
     s <- getSqliteState
     let conn = sqliteConn s
-    liftIO $ withMVar conn f
+    liftBase $ withMVar conn f
 
 ------------------------------------------------------------------------------
 -- | See 'S.query'
@@ -214,7 +214,7 @@
 -- |
 --
 -- See also 'withSqlite' for notes on concurrent access.
-execute :: (HasSqlite m, ToRow q, MonadCatchIO m)
+execute :: (HasSqlite m, ToRow q)
         => S.Query -> q -> m ()
 execute template qs = withSqlite (\c -> S.execute c template qs)
 
@@ -223,6 +223,6 @@
 -- |
 --
 -- See also 'withSqlite' for notes on concurrent access.
-execute_ :: (HasSqlite m, MonadCatchIO m)
+execute_ :: (HasSqlite m)
          => S.Query -> m ()
 execute_ template = withSqlite (`S.execute_` template)
