diff --git a/Yesod/Text/Markdown.hs b/Yesod/Text/Markdown.hs
--- a/Yesod/Text/Markdown.hs
+++ b/Yesod/Text/Markdown.hs
@@ -8,35 +8,31 @@
 import Yesod.Core (RenderMessage)
 import Text.Hamlet (hamlet)
 import Yesod.Form
-import Yesod.Widget (toWidget)
+import Yesod.Core (HandlerSite)
+import Yesod.Core.Widget
+import Yesod.Persist
 import Data.Text (Text)
 import Data.Text.Lazy (toStrict, fromStrict)
 import Text.Markdown (Markdown (Markdown))
-import Database.Persist ()
-import Database.Persist.Store
+import Database.Persist.Sql
 
 instance PersistField Markdown where
   toPersistValue (Markdown t) = PersistText $ toStrict t
   fromPersistValue (PersistText t) = Right $ Markdown $ fromStrict t
   fromPersistValue _ = Left "Not a PersistText value"
-  sqlType _ = SqlString
-  isNullable _ = False
 
-instance ToField Markdown master where
-    toField = areq markdownField
-
-instance ToField (Maybe Markdown) master where
-    toField = aopt markdownField
+instance PersistFieldSql Markdown where
+    sqlType _ = SqlString
 
-markdownField :: RenderMessage master FormMessage => Field sub master Markdown
+markdownField :: (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m Markdown
 markdownField = Field
     { fieldParse = parseHelper $ Right . Markdown . fromStrict
     , fieldView = \theId name attrs val _isReq -> toWidget
         [hamlet|$newline never
 <textarea id="#{theId}" name="#{name}" *{attrs}>#{either id extractStrict val}
 |]
+   , fieldEnctype = UrlEncoded -- I choose UrlEncoded because textareaField is
      }
      where
         extractStrict :: Markdown -> Text
         extractStrict (Markdown lt) = toStrict lt
-
diff --git a/yesod-text-markdown.cabal b/yesod-text-markdown.cabal
--- a/yesod-text-markdown.cabal
+++ b/yesod-text-markdown.cabal
@@ -1,5 +1,5 @@
 name:                yesod-text-markdown
-version:             0.1.0.0
+version:             0.1.1
 synopsis:            Yesod support for Text.Markdown.
 description:         The contents of this package is t
                      use Text.Markdown in a typical yesod project, that is,
@@ -37,9 +37,10 @@
   exposed-modules:   Yesod.Text.Markdown
   build-depends:     base                 >= 4    && < 5
                    , markdown             >= 0.1  && < 1.0
-                   , yesod-core           >= 1.1  && < 2.0
-                   , yesod-form           >= 1.1  && < 2.0
-                   , persistent           >= 1.0  && < 2.0
+                   , yesod-core           >= 1.2  && < 2.0
+                   , yesod-form           >= 1.3  && < 2.0
+                   , yesod-persistent     >= 1.2  && < 2.0
+                   , persistent           >= 1.2  && < 2.0
                    , text                 >= 0.11 && < 1.0
                    , hamlet               >= 1.1  && < 2.0
   ghc-options: -Wall -fno-warn-orphans
