diff --git a/Yesod/PureScript.hs b/Yesod/PureScript.hs
--- a/Yesod/PureScript.hs
+++ b/Yesod/PureScript.hs
@@ -59,10 +59,11 @@
 import qualified Control.Concurrent as C
 import qualified Control.Concurrent.MVar as CM
 import qualified Data.Aeson.Types as AesonTypes
+import qualified Data.ByteString as BS
 import qualified Data.Default as DD
 import qualified Data.Map.Strict as M
 import qualified Data.Text as T
-import qualified Data.Text.Encoding as T
+import qualified Data.Text.Encoding as TE
 import qualified Data.Text.IO as TIO
 import qualified Data.Text.Lazy as TL
 import qualified Filesystem as FS
@@ -70,7 +71,6 @@
 import qualified Filesystem.Path.CurrentOS as FSPC
 import qualified Language.PureScript as P
 import qualified System.FSNotify as SFN
-import qualified System.IO.UTF8 as U
 
 
 import Yesod.PureScript.Data
@@ -257,14 +257,14 @@
         Left err -> do
             case ypsoErrorDivId (pssOptions me) of
                 Nothing -> do
-                    let errbs = T.encodeUtf8 err
+                    let errbs = TE.encodeUtf8 err
                     return (TypedContent "text/plain" (toContent errbs))
                 Just _id -> do
                     let _errtxt = TL.fromStrict err
                     let _errjs = createJavaScriptError (TL.fromStrict _id) _errtxt
                     return (TypedContent "text/javascript" (toContent _errjs))
         Right _js -> do
-            let _jsbs = T.encodeUtf8 _js
+            let _jsbs = TE.encodeUtf8 _js
             return (TypedContent "application/javascript" (toContent _jsbs))
 
 
@@ -387,7 +387,7 @@
 parseFile :: FSP.FilePath -> IO (Either Text [P.Module])
 parseFile fn = do
     let fns = FSPC.encodeString fn
-    fileContents <- U.readFile fns
+    fileContents <- T.unpack <$> TE.decodeUtf8 <$> BS.readFile fns
     let eem = case P.lex fns fileContents of
             Right _tokens -> P.runTokenParser fns P.parseModules _tokens
             Left _err -> Left _err
diff --git a/yesod-purescript.cabal b/yesod-purescript.cabal
--- a/yesod-purescript.cabal
+++ b/yesod-purescript.cabal
@@ -1,5 +1,5 @@
 name:                yesod-purescript
-version:             0.0.4.2
+version:             0.0.4.3
 synopsis:            PureScript integration for Yesod
 description:         PureScript is an awesome statically typed language that compiles to JS and runs in your browser, and this module makes it easier to use PureScript in Yesod.
 homepage:            https://github.com/mpietrzak/yesod-purescript
@@ -21,6 +21,7 @@
     other-modules: Yesod.PureScript.Data
     build-depends: aeson >= 0.8
                  , base >= 4 && < 5
+                 , bytestring
                  , containers
                  , data-default
                  , directory
@@ -28,7 +29,7 @@
                  , formatting
                  , fsnotify
                  , parsec
-                 , purescript >= 0.6.3 && < 0.7
+                 , purescript >= 0.6.4 && < 0.6.5
                  , regex-tdfa
                  , regex-tdfa-text
                  , shakespeare >= 2
@@ -38,7 +39,6 @@
                  , system-fileio
                  , template-haskell
                  , transformers
-                 , utf8-string
                  , yesod-core
     ghc-options: -Wall
 
