diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
 # yesod-recaptcha2
 
+![Hackage](https://img.shields.io/hackage/v/yesod-recaptcha2.svg)
+
 ~~~hs
 import Yesod.ReCaptcha2
 ~~~
diff --git a/src/Yesod/ReCaptcha2.hs b/src/Yesod/ReCaptcha2.hs
--- a/src/Yesod/ReCaptcha2.hs
+++ b/src/Yesod/ReCaptcha2.hs
@@ -3,11 +3,9 @@
 {-# LANGUAGE NamedFieldPuns    #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE QuasiQuotes       #-}
-{-# LANGUAGE TemplateHaskell   #-}
 module Yesod.ReCaptcha2 (YesodReCaptcha(..), reCaptcha, mReCaptcha) where
 
 import           ClassyPrelude.Yesod
-import           Data.Text           (append)
 import           Network.HTTP.Simple
 import           Yesod.Auth
 
@@ -20,7 +18,10 @@
     reCaptchaLanguage :: HandlerT site IO (Maybe Text)
     reCaptchaLanguage = pure Nothing
 
-data SiteverifyResponse = SiteverifyResponse { success :: Bool }
+newtype SiteverifyResponse
+    = SiteverifyResponse
+    { success :: Bool
+    }
     deriving (Eq, Ord, Read, Show, Generic, FromJSON, ToJSON)
 
 -- | for Applicative style form
@@ -35,10 +36,10 @@
   where formResult = do
             postParam <- lookupPostParam "g-recaptcha-response"
             case postParam of
-                Nothing -> return $ FormMissing
+                Nothing -> return FormMissing
                 Just response -> do
                     secret <- reCaptchaSecretKey
-                    s@SiteverifyResponse { success } <- liftIO $ do
+                    SiteverifyResponse{success} <- liftIO $ do
                         req <- parseRequest "POST https://www.google.com/recaptcha/api/siteverify"
                         res <- httpJSON $
                             setRequestBodyURLEncoded
@@ -52,12 +53,12 @@
             , fvTooltip = Nothing
             , fvId = ""
             , fvInput = do
-                    language <- handlerToWidget reCaptchaLanguage
-                    case language of
+                    mReCaptchaLanguage <- handlerToWidget reCaptchaLanguage
+                    case mReCaptchaLanguage of
                       Nothing ->
                         addScriptRemote "https://www.google.com/recaptcha/api.js"
-                      Just language ->
-                        addScriptRemote $ append "https://www.google.com/recaptcha/api.js?hl=" language
+                      Just hl ->
+                        addScriptRemote $ "https://www.google.com/recaptcha/api.js?hl=" <> hl
                     siteKey <- handlerToWidget reCaptchaSiteKey
                     [whamlet|<div .g-recaptcha data-sitekey=#{siteKey}>|]
             , fvErrors = Nothing
diff --git a/yesod-recaptcha2.cabal b/yesod-recaptcha2.cabal
--- a/yesod-recaptcha2.cabal
+++ b/yesod-recaptcha2.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           yesod-recaptcha2
-version:        0.2.0
+version:        0.2.1
 synopsis:       yesod recaptcha2
 description:    recaptcha2 for yesod-form
 category:       Web
@@ -32,7 +32,6 @@
     , classy-prelude-yesod
     , http-conduit
     , yesod-auth
-    , text
   exposed-modules:
       Yesod.ReCaptcha2
   default-language: Haskell2010
