diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Mallard
+# [Mallard](https://en.wikipedia.org/wiki/Mallard)
 
 No frills migration for relational databases. Usable as either an application or library.
 
diff --git a/app/Mallard.hs b/app/Mallard.hs
--- a/app/Mallard.hs
+++ b/app/Mallard.hs
@@ -20,7 +20,7 @@
 import qualified Hasql.Connection           as Sql
 import           Hasql.Options.Applicative
 import qualified Hasql.Pool                 as Pool
-import           Options.Applicative        hiding (Parser, runParser)
+import           Options.Applicative        hiding (Parser)
 import           Options.Applicative
 import           Options.Applicative.Text
 import           Path
@@ -68,7 +68,7 @@
             <> header "mallard - applies SQL database migrations." )
 
 parseRelOrAbsDir :: (MonadThrow m, MonadCatch m, MonadIO m) => FilePath -> m (Path Abs Dir)
-parseRelOrAbsDir file = parseAbsDir file `catch` (\(_::PathParseException) -> makeAbsolute =<< parseRelDir file)
+parseRelOrAbsDir file = parseAbsDir file `catch` (\(_::PathException) -> makeAbsolute =<< parseRelDir file)
 
 run :: (MonadIO m, MonadCatch m, MonadReader AppOptions m, MonadState AppState m, MonadThrow m) => m ()
 run = do
diff --git a/lib/Database/Mallard/File.hs b/lib/Database/Mallard/File.hs
--- a/lib/Database/Mallard/File.hs
+++ b/lib/Database/Mallard/File.hs
@@ -10,9 +10,9 @@
 import           Control.Lens
 import           Control.Monad.Catch
 import           Control.Monad.Reader
-import qualified Data.ByteString         as BS
 import           Data.Foldable
 import qualified Data.HashMap.Strict     as Map
+import qualified Data.Text.IO            as T
 import           Database.Mallard.Parser
 import           Database.Mallard.Types
 import           Path
@@ -39,7 +39,7 @@
 
 importFile' :: (MonadIO m, MonadThrow m) => Path Abs File -> m [Action]
 importFile' file = do
-    fileContent <- liftIO $ BS.readFile (toFilePath file)
+    fileContent <- liftIO $ T.readFile (toFilePath file)
     let parseResult = runParser parseActions (toFilePath file) fileContent
     case parseResult of
         Left er -> throw $ ParserException file er
diff --git a/lib/Database/Mallard/Parser.hs b/lib/Database/Mallard/Parser.hs
--- a/lib/Database/Mallard/Parser.hs
+++ b/lib/Database/Mallard/Parser.hs
@@ -21,11 +21,12 @@
 import           Data.Text                  (Text)
 import qualified Data.Text                  as T
 import qualified Data.Text.Encoding         as T
+import           Data.Void
 import           Database.Mallard.Types
 import           Path
 import           Text.Megaparsec            hiding (parseTest, tab)
-import           Text.Megaparsec.ByteString
-import qualified Text.Megaparsec.Lexer      as L
+import           Text.Megaparsec.Char       hiding (tab)
+import qualified Text.Megaparsec.Char.Lexer as L
 
 data Action
     = ActionMigration Migration
@@ -38,6 +39,8 @@
     = TextField Text
     | ListField [Text]
 
+type Parser = Parsec Void Text
+
 -- Lexer
 
 spaceConsumer :: Parser ()
@@ -45,31 +48,31 @@
     where
         space' = void (try spaceChar <|> char '-')
 
-symbol :: String -> Parser String
+symbol :: Text -> Parser Text
 symbol = L.symbol spaceConsumer
 
-symbol' :: String -> Parser String
+symbol' :: Text -> Parser Text
 symbol' = L.symbol' spaceConsumer
 
 brackets :: Parser a -> Parser a
 brackets = between (symbol "[") (symbol "]")
 
-comma :: Parser String
+comma :: Parser Text
 comma = symbol ","
 
-colon :: Parser String
+colon :: Parser Text
 colon = symbol ":"
 
-semiColon :: Parser String
+semiColon :: Parser Text
 semiColon = symbol ";"
 
-migrationS :: Parser String
+migrationS :: Parser Text
 migrationS = symbol' "migration"
 
-testS :: Parser String
+testS :: Parser Text
 testS = symbol' "test"
 
-sbang :: Parser String
+sbang :: Parser Text
 sbang = symbol "#!"
 
 sbangOrEof :: Parser ()
@@ -170,7 +173,7 @@
 data ParserException
     = ParserException
         { _peFile  :: (Path Abs File)
-        , _peError :: ParseError Char Dec
+        , _peError :: ParseError Char Void
         }
     deriving (Show)
 
@@ -180,6 +183,5 @@
 
         $tab$Line: $:sourceLine (NonEmpty.head (errorPos (_peError e)))$
         $tab$Column: $:sourceColumn (NonEmpty.head (errorPos (_peError e)))$
-        $tab$Expected: $:errorExpected (_peError e)$
-        $tab$Occurred: $:errorUnexpected (_peError e)$
+        $tab$Item: $:_peError e$
     |]
diff --git a/mallard.cabal b/mallard.cabal
--- a/mallard.cabal
+++ b/mallard.cabal
@@ -1,5 +1,5 @@
 name:               mallard
-version:            0.6.0.4
+version:            0.6.1.0
 synopsis:           Database migration and testing as a library.
 description:        Please see README.md
 homepage:           https://github.com/AndrewRademacher/mallard
@@ -44,7 +44,7 @@
                      , hasql-transaction
                      , Interpolation
                      , lens
-                     , megaparsec   <6
+                     , megaparsec   >= 6 && < 7
                      , mtl
                      , path
                      , path-io
