diff --git a/Happstack/Authenticate/Core.hs b/Happstack/Authenticate/Core.hs
--- a/Happstack/Authenticate/Core.hs
+++ b/Happstack/Authenticate/Core.hs
@@ -88,6 +88,7 @@
     , GetUserByUsername(..)
     , GetUserByUserId(..)
     , GetUserByEmail(..)
+    , GetUsers(..)
     , GetUsersByEmail(..)
     , GetAuthenticateState(..)
     , getOrGenSharedSecret
@@ -576,6 +577,13 @@
     do us <- view users
        return $ getOne $ us @= userId
 
+-- | find all 'Users'
+--
+getUsers :: Query AuthenticateState (Set User)
+getUsers =
+    do us <- view users
+       return $ toSet $ us
+
 -- | look up a 'User' by their 'Email'
 --
 -- NOTE: if the email is associated with more than one account this will return 'Nothing'
@@ -610,6 +618,7 @@
     , 'deleteUser
     , 'getUserByUsername
     , 'getUserByUserId
+    , 'getUsers
     , 'getUserByEmail
     , 'getUsersByEmail
     , 'getAuthenticateState
diff --git a/Happstack/Authenticate/Password/Route.hs b/Happstack/Authenticate/Password/Route.hs
--- a/Happstack/Authenticate/Password/Route.hs
+++ b/Happstack/Authenticate/Password/Route.hs
@@ -55,6 +55,15 @@
              -> IO (Bool -> IO (), (AuthenticationMethod, AuthenticationHandler), RouteT AuthenticateURL (ServerPartT IO) JStat)
 initPassword passwordConfig basePath authenticateState authenticateConfig =
   do passwordState <- openLocalStateFrom (combine basePath "password") initialPasswordState
+     initPassword' passwordConfig passwordState basePath authenticateState authenticateConfig
+
+initPassword' :: PasswordConfig
+              -> AcidState PasswordState
+              -> FilePath
+              -> AcidState AuthenticateState
+              -> AuthenticateConfig
+              -> IO (Bool -> IO (), (AuthenticationMethod, AuthenticationHandler), RouteT AuthenticateURL (ServerPartT IO) JStat)
+initPassword' passwordConfig passwordState basePath authenticateState authenticateConfig =
      let shutdown = \normal ->
            if normal
            then createCheckpointAndClose passwordState
@@ -64,4 +73,4 @@
               langs        <- bestLanguage <$> acceptLanguage
               mapRouteT (flip runReaderT (langsOveride ++ langs)) $
                routePassword passwordConfig authenticateState authenticateConfig passwordState pathSegments
-     return (shutdown, (passwordAuthenticationMethod, authenticationHandler), usernamePasswordCtrl)
+     in pure (shutdown, (passwordAuthenticationMethod, authenticationHandler), usernamePasswordCtrl)
diff --git a/happstack-authenticate.cabal b/happstack-authenticate.cabal
--- a/happstack-authenticate.cabal
+++ b/happstack-authenticate.cabal
@@ -1,5 +1,5 @@
 Name:                happstack-authenticate
-Version:             2.4.1.1
+Version:             2.4.2
 Synopsis:            Happstack Authentication Library
 Description:         A themeable authentication library with support for username+password and OpenId.
 Homepage:            http://www.happstack.com/
