diff --git a/example/Main.hs b/example/Main.hs
--- a/example/Main.hs
+++ b/example/Main.hs
@@ -93,25 +93,30 @@
 
 type ExampleAPI =
        Get '[HTML] ByteString
-  :<|> ReqBody '[FormUrlEncoded] LoginForm
+  :<|> "login" :> Get '[HTML] ByteString
+  :<|> "login" :> ReqBody '[FormUrlEncoded] LoginForm
        :> Post '[HTML] (Headers '[Header "set-cookie" ByteString] ByteString)
   :<|> "private" :> AuthProtect "cookie-auth" :> Get '[HTML] ByteString
 
 
 server :: Server ExampleAPI
-server = servePublicPage :<|> serveLogin :<|> servePrivatePage where
-
-  servePrivatePage (Account uid u p) = return $ render (privatePage uid u p)
+server = serveHome
+    :<|> serveLogin
+    :<|> serveLoginPost
+    :<|> servePrivate where
 
-  servePublicPage = return $ render (publicPage "")
+  serveHome = return $ render homePage
+  serveLogin = return $ render $ loginPage True
 
-  serveLogin form = case userLookup (username form) (password form) usersDB of
-    Nothing   -> return $ addHeader "" (render $ publicPage "Incorrect username/password")
+  serveLoginPost form = case userLookup (username form) (password form) usersDB of
+    Nothing   -> return $ addHeader "" (render $ loginPage False)
     Just uid' -> addSession 
                    authSettings
                    (Account uid' (username form) (password form))
-                   (render $ publicPage "You are logged in")
+                   (render $ redirectPage "/private")
 
+  servePrivate (Account uid u p) = return $ render (privatePage uid u p)
+
   render = toStrict . renderHtml
 
 
@@ -133,29 +138,56 @@
 
 pageMenu :: H.Html
 pageMenu = do
-  H.a ! A.href "/"        $ "public"
+  H.a ! A.href "/"        $ "home"
   _ <- " "
+  H.a ! A.href "/login"   $ "login"
+  _ <- " "
   H.a ! A.href "/private" $ "private"
   H.hr
 
-publicPage :: String -> H.Html
-publicPage message = H.docTypeHtml $ do
+
+homePage :: H.Html
+homePage = H.docTypeHtml $ do
   H.head $ do
-    H.title "public page"
+    H.title "home"
   H.body $ do
     pageMenu
-    H.form ! A.method "post" ! A.action "/" $ do
+    H.p "This is an example of using servant-auth-cookie library."
+    H.p "Use login page to get access to the private page."
+
+
+loginPage :: Bool -> H.Html
+loginPage firstTime = H.docTypeHtml $ do
+  H.head $ do
+    H.title "login"
+  H.body $ do
+    pageMenu
+    H.form ! A.method "post" ! A.action "/login" $ do
       H.input ! A.type_ "text"     ! A.name "username" >> H.br
       H.input ! A.type_ "password" ! A.name "password" >> H.br
       H.input ! A.type_ "submit"
-    when (length message > 0) $ H.p (H.toHtml message)
+    when (not firstTime) $ H.p "Incorrect username/password"
 
+
 privatePage :: Int -> String -> String -> H.Html
 privatePage uid username' password' = H.docTypeHtml $ do
   H.head $ do
-    H.title "private page"
+    H.title "private"
   H.body $ do
     pageMenu
     H.p $ H.b "ID: "       >> H.toHtml (show uid)
     H.p $ H.b "username: " >> H.toHtml username'
     H.p $ H.b "password: " >> H.toHtml password'
+
+
+redirectPage :: String -> H.Html
+redirectPage uri = H.docTypeHtml $ do
+  H.head $ do
+    H.title "redirecting..."
+    H.meta ! A.httpEquiv "refresh" ! A.content (H.toValue $ "1; url=" ++ uri)
+  H.body $ do
+    H.p "You are being redirected."
+    H.p $ do
+      "If your browser does not refresh the page click "
+      H.a ! A.href (H.toValue uri) $ "here"
+
diff --git a/servant-auth-cookie.cabal b/servant-auth-cookie.cabal
--- a/servant-auth-cookie.cabal
+++ b/servant-auth-cookie.cabal
@@ -1,5 +1,5 @@
 name:                servant-auth-cookie
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Authentication via encrypted cookies
 description:         Authentication via encrypted client-side cookies,
                      inspired by client-session library by Michael Snoyman and based on
@@ -21,7 +21,7 @@
 library
   exposed-modules:     
     Servant.Server.Experimental.Auth.Cookie
-  build-depends: base >=4.8 && <4.9
+  build-depends: base == 4.9.*
                , base64-bytestring
                , bytestring
                , cereal
@@ -31,7 +31,7 @@
                , memory
                , servant
                , servant-server
-               , time >=1.5 && <1.6
+               , time
                , transformers
                , wai
   hs-source-dirs:      src
@@ -41,11 +41,12 @@
 executable example
   main-is:             Main.hs
   other-extensions:    DataKinds, TypeFamilies, DeriveGeneric, TypeOperators
-  build-depends: base >=4.8 && <4.9
+  build-depends: base == 4.9.*
                , blaze-html
                , blaze-markup
                , bytestring
                , cereal
+               , mtl
                , http-media
                , servant
                , servant-auth-cookie
