diff --git a/Yesod/Auth/BCrypt.hs b/Yesod/Auth/BCrypt.hs
--- a/Yesod/Auth/BCrypt.hs
+++ b/Yesod/Auth/BCrypt.hs
@@ -8,6 +8,7 @@
 {-# LANGUAGE OverloadedStrings          #-}
 {-# LANGUAGE GADTs                      #-}
 {-# LANGUAGE CPP                        #-}
+{-# LANGUAGE MultiParamTypeClasses      #-}
 -------------------------------------------------------------------------------
 -- |
 -- Module      :  Yesod.Auth.BCrypt
@@ -65,8 +66,7 @@
     , authHashDB
     , getAuthIdHashDB
       -- * Predefined data type
-    , Siteuser
-    , SiteuserGeneric (..)
+    , Siteuser (..)
     , SiteuserId
     , EntityField (..)
     , migrateSiteusers
@@ -122,11 +122,10 @@
 -- | Given a user ID and password in plaintext, validate them against
 --   the database values.
 validateUser :: ( YesodPersist yesod
-                , b ~ YesodPersistBackend yesod
-                , PersistMonadBackend (b (HandlerT yesod IO)) ~ PersistEntityBackend siteuser
-                , PersistUnique (b (HandlerT yesod IO))
                 , PersistEntity siteuser
                 , HashDBUser    siteuser
+                , PersistEntityBackend siteuser ~ YesodPersistBackend yesod
+                , PersistUnique (YesodPersistBackend yesod)
                 ) => 
                 Unique siteuser     -- ^ User unique identifier
              -> Text            -- ^ Password in plaint-text
@@ -148,9 +147,8 @@
 --   username (whatever it might be) to unique user ID.
 postLoginR :: ( YesodAuth y, YesodPersist y
               , HashDBUser siteuser, PersistEntity siteuser
-              , b ~ YesodPersistBackend y
-              , PersistMonadBackend (b (HandlerT y IO)) ~ PersistEntityBackend siteuser
-              , PersistUnique (b (HandlerT y IO))
+              , PersistEntityBackend siteuser ~ YesodPersistBackend y
+              , PersistUnique (YesodPersistBackend y)
               )
            => (Text -> Maybe (Unique siteuser))
            -> HandlerT Auth (HandlerT y IO) TypedContent
@@ -173,9 +171,8 @@
 getAuthIdHashDB :: ( YesodAuth master, YesodPersist master
                    , HashDBUser siteuser, PersistEntity siteuser
                    , Key siteuser ~ AuthId master
-                   , b ~ YesodPersistBackend master
-                   , PersistMonadBackend (b (HandlerT master IO)) ~ PersistEntityBackend siteuser
-                   , PersistUnique (b (HandlerT master IO))
+                   , PersistEntityBackend siteuser ~ YesodPersistBackend master
+                   , PersistUnique (YesodPersistBackend master)
                    )
                 => (AuthRoute -> Route master)   -- ^ your site's Auth Route
                 -> (Text -> Maybe (Unique siteuser)) -- ^ gets user ID
@@ -202,9 +199,9 @@
 authHashDB :: ( YesodAuth m, YesodPersist m
               , HashDBUser siteuser
               , PersistEntity siteuser
-              , b ~ YesodPersistBackend m
-              , PersistMonadBackend (b (HandlerT m IO)) ~ PersistEntityBackend siteuser
-              , PersistUnique (b (HandlerT m IO)))
+              , PersistEntityBackend siteuser ~ YesodPersistBackend m
+              , PersistUnique (YesodPersistBackend m)
+              )
            => (Text -> Maybe (Unique siteuser)) -> AuthPlugin m
 authHashDB uniq = AuthPlugin "hashdb" dispatch $ \tm -> toWidget [hamlet|
 $newline never
@@ -243,6 +240,6 @@
     deriving Typeable
 |]
 
-instance HashDBUser (SiteuserGeneric backend) where
+instance HashDBUser Siteuser where
   siteuserPasswordHash = Just . siteuserPassword
   setSaltAndPasswordHash h u = u { siteuserPassword = h }
diff --git a/yesod-auth-bcrypt.cabal b/yesod-auth-bcrypt.cabal
--- a/yesod-auth-bcrypt.cabal
+++ b/yesod-auth-bcrypt.cabal
@@ -1,5 +1,5 @@
 name:            yesod-auth-bcrypt
-version:         0.1.1
+version:         0.2.0
 license:         MIT
 license-file:    LICENSE
 author:          Oliver Hunt
@@ -15,11 +15,11 @@
 library
     build-depends:   base                    >= 4         && < 5
                    , bytestring              >= 0.9.1.4   && < 0.11
-                   , yesod-core              >= 1.2       && < 1.3
-                   , text                    >= 0.7       && < 1.2
-                   , yesod-persistent        >= 1.2       && < 1.3
-                   , yesod-form              >= 1.3       && < 1.4
-                   , yesod-auth              >= 1.3       && < 1.4
+                   , yesod-core              >= 1.4       && < 1.5
+                   , text                    >= 0.7       && < 1.3
+                   , yesod-persistent        >= 1.4       && < 1.5
+                   , yesod-form              >= 1.4       && < 1.5
+                   , yesod-auth              >= 1.4       && < 1.5
                    , bcrypt                  >= 0.0.4     && < 0.1
 
     exposed-modules: Yesod.Auth.BCrypt
