diff --git a/Crypto/PBKDF2.hs b/Crypto/PBKDF2.hs
--- a/Crypto/PBKDF2.hs
+++ b/Crypto/PBKDF2.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveDataTypeable #-}
 {- | Implementation of Password Based Key Derivation Function, from RSA labs. 
 
 See PKCS # 5 / RFC 2898 from rsa labs: and haskell cafe discussion on why password hashing is a good idea for web apps and a suggestion that this be implemented: 
@@ -11,6 +12,8 @@
 
 import qualified Data.ByteString.Char8 as B
 import qualified Data.ByteString.Lazy as L
+import Data.Data (Data)
+import Data.Typeable (Typeable)
 import GHC.Word
 import Control.Monad (foldM)
 import Random
@@ -20,11 +23,11 @@
 import Data.Binary
 
 newtype Password = Password [Word8]
-  deriving (Read,Show,Ord,Eq)
+  deriving (Read,Show,Ord,Eq,Data,Typeable)
 newtype Salt = Salt [Word8]
-  deriving (Read,Show,Ord,Eq)
+  deriving (Read,Show,Ord,Eq,Data,Typeable)
 newtype HashedPass = HashedPass [Word8]
-  deriving (Read,Show,Ord,Eq)
+  deriving (Read,Show,Ord,Eq,Data,Typeable)
 
 
 t = pbkdf2 (Password . toOctets $ "blee") (Salt . toOctets $ "blah")
diff --git a/PBKDF2.cabal b/PBKDF2.cabal
--- a/PBKDF2.cabal
+++ b/PBKDF2.cabal
@@ -1,5 +1,5 @@
 Name: PBKDF2
-Version: 0.3
+Version: 0.3.1
 License: BSD3
 License-file: bsd3.txt
 Description: Implementation of Password-Based Key Derivation Function, aka pbkdf2, from RSA labs.
@@ -10,8 +10,18 @@
 Author: Thomas Hartman 
 Stability: Beta
 Copyright: Copyright (c) 2008 Thomas Hartman
-Exposed-Modules: Crypto.PBKDF2
-Build-Depends: base, bytestring, Crypto, haskell98, binary
 Category: Cryptography
 Build-type: Simple
+Cabal-version: >= 1.6
+
+Library
+  Build-Depends: base == 4.*, 
+                 bytestring, 
+                 Crypto, 
+                 haskell98, 
+                 binary
+  Exposed-Modules: Crypto.PBKDF2
+
+
+
 
