diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -11,14 +11,13 @@
 import           Data.Ratio
 import           Data.Sequence                      (Seq)
 import qualified Data.Sequence                      as S
-import           Data.Text.Lazy                     (Text)
-import qualified Data.Text.Lazy                     as T
-import qualified Data.Text.Lazy.IO                  as T
+import           Data.Text                     (Text)
+import qualified Data.Text                     as T
+import qualified Data.Text.IO                  as T
 import           Distribution.PackageDescription.TH
 import qualified Graphics.Vty                       as Vty
 import           Graphics.Vty.Input.Events          hiding (Event)
 import           Graphics.Vty.Picture
-import           Language.Haskell.TH
 import           Pipes                              as P
 import           Pipes.Concurrent
 import qualified Pipes.Prelude                      as P
@@ -80,8 +79,24 @@
         putStrLn ""
         putStrLn "grep version: "
         runEffect (grepVersion >-> P.take 1 >-> P.map ("    " <>) >-> stdoutText)
-    printHelp = putStrLn helpText
-        where helpText = $(fmap (LitE . StringL) (runIO (readFile "help.txt")))
+    printHelp = T.putStrLn helpText
+
+helpText :: Text
+helpText = T.unlines
+    [ "vgrep, a pager for grep"
+    , ""
+    , "Usage:"
+    , "    as a drop-in replacement for `grep -r`:"
+    , "        vgrep [GREP_OPTION...] PATTERN [FILE]"
+    , ""
+    , ""
+    , "    at the end of a pipeline:"
+    , "        ... | vgrep [-nH] PATTERN"
+    , ""
+    , "    as a pager for `grep -nH` output:"
+    , "        grep -nH [GREP_OPTION...] PATTERN [FILE] | vgrep"
+    , ""
+    , "For documentation on grep options an patterns see `grep --help`." ]
 
 
 type MainWidget  = HSplitWidget Results Pager
diff --git a/src/Vgrep/Parser.hs b/src/Vgrep/Parser.hs
--- a/src/Vgrep/Parser.hs
+++ b/src/Vgrep/Parser.hs
@@ -8,9 +8,10 @@
     ) where
 
 import Control.Applicative
-import Data.Attoparsec.Text.Lazy
+import Data.Attoparsec.Text
 import Data.Maybe
-import Data.Text.Lazy
+import Data.Text            hiding (takeWhile)
+import Prelude              hiding (takeWhile)
 
 import Vgrep.Results
 
@@ -39,16 +40,18 @@
 -- >>> parseLine "foobar"
 -- Nothing
 parseLine :: Text -> Maybe FileLineReference
-parseLine line = maybeResult (parse lineParser line)
+parseLine line = case parseOnly lineParser line of
+    Left  _      -> Nothing
+    Right result -> Just result
 
 lineParser :: Parser FileLineReference
 lineParser = do
-    file       <- manyTill anyChar (char ':')
+    file       <- takeWhile (/= ':') <* char ':'
     lineNumber <- optional (decimal <* char ':')
-    result     <- takeLazyText
+    result     <- takeText
     pure FileLineReference
         { getFile = File
-            { getFileName = pack file }
+            { getFileName = file }
         , getLineReference = LineReference
             { getLineNumber = lineNumber
             , getLineText   = result } }
diff --git a/src/Vgrep/Results.hs b/src/Vgrep/Results.hs
--- a/src/Vgrep/Results.hs
+++ b/src/Vgrep/Results.hs
@@ -4,7 +4,7 @@
     , FileLineReference (..)
     ) where
 
-import Data.Text.Lazy (Text)
+import Data.Text (Text)
 
 
 newtype File = File
diff --git a/src/Vgrep/System/Grep.hs b/src/Vgrep/System/Grep.hs
--- a/src/Vgrep/System/Grep.hs
+++ b/src/Vgrep/System/Grep.hs
@@ -11,8 +11,8 @@
 import           Control.Monad
 import           Control.Monad.IO.Class
 import           Data.Maybe
-import           Data.Text.Lazy         (Text)
-import qualified Data.Text.Lazy         as T
+import           Data.Text         (Text)
+import qualified Data.Text         as T
 import           Pipes                  as P
 import qualified Pipes.Prelude          as P
 import           System.Environment     (getArgs)
diff --git a/src/Vgrep/Text.hs b/src/Vgrep/Text.hs
--- a/src/Vgrep/Text.hs
+++ b/src/Vgrep/Text.hs
@@ -11,8 +11,8 @@
 import           Control.Lens
 import           Control.Monad.Reader.Class
 import           Data.Char
-import           Data.Text.Lazy             (Text)
-import qualified Data.Text.Lazy             as T
+import           Data.Text             (Text)
+import qualified Data.Text             as T
 
 import Vgrep.Environment
 
diff --git a/src/Vgrep/Widget/Pager.hs b/src/Vgrep/Widget/Pager.hs
--- a/src/Vgrep/Widget/Pager.hs
+++ b/src/Vgrep/Widget/Pager.hs
@@ -20,8 +20,8 @@
 import           Data.Sequence        (Seq, (><))
 import qualified Data.Sequence        as Seq
 import qualified Data.Set             as Set
-import           Data.Text.Lazy       (Text)
-import qualified Data.Text.Lazy       as T
+import           Data.Text       (Text)
+import qualified Data.Text       as T
 import           Graphics.Vty.Image   hiding (resize)
 import           Graphics.Vty.Input
 import           Graphics.Vty.Prelude
diff --git a/src/Vgrep/Widget/Pager/Internal.hs b/src/Vgrep/Widget/Pager/Internal.hs
--- a/src/Vgrep/Widget/Pager/Internal.hs
+++ b/src/Vgrep/Widget/Pager/Internal.hs
@@ -15,7 +15,7 @@
 import Control.Lens
 import Data.Sequence  (Seq)
 import Data.Set       (Set)
-import Data.Text.Lazy (Text)
+import Data.Text (Text)
 
 
 -- | Keeps track of the lines of text to display, the current scroll
diff --git a/src/Vgrep/Widget/Results.hs b/src/Vgrep/Widget/Results.hs
--- a/src/Vgrep/Widget/Results.hs
+++ b/src/Vgrep/Widget/Results.hs
@@ -32,8 +32,8 @@
 import           Data.Foldable
 import           Data.Maybe
 import           Data.Monoid
-import           Data.Text.Lazy               (Text)
-import qualified Data.Text.Lazy               as T
+import           Data.Text               (Text)
+import qualified Data.Text               as T
 import           Graphics.Vty.Image           hiding ((<|>))
 import           Graphics.Vty.Input
 import           Graphics.Vty.Prelude
@@ -180,15 +180,15 @@
     justifyRight w s = T.justifyRight (fromIntegral w) ' ' (s <> " ")
 
     renderFileHeader :: Attr -> Text -> Image
-    renderFileHeader attr = text attr . padWithSpace width
+    renderFileHeader attr = text' attr . padWithSpace width
 
     renderLineNumber :: Attr -> Maybe Int -> Image
-    renderLineNumber attr = text attr
+    renderLineNumber attr = text' attr
                           . justifyRight lineNumberWidth
                           . maybe "" (T.pack . show)
 
     renderLineText :: Attr -> Text -> Image
-    renderLineText attr = text attr
+    renderLineText attr = text' attr
                         . padWithSpace (width - lineNumberWidth)
 
 
diff --git a/src/Vgrep/Widget/Results/Internal.hs b/src/Vgrep/Widget/Results/Internal.hs
--- a/src/Vgrep/Widget/Results/Internal.hs
+++ b/src/Vgrep/Widget/Results/Internal.hs
@@ -40,7 +40,7 @@
     , (|>)
     )
 import qualified Data.Sequence       as S
-import           Data.Text.Lazy      (Text)
+import           Data.Text      (Text)
 import           Prelude             hiding (reverse)
 
 import Vgrep.Results
diff --git a/test/Data/Text/Lazy/Testable.hs b/test/Data/Text/Lazy/Testable.hs
deleted file mode 100644
--- a/test/Data/Text/Lazy/Testable.hs
+++ /dev/null
@@ -1,9 +0,0 @@
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-module Data.Text.Lazy.Testable ( module Data.Text.Lazy ) where
-
-import Data.Text.Lazy
-import Test.Tasty.QuickCheck
-
-instance Arbitrary Text where
-    arbitrary = fmap pack arbitrary
-    shrink = fmap pack . shrink . unpack
diff --git a/test/Data/Text/Testable.hs b/test/Data/Text/Testable.hs
new file mode 100644
--- /dev/null
+++ b/test/Data/Text/Testable.hs
@@ -0,0 +1,9 @@
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+module Data.Text.Testable ( module Data.Text ) where
+
+import Data.Text
+import Test.Tasty.QuickCheck
+
+instance Arbitrary Text where
+    arbitrary = fmap pack arbitrary
+    shrink = fmap pack . shrink . unpack
diff --git a/test/Test/Vgrep/Widget/Pager.hs b/test/Test/Vgrep/Widget/Pager.hs
--- a/test/Test/Vgrep/Widget/Pager.hs
+++ b/test/Test/Vgrep/Widget/Pager.hs
@@ -4,8 +4,8 @@
 
 import           Control.Lens
 import qualified Data.Sequence           as S
-import           Data.Text.Lazy.Testable ()
-import qualified Data.Text.Lazy.Testable as T
+import           Data.Text.Testable ()
+import qualified Data.Text.Testable as T
 import           Test.Case
 import           Test.QuickCheck         as Q
 import           Test.QuickCheck.Monadic as Q
diff --git a/test/Vgrep/Widget/Pager/Testable.hs b/test/Vgrep/Widget/Pager/Testable.hs
--- a/test/Vgrep/Widget/Pager/Testable.hs
+++ b/test/Vgrep/Widget/Pager/Testable.hs
@@ -5,7 +5,7 @@
     ) where
 
 import Data.Sequence           as Seq (fromList)
-import Data.Text.Lazy.Testable ()
+import Data.Text.Testable ()
 import Test.QuickCheck
 
 import Vgrep.Widget.Pager
diff --git a/test/Vgrep/Widget/Results/Testable.hs b/test/Vgrep/Widget/Results/Testable.hs
--- a/test/Vgrep/Widget/Results/Testable.hs
+++ b/test/Vgrep/Widget/Results/Testable.hs
@@ -8,8 +8,8 @@
 import           Control.Monad
 import qualified Data.List       as List
 import qualified Data.Sequence   as Seq
-import           Data.Text.Lazy  (Text)
-import qualified Data.Text.Lazy  as Text
+import           Data.Text  (Text)
+import qualified Data.Text  as Text
 import           Test.QuickCheck
 
 import Vgrep.Widget.Results
diff --git a/vgrep.cabal b/vgrep.cabal
--- a/vgrep.cabal
+++ b/vgrep.cabal
@@ -1,5 +1,5 @@
 name:                vgrep
-version:             0.1.4.0
+version:             0.1.4.1
 synopsis:            A pager for grep
 description:         
   @vgrep@ is a pager for navigating through @grep@ output.
@@ -82,7 +82,6 @@
                      , pipes              >= 4.1.6
                      , pipes-concurrency  >= 2.0.3
                      , process            >= 1.2.3
-                     , template-haskell   >= 2.10
                      , text               >= 1.2.1.3
                      , unix               >= 2.7.1
                      , vgrep
@@ -93,7 +92,7 @@
   type:                exitcode-stdio-1.0
   hs-source-dirs:      test
   main-is:             Spec.hs
-  other-modules:       Data.Text.Lazy.Testable
+  other-modules:       Data.Text.Testable
                      , Test.Case
                      , Test.Vgrep.Widget
                      , Test.Vgrep.Widget.Pager
