diff --git a/Heckle.hs b/Heckle.hs
--- a/Heckle.hs
+++ b/Heckle.hs
@@ -9,13 +9,6 @@
 import Text.Blaze.Html5.Attributes as A
 import Text.Blaze.Html.Renderer.Pretty
 
---Stuff for HaTeX
-import Text.LaTeX hiding (unlines)
-import Text.LaTeX.Base.Parser
-import Text.LaTeX.Base.Syntax
-import Data.Text (pack, unpack)
-import qualified Data.Text.IO as T
-
 --Stuff for TagSoup
 import Text.HTML.TagSoup
 
@@ -25,6 +18,7 @@
 --Pandoc
 import Text.Pandoc.Options
 import Text.Pandoc.Readers.Markdown
+import Text.Pandoc.Readers.LaTeX
 import Text.Pandoc.Definition
 import Text.Pandoc.Writers.HTML
 import Text.Pandoc.Shared
@@ -33,8 +27,8 @@
 import Data.List.Split
 import Data.Either
 import Control.Applicative
-import Data.Map.Lazy as Map (lookup)
 import Control.Monad
+import Data.Monoid
 
 instance Show Html where
   show = renderHtml
@@ -53,7 +47,6 @@
   ul ! A.id "blog-posts" $
     forM_ xs postToHtml
 
---DRY
 postToHtml :: Post -> Html
 postToHtml p = li ! class_ "blog-post" $ do
         a ! class_ "post-link" ! href (stringValue ("posts/"++fileName p++ext)) $ toHtml (postTitle p)
@@ -68,7 +61,7 @@
   fileName :: String
   , postTitle :: String
   , postDate :: DateTime
-  , syntaxTree :: LaTeX
+  , pd :: Pandoc
     }
   | MD {
   fileName :: String
@@ -81,14 +74,6 @@
 instance Ord Post where
   compare p1 p2 = compare (postDate p1) (postDate p2)
 
-extractFromArgs :: String -> [[TeXArg]] -> Either String Text
-extractFromArgs _ (((FixArg (TeXRaw s)):_):_) = Right s
-extractFromArgs s [] = Left ("Command not found: " ++ s)
-extractFromArgs s _ = Left ("Could not parse arguments passed to " ++ s ++ " command")
-
-getCommandValue :: String -> LaTeX -> Either String String
-getCommandValue s = (fmap unpack . extractFromArgs s . lookForCommand s) 
-
 {-
 Relative dates aren't supported by BlaTeX
 (it makes no sense for a post to always be written "yesterday", a specific date should be given)
@@ -109,31 +94,29 @@
   [] -> Left "Couldn't find it"
   (xs) -> Right (stringify xs)
 
-createMDPost :: Show a => String -> Either a Pandoc -> Either String Post
-createMDPost _ (Left e) = Left (show e)
-createMDPost fn (Right pd) = 
-  MD <$> pure fn <*> title <*> date <*> pure pd
+--Creates a post given a constructor for a post
+--The long function in the type signature is just
+--A constructor for a post (Either `LaTeX` or `MD`)
+createPost :: Show a =>
+     (String -> String -> DateTime -> Pandoc -> Post)
+     -> String -> Either a Pandoc -> Either String Post
+createPost _ _ (Left e) = Left (show e)
+createPost t fn (Right pd) = 
+  t <$> pure fn <*> title <*> date <*> pure pd
   where
     date = (getMeta docDate pd) >>= parseAbsoluteDate
     title = getMeta docTitle pd
---Make more DRY
-createLaTeXPost :: String -> Either ParseError LaTeX -> Either String Post
-createLaTeXPost _ (Left err) = Left (show err) -- Just `show` a ParseError to stick with Strings as error messages
-createLaTeXPost s (Right t) = 
-  LaTeX <$> pure s <*> title <*> date <*> pure t
-  where 
-    date = (getCommandValue "date" t) >>= parseAbsoluteDate -- Either monad
-    title = getCommandValue "title" t
 
 fileToPost :: String -> IO (Either String Post)
 fileToPost fn = 
   case splitOn "." fn of
     [fn, "pdf"] -> do
-      latexFile <- fmap (parseLaTeXWith (ParserConf ["verbatim", "minted"]) . pack) (readFile ("posts/"++fn++".tex"))
-      return (createLaTeXPost fn latexFile)
+      -- latexFile <- fmap (parseLaTeXWith (ParserConf ["verbatim", "minted"]) . pack) (readFile ("posts/"++fn++".tex"))
+      latexFile <- fmap (readLaTeX def) (readFile ("posts/" ++ fn ++ ".tex"))
+      return (createPost LaTeX fn latexFile)
     [fn, "md"] -> do
-      native <- fmap (readMarkdown def) (readFile ("posts/" ++ fn++".md"))
-      return (createMDPost fn native)
+      native <- fmap (readMarkdown def) (readFile ("posts/" ++ fn ++".md"))
+      return (createPost MD fn native)
     _ -> return (Left "Not a LaTeX or MD file")
 
 injectIndex :: String -> Html -> Either String String 
diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -14,6 +14,7 @@
       putStrLn "Reading directory and turning into native posts"
       postsToBeCreated <- mapM fileToPost =<< (getDirectoryContents "posts")
       let posts = (reverse . sort . rights) (postsToBeCreated)
+      putStrLn ("Number of posts found: " ++ (show (length posts)))
 
       putStrLn "Writing markdown files into template HTML"
       template <- readFile "template.html.hkl"
diff --git a/heckle.cabal b/heckle.cabal
--- a/heckle.cabal
+++ b/heckle.cabal
@@ -2,14 +2,9 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                heckle
-version:             2.0.0.2
-synopsis:            Jekyll in Haskell
-description:         Static site generator that lets you write your blog in LaTeX/MD and publish it to github pages.
-description:         Markdown and HTML are the standard tools used to write your every day tech blog with. But they have pretty weak support for embedding mathematical formulas, and are not conducive to writing for an extended period of time. Plus, they aren't even Turing complete! So use BlaTeX to start blogging in LaTeX! (Oh btw you can still use Markdown too tho lol).
-                     .
-                     BlaTeX is basically a static site generator (like Jekyll) that lets you write your blog in LaTeX (and MD), specify a layout file for the homepage, and publish it to github pages.
-                     .
-                     To get started, check out <https://github.com/2016rshah/BlaTeX#how-to>
+version:             2.0.0.3
+synopsis:            Jekyll in Haskell (feat. LaTeX)
+description:         A static site generator that supports LaTeX/PDF and Markdown/HTML posts. Care has been taken to make it configurable, easy to use, and unopinionated. 
 homepage:            https://github.com/2016rshah/heckle
 license:             MIT
 author:              Rushi Shah
@@ -23,18 +18,16 @@
   main-is:             Main.hs
   -- other-modules:       
   other-extensions:    OverloadedStrings
-  build-depends:       HaTeX >=3.17.0.1 && <3.18
-                     , base >=4.7 && <4.8
+  build-depends:     base >=4.7 && <4.8
                      , blaze-html >= 0.8.1.1
                      , directory >=1.2 && <1.3
                      , process >= 1.2.0.0
                      , split >=0.2 && <0.3
                      , tagsoup >= 0.13.3
-                     , text >=1.1 && <1.2
                      , dates >= 0.2.2.1
                      , pandoc >= 1.17.0.3
                      , pandoc-types >= 1.16.1
-                     , containers >= 0.5.5.1
+                     
   -- hs-source-dirs:      
   default-language:    Haskell2010
   other-modules:       Files
