diff --git a/Web/Informative.hs b/Web/Informative.hs
--- a/Web/Informative.hs
+++ b/Web/Informative.hs
@@ -11,6 +11,7 @@
 import Data.Time.Clock
 import Data.Time.Format
 import Database.Persist.Sql
+import GHC.Int
 import System.Locale
 import Text.Cassius
 import Text.CSV
@@ -85,6 +86,25 @@
 toClassname = filter isAlphaNum . T.unpack
 remCR = filter (/=chr 13)
 
+renderShowArticle :: YesodWikiAuth master => [Entity Wikisugg] -> Bool -> (AuthRoute -> Route master) -> (Route Informative -> Route master) -> AuthResult -> Maybe Html -> [(Int,(Int64,Either Html [[Html]],TextKind))] -> [(Int64,T.Text,UTCTime)] -> T.Text -> HandlerT Informative (HandlerT master IO) Html
+renderShowArticle suggs loggedIn authR toParent mayEdit mmsg sects edits page = do
+  seg <- liftM getSegment getYesod
+  pref <- liftM getPrefix getYesod
+  lift $ wikiLayout $ do
+    setTitle $ toHtml page
+    toWidget $(hamletFile "informative.htm")
+    toWidget $(cassiusFile "informative.css")
+
+renderEditArticle :: YesodWikiAuth master => [Entity Wikisugg] -> Bool -> (AuthRoute -> Route master) -> (Route Informative -> Route master) -> Route master -> Maybe Html -> Maybe (Either Html [[Html]]) -> TextKind -> PageContent (Route master) -> T.Text -> HandlerT Informative (HandlerT master IO) Html
+renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page = do
+  seg <- liftM getSegment getYesod
+  pref <- liftM getPrefix getYesod
+  lift $ wikiLayout $ do
+    setTitle $ toHtml page
+    toWidget $ pageHead form
+    toWidget $(hamletFile "informative-edit.htm")
+    toWidget $(cassiusFile "informative.css")
+
 getArticleIdR :: Int -> WikiHandler Html
 getArticleIdR pageid = do
   seg <- liftM getSegment getYesod
@@ -109,10 +129,7 @@
   loggedIn <- lift isLoggedIn
   mmsg <- getMessage
   let sects = zip [1..] sects'
-  lift $ wikiLayout $ do
-    setTitle $ toHtml page
-    toWidget $(hamletFile "informative.htm")
-    toWidget $(cassiusFile "informative.css")
+  renderShowArticle suggs loggedIn authR toParent mayEdit mmsg sects edits page
 
 getArticleR :: T.Text -> WikiHandler Html
 getArticleR page = do
@@ -135,10 +152,7 @@
   loggedIn <- lift isLoggedIn
   mmsg <- getMessage
   let sects = zip [1..] sects'
-  lift $ wikiLayout $ do
-    setTitle $ toHtml page
-    toWidget $(hamletFile "informative.htm")
-    toWidget $(cassiusFile "informative.css")
+  renderShowArticle suggs loggedIn authR toParent mayEdit mmsg sects edits page
 
 data SectionData = SectionData {
   sdKind :: TextKind,
@@ -182,11 +196,7 @@
   (formw, enctype) <- lift $ generateFormPost $ editSectionForm $ liftM (\t -> SectionData kind (fmtNorm fmt) (fmtLang fmt) (fmtLine fmt) $ Textarea t) mprec
   form <- lift $ widgetToPageContent formw
   submitR <- return $ toParent $ EditR rid
-  lift $ wikiLayout $ do
-    setTitle $ toHtml page
-    toWidget $ pageHead form
-    toWidget $(hamletFile "informative-edit.htm")
-    toWidget $(cassiusFile "informative.css")
+  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page
 
 getInsertR :: Int -> WikiHandler Html
 getInsertR rid = do
@@ -211,11 +221,7 @@
   submitR <- return $ toParent $ InsertR rid
   msect <- return (Nothing :: Maybe (Either Html [[Html]]))
   kind <- return Article
-  lift $ wikiLayout $ do
-    setTitle $ toHtml page
-    toWidget $ pageHead form
-    toWidget $(hamletFile "informative-edit.htm")
-    toWidget $(cassiusFile "informative.css")
+  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page
 
 getPrependR :: Int -> WikiHandler Html
 getPrependR rid = do
@@ -240,11 +246,7 @@
   submitR <- return $ toParent $ PrependR rid
   msect <- return (Nothing :: Maybe (Either Html [[Html]]))
   kind <- return Article
-  lift $ wikiLayout $ do
-    setTitle $ toHtml page
-    toWidget $ pageHead form
-    toWidget $(hamletFile "informative-edit.htm")
-    toWidget $(cassiusFile "informative.css")
+  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page
 
 getCreateR :: T.Text -> WikiHandler Html
 getCreateR page = do
@@ -263,11 +265,7 @@
   submitR <- return $ toParent $ CreateR page
   msect <- return (Nothing :: Maybe (Either Html [[Html]]))
   kind <- return Article
-  lift $ wikiLayout $ do
-    setTitle $ toHtml page
-    toWidget $ pageHead form
-    toWidget $(hamletFile "informative-edit.htm")
-    toWidget $(cassiusFile "informative.css")
+  renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page
 
 postEditR :: Int -> WikiHandler Html
 postEditR rid = do
@@ -315,18 +313,10 @@
       mprec <- return $ Just c
       (widget,enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData k f lg ln $ Textarea c
       form <- lift $ widgetToPageContent widget
-      lift $ wikiLayout $ do
-        setTitle $ toHtml page
-        toWidget $ pageHead form
-        toWidget $(hamletFile "informative-edit.htm")
-        toWidget $(cassiusFile "informative.css")
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
     _ -> do
       form <- lift $ widgetToPageContent widget
-      lift $ wikiLayout $ do
-        setTitle $ toHtml page
-        toWidget $ pageHead form
-        toWidget $(hamletFile "informative-edit.htm")
-        toWidget $(cassiusFile "informative.css")
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page
 
 postInsertR :: Int -> WikiHandler Html
 postInsertR rid = do
@@ -378,18 +368,10 @@
       mprec <- return $ Just c
       (widget,enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData k f lg ln $ Textarea c
       form <- lift $ widgetToPageContent widget
-      lift $ wikiLayout $ do
-        setTitle $ toHtml page
-        toWidget $ pageHead form
-        toWidget $(hamletFile "informative-edit.htm")
-        toWidget $(cassiusFile "informative.css")
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
     _ -> do
       form <- lift $ widgetToPageContent widget
-      lift $ wikiLayout $ do
-        setTitle $ toHtml page
-        toWidget $ pageHead form
-        toWidget $(hamletFile "informative-edit.htm")
-        toWidget $(cassiusFile "informative.css")
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
 
 postPrependR :: Int -> WikiHandler Html
 postPrependR rid = do
@@ -441,18 +423,10 @@
       mprec <- return $ Just c
       (widget,enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData k f lg ln $ Textarea c
       form <- lift $ widgetToPageContent widget
-      lift $ wikiLayout $ do
-        setTitle $ toHtml page
-        toWidget $ pageHead form
-        toWidget $(hamletFile "informative-edit.htm")
-        toWidget $(cassiusFile "informative.css")
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
     _ -> do
       form <- lift $ widgetToPageContent widget
-      lift $ wikiLayout $ do
-        setTitle $ toHtml page
-        toWidget $ pageHead form
-        toWidget $(hamletFile "informative-edit.htm")
-        toWidget $(cassiusFile "informative.css")
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
 
 postCreateR :: T.Text -> WikiHandler Html
 postCreateR page = do
@@ -487,18 +461,10 @@
       mprec <- return $ Just c
       (widget,enctype) <- lift $ generateFormPost $ editSectionForm $ Just $ SectionData k f lg ln $ Textarea c
       form <- lift $ widgetToPageContent widget
-      lift $ wikiLayout $ do
-        setTitle $ toHtml page
-        toWidget $ pageHead form
-        toWidget $(hamletFile "informative-edit.htm")
-        toWidget $(cassiusFile "informative.css")
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
     _ -> do
-      form <- lift $ widgetToPageContent (if exists then [whamlet|<div .error>Page does already exist.|] else widget)
-      lift $ wikiLayout $ do
-        setTitle $ toHtml page
-        toWidget $ pageHead form
-        toWidget $(hamletFile "informative-edit.htm")
-        toWidget $(cassiusFile "informative.css")
+      form <- lift $ widgetToPageContent widget
+      renderEditArticle suggs loggedIn authR toParent submitR mmsg msect kind form page 
 
 postDownR :: Int -> WikiHandler Html
 postDownR rid = do
diff --git a/informative-edit.htm b/informative-edit.htm
--- a/informative-edit.htm
+++ b/informative-edit.htm
@@ -48,7 +48,7 @@
                   <td>#{c}
   <div .content>
     <p>
-      <form method=post action=@{submitR} enctype=#{enctype}>
+      <form method=post action=@{submitR}>
         ^{pageBody form}
         <button type="submit" name="action" value="save">Save
         <button type="submit" name="action" value="preview" default>Preview
diff --git a/informative.cabal b/informative.cabal
--- a/informative.cabal
+++ b/informative.cabal
@@ -10,7 +10,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.1.0.4
+version:             0.1.0.5
 
 -- A short (one-line) description of the package.
 synopsis:            A yesod subsite serving a wiki.
