diff --git a/snaplet-recaptcha.cabal b/snaplet-recaptcha.cabal
--- a/snaplet-recaptcha.cabal
+++ b/snaplet-recaptcha.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                snaplet-recaptcha
-version:             1.0.2
+version:             1.0.3
 synopsis:            A ReCAPTCHA verification snaplet with Heist integration and connection sharing.
 -- description:
 homepage:            http://github.com/mikeplus64/snaplet-recaptcha
@@ -25,7 +25,8 @@
                      , heist >= 0.14 && < 0.15
                      , snap >= 0.13 && < 0.15
                      , blaze-builder
-                     , MonadCatchIO-transformers
+                     , MonadCatchIO-transformers >= 0.3 && < 0.5
+                     , transformers
                      , mtl
                      , aeson
                      , bytestring
diff --git a/src/Snap/Snaplet/ReCaptcha.hs b/src/Snap/Snaplet/ReCaptcha.hs
--- a/src/Snap/Snaplet/ReCaptcha.hs
+++ b/src/Snap/Snaplet/ReCaptcha.hs
@@ -1,8 +1,5 @@
-{-# LANGUAGE DeriveDataTypeable    #-}
-{-# LANGUAGE FlexibleContexts      #-}
-{-# LANGUAGE MultiParamTypeClasses #-}
-{-# LANGUAGE OverloadedStrings     #-}
-{-# LANGUAGE TemplateHaskell       #-}
+{-# LANGUAGE DeriveDataTypeable, FlexibleContexts, MultiParamTypeClasses,
+             OverloadedStrings, TemplateHaskell #-}
 -- |
 -- Module      : Snap.Snaplet.ReCaptcha
 -- Copyright   : (c) Mike Ledger 2014
@@ -46,7 +43,9 @@
 import qualified Blaze.ByteString.Builder as Blaze
 import           Control.Applicative
 import           Control.Lens
+import           Control.Monad.IO.Class
 import           Control.Monad.Reader     (runReaderT)
+import           Control.Monad.State      (gets)
 
 import qualified Data.Aeson            as JSON
 import qualified Data.Aeson.TH         as JSON
diff --git a/src/Snap/Snaplet/ReCaptcha/Example.hs b/src/Snap/Snaplet/ReCaptcha/Example.hs
--- a/src/Snap/Snaplet/ReCaptcha/Example.hs
+++ b/src/Snap/Snaplet/ReCaptcha/Example.hs
@@ -1,6 +1,4 @@
-{-# LANGUAGE OverloadedStrings     #-}
-{-# LANGUAGE ScopedTypeVariables   #-}
-{-# LANGUAGE TemplateHaskell       #-}
+{-# LANGUAGE OverloadedStrings, ScopedTypeVariables, TemplateHaskell #-}
 
 -- | Provides example usage for "Snap.Snaplet.ReCaptcha".
 module Snap.Snaplet.ReCaptcha.Example
@@ -13,19 +11,21 @@
   , initBlog
   ) where
 
-import qualified Blaze.ByteString.Builder    as Blaze
+import qualified Blaze.ByteString.Builder as Blaze
 import           Heist
 import           Heist.Compiled
 
-import           Snap
-import           Snap.Snaplet.Heist.Compiled
-import           Snap.Snaplet.ReCaptcha
+import Snap
+import Snap.Snaplet.Heist.Compiled
+import Snap.Snaplet.ReCaptcha
 
-import           Control.Lens
+import Control.Applicative
+import Control.Lens
+import Control.Monad.Trans
 
-import qualified Data.ByteString.Char8       as BS
+import qualified Data.ByteString.Char8 as BS
 import           Data.Monoid
-import           Data.Text                   (Text)
+import           Data.Text             (Text)
 
 -- | Simple sample snaplet, built using 'ReCaptcha' in order to demonstrate how
 -- one might use it in the scenario of adding comments to a blog.
