diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -50,8 +50,16 @@
 
 ## Installation
 
+### Using cabal and Hackage
+
     cabal update
     cabal install pandoc-placetable
+
+### Using stack
+
+    git clone git@github.com:mb21/pandoc-placetable.git
+    cd pandoc-placetable
+    stack install
 
 When compiled with the `inlineMarkdown` flag, the `inlinemarkdown=yes`option is available to
 have CSV and the caption be interpreted as markdown. Note that the flag causes Pandoc to be
diff --git a/pandoc-placetable.cabal b/pandoc-placetable.cabal
--- a/pandoc-placetable.cabal
+++ b/pandoc-placetable.cabal
@@ -1,5 +1,5 @@
 Name:                 pandoc-placetable
-Version:              0.3
+Version:              0.4
 Build-Type:           Simple
 Synopsis:             Pandoc filter to include CSV files
 Description:          A Pandoc filter that replaces code blocks (that have the class `table`)
diff --git a/pandoc-placetable.hs b/pandoc-placetable.hs
--- a/pandoc-placetable.hs
+++ b/pandoc-placetable.hs
@@ -116,7 +116,7 @@
               Just e  -> [["Error parsing CSV: " ++ e]]
     (headers, rows) = if header && length rows' > 0
                          then (head rows', tail rows')
-                         else ([], rows')
+                         else (replicate nrCols [], rows')
     nrCols  = if null rows'
                  then 0
                  else length $ head rows'
@@ -137,7 +137,9 @@
                  Right (Pandoc _ bs) -> fromList $ extractIns $ head bs
                  Left e -> str $ show e
          else
-           str s
+           if null s
+              then mempty
+              then str s
 
     strToBlocks s =
       if inlinemd
@@ -148,6 +150,7 @@
          else
            plain $ str s
 #else
+    strToInlines [] = mempty
     strToInlines s = str s
     strToBlocks  s = plain $ str s
 #endif
