diff --git a/Text/Tabular/AsciiArt.hs b/Text/Tabular/AsciiArt.hs
--- a/Text/Tabular/AsciiArt.hs
+++ b/Text/Tabular/AsciiArt.hs
@@ -11,11 +11,14 @@
        -> Table rh ch a
        -> String
 render fr fc f (Table rh ch cells) =
-  unlines $ [ renderColumns sizes ch2
-            , concat $ renderHLine sizes ch2 DoubleLine
+  unlines $ [ bar SingleLine   -- +--------------------------------------+
+            , renderColumns sizes ch2
+            , bar DoubleLine   -- +======================================+
             ] ++
-            (renderRs $ fmap renderR $ zipHeader [] cells $ fmap fr rh)
+            (renderRs $ fmap renderR $ zipHeader [] cells $ fmap fr rh) ++
+            [ bar SingleLine ] -- +--------------------------------------+
  where
+  bar = concat . renderHLine sizes ch2
   -- ch2 and cell2 include the row and column labels
   ch2 = Group DoubleLine [Header "", fmap fc ch]
   cells2 = headerContents ch2
@@ -35,9 +38,9 @@
 renderColumns :: [Int] -- ^ max width for each column
               -> Header String
               -> String
-renderColumns is h =
-  concatMap helper $ flattenHeader $ zipHeader 0 is h
+renderColumns is h = "| " ++ coreLine ++ " |"
  where
+  coreLine = concatMap helper $ flattenHeader $ zipHeader 0 is h
   helper = either hsep (uncurry padLeft)
   hsep :: Properties -> String
   hsep NoLine     = " "
@@ -53,9 +56,9 @@
 renderHLine w h DoubleLine = [renderHLine' w '=' h]
 
 renderHLine' :: [Int] -> Char -> Header String -> String
-renderHLine' is sep h = concatMap helper
-                      $ flattenHeader $ zipHeader 0 is h
+renderHLine' is sep h = [ '+', sep ] ++ coreLine ++ [sep, '+']
  where
+  coreLine        = concatMap helper $ flattenHeader $ zipHeader 0 is h
   helper          = either vsep dashes
   dashes (i,_)    = replicate i sep
   vsep NoLine     = [sep]
diff --git a/tabular.cabal b/tabular.cabal
--- a/tabular.cabal
+++ b/tabular.cabal
@@ -1,5 +1,5 @@
 name:                tabular
-version:             0.2.2.0
+version:             0.2.2.1
 synopsis:            Two-dimensional data tables with rendering functions
 description:         Tabular provides a Haskell representation of two-dimensional
                      data tables, the kind that you might find in a spreadsheet or
@@ -24,8 +24,8 @@
 license:             BSD3
 license-file:        LICENSE
 author:              Eric Kow
-maintainer:          <E.Y.Kow@brighton.ac.uk>
-homepage:            http://code.haskell.org/~kowey/tabular
+maintainer:          Eric Kow <E.Y.Kow@brighton.ac.uk>
+homepage:            http://patch-tag.com/r/kowey/tabular
 build-Depends:       base >= 2.1 && < 3.1, mtl >= 1 && < 1.2,
                      csv  >= 0.1 && < 0.2,
                      html >= 1.0 && < 2.0
