diff --git a/Data/LHE.hs b/Data/LHE.hs
--- a/Data/LHE.hs
+++ b/Data/LHE.hs
@@ -16,6 +16,8 @@
   RawEvent(..),
 ) where
 
+import qualified Data.ByteString.Char8 as S
+
 import Text.XML.HaXml.Parse (xmlParse)
 import Text.XML.HaXml.Types (Document(..), Element(..), Content(..), QName(..))
 
@@ -30,20 +32,20 @@
 
 parseEventFile :: String -> IO [Event]
 parseEventFile fname = do
-  readFile fname >>= return . parseEvents fname
+  S.readFile fname >>= return . parseEvents fname
 
-parseEvents :: String -> String -> [Event]
+parseEvents :: String -> S.ByteString -> [Event]
 parseEvents fname dat =
   let re = parseRawEvents fname dat in
     []
 
 parseRawEventFile :: String -> IO [RawEvent]
 parseRawEventFile fname = do
-  readFile fname >>= return . parseRawEvents fname
+  S.readFile fname >>= return . parseRawEvents fname
 
-parseRawEvents :: String -> String -> [RawEvent]
+parseRawEvents :: String -> S.ByteString -> [RawEvent]
 parseRawEvents fname dat =
-  let Document _ _ (Elem eName _ eList) _ = xmlParse fname dat in
+  let Document _ _ (Elem eName _ eList) _ = xmlParse fname (S.unpack dat) in
     map (getRawEvent . getElem) $ filter isEvent eList
   where
     isEvent (CElem (Elem (N "event") _ _) _) = True
diff --git a/lhe.cabal b/lhe.cabal
--- a/lhe.cabal
+++ b/lhe.cabal
@@ -6,7 +6,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.2.3
+Version:             0.3
 
 -- A short (one-line) description of the package.
 Synopsis:            Parser and writer for Les-Houches event files
@@ -47,7 +47,7 @@
   Exposed-modules:     Data.LHE
   
   -- Packages needed in order to build this package.
-  Build-depends: haskell2010 >= 1.0 , HaXml >= 1.22
+  Build-depends: haskell2010 >= 1.0 , HaXml >= 1.22, bytestring >= 0.9
   
   -- Modules not exported by this package.
   -- Other-modules:       
