diff --git a/bencode.cabal b/bencode.cabal
--- a/bencode.cabal
+++ b/bencode.cabal
@@ -1,5 +1,5 @@
 Name:           bencode
-Version:        0.4
+Version:        0.5
 Maintainer:     Lemmih (lemmih@gmail.com)
 Author:         Lemmih (lemmih@gmail.com), Jesper Louis Andersen
 Copyright:      2005-2009, Lemmih
diff --git a/src/Data/BEncode.hs b/src/Data/BEncode.hs
--- a/src/Data/BEncode.hs
+++ b/src/Data/BEncode.hs
@@ -58,7 +58,7 @@
 {- | The B-coding defines an abstract syntax tree given as a simple
      data type here
 -}
-data BEncode = BInt Int
+data BEncode = BInt Integer
 	     | BString L.ByteString
 	     | BList [BEncode]
              | BDict (Map String BEncode)
@@ -83,7 +83,7 @@
 token' :: (Token -> Maybe a) -> BParser a
 token' = tokenPrim show updatePos
 
-tnumber :: BParser Int
+tnumber :: BParser Integer
 tnumber = token' fn
     where fn (TNumber i) = Just i
           fn _ = Nothing
diff --git a/src/Data/BEncode/Lexer.hs b/src/Data/BEncode/Lexer.hs
--- a/src/Data/BEncode/Lexer.hs
+++ b/src/Data/BEncode/Lexer.hs
@@ -9,7 +9,7 @@
     | TList
     | TInt
     | TString L.ByteString
-    | TNumber Int
+    | TNumber Integer
     | TEnd
       deriving (Show,Eq)
 
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
@@ -118,7 +118,7 @@
                      BString str -> return str
                      _ -> fail $ "Expected BString, found: " ++ show b
 
-bint :: BParser BEncode -> BParser Int
+bint :: BParser BEncode -> BParser Integer
 bint p = do b <- p
             case b of
               BInt int -> return int
