diff --git a/bencode.cabal b/bencode.cabal
--- a/bencode.cabal
+++ b/bencode.cabal
@@ -1,11 +1,11 @@
 Name: bencode
-Version: 0.1
+Version: 0.2
 Maintainer: Lemmih (lemmih@gmail.com)
 Author: Lemmih (lemmih@gmail.com), Jesper Louis Andersen
 Copyright: 2005-2007, Lemmih
 License-File: LICENSE
 License: BSD3
-Build-Depends: base, parsec
+Build-Depends: base, parsec, binary
 Category: Text
 Synopsis: Parser and printer for bencoded data.
 Tested-with: GHC ==6.6
diff --git a/src/Data/BEncode.hs b/src/Data/BEncode.hs
--- a/src/Data/BEncode.hs
+++ b/src/Data/BEncode.hs
@@ -46,9 +46,11 @@
 import Text.ParserCombinators.Parsec
 import qualified Data.ByteString.Char8 as BS
 import Data.ByteString (ByteString)
+import Data.Binary
 
 import Data.BEncode.Lexer ( Token (..), lexer )
 
+
 type BParser a = GenParser Token () a
 
 {- | The B-coding defines an abstract syntax tree given as a simple
@@ -59,6 +61,13 @@
 	     | BList [BEncode]
              | BDict (Map String BEncode)
 	       deriving (Eq, Ord, Show)
+
+instance Binary BEncode where
+    put e = put (BS.pack $ bShow e "")
+    get = do s <- get
+             case bRead s of
+               Just e  -> return e
+               Nothing -> fail "Failed to parse BEncoded data"
 
 -- Source possition is pretty useless in BEncoded data. FIXME
 updatePos :: (SourcePos -> Token -> [Token] -> SourcePos)
diff --git a/src/Data/BEncode/Parser.hs b/src/Data/BEncode/Parser.hs
--- a/src/Data/BEncode/Parser.hs
+++ b/src/Data/BEncode/Parser.hs
@@ -35,7 +35,7 @@
     , list
     , optional
     , bstring
-    , bfaststring
+    , bbytestring
     , bint
     , setInput
     , (<|>)
@@ -104,8 +104,8 @@
                  BString str -> return (BS.unpack str)
                  _ -> fail $ "Expected BString, found: " ++ show b
 
-bfaststring :: BParser BEncode -> BParser BS.ByteString
-bfaststring p = do b <- p
+bbytestring :: BParser BEncode -> BParser BS.ByteString
+bbytestring p = do b <- p
                    case b of
                      BString str -> return str
                      _ -> fail $ "Expected BString, found: " ++ show b
