diff --git a/Codec/Crypto/RSA.hs b/Codec/Crypto/RSA.hs
--- a/Codec/Crypto/RSA.hs
+++ b/Codec/Crypto/RSA.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -- |An implementation of RSA (PKCS #1) Cryptography, as described by the
 -- RSA standard and RFC 3447.
 module Codec.Crypto.RSA(
@@ -574,12 +576,14 @@
   | BS.length bstr <= len = [bstr]
   | otherwise             = (BS.take len bstr):(chunkify len $ BS.drop len bstr)
  
+#if !MIN_VERSION_random(1,0,1)
 instance Random Word8 where
   randomR (a,b) g = let aI::Int = fromIntegral a 
                         bI::Int = fromIntegral b
                         (x, g') = randomR (aI, bI) g
                     in (fromIntegral x, g')
   random          = randomR (minBound, maxBound)
+#endif
 
 generate_random_bytestring :: RandomGen g => g -> Int64 -> (ByteString, g)
 generate_random_bytestring g 0 = (BS.empty, g)
diff --git a/RSA.cabal b/RSA.cabal
--- a/RSA.cabal
+++ b/RSA.cabal
@@ -1,13 +1,13 @@
 name:       RSA
 category:   Cryptography, Codec
-version:    1.0.6.1
+version:    1.0.6.2
 license:    BSD3
 license-file: LICENSE
 author:     Adam Wick <awick@galois.com>
 maintainer: Adam Wick <awick@galois.com>
 stability:  stable
 build-type: Simple
-cabal-version: >= 1.2
+cabal-version: >= 1.6
 tested-with: GHC ==6.8.0
 synopsis: Implementation of RSA, using the padding schemes of PKCS#1 v2.1.
 description: This library implements the RSA encryption and signature 
@@ -17,9 +17,9 @@
              included are based of RFC 3447, or the Public-Key Cryptography
              Standard for RSA, version 2.1 (a.k.a, PKCS#1 v2.1).   
 
-Flag SkipTests
-  Default:     True
-  Description: Skip building the test program
+Flag test
+  Default:     False
+  Description: Building the test program
 
 Flag IncludeMD5
   Description: Include support for using MD5 in the various crypto routines.
@@ -27,18 +27,10 @@
 Flag UseBinary
   Description: Use the binary package for serializing keys.
 
-Flag QuickCheck1
-  Description: Whether this is QuickCheck 1 or not
-  Default:     False
-
 Flag OldBase
   Description: Whether or not to use base 3 (default: no)
   Default: False
 
-Flag HasArbitraryWord8
-  Description: Whether or not Arbitrary Word8 is defined by QuickCheck
-  Default: False
-
 Library
  build-depends: bytestring, random
  GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
@@ -59,26 +51,23 @@
  extensions: CPP, BangPatterns, ScopedTypeVariables
 
 Executable test_rsa
-  if flag(SkipTests)
-    Buildable: False
-  else
+  if flag(test)
     if flag(OldBase)
       build-depends: base >= 3 && < 4, SHA < 1.4.1
     else
       build-depends: base >= 4 && < 5, SHA
-    build-depends: bytestring, test-framework >= 0.3 && < 0.4
-    if flag(QuickCheck1)
-      build-depends: QuickCheck < 2, test-framework-quickcheck >= 0.2.6 && < 0.3
-      CPP-Options:   -DQUICKCHECK1
-    else
-      build-depends: test-framework-quickcheck2 >= 0.2.7 && < 0.3
-      if flag(HasArbitraryWord8)
-        build-depends: QuickCheck >= 2.1.2 && < 3
-        CPP-Options: -DQUICKCHECK_DEFINES_ARBITRARY_WORD8
-      else
-        build-depends: QuickCheck >= 2 && < 2.1.2
+    build-depends: bytestring, test-framework >= 0.3 && < 0.4,
+                   QuickCheck >= 2 && < 3,
+                   test-framework-quickcheck2 >= 0.2 && < 0.3
+  else
+    Buildable: False
   GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans 
   CPP-Options: -DRSA_TEST
   Main-Is: Test.hs
   Other-Modules: Codec.Crypto.RSA
   extensions: CPP, BangPatterns, ScopedTypeVariables
+
+source-repository head
+  type: git
+  location: git://code.galois.com/RSA.git
+
diff --git a/Test.hs b/Test.hs
--- a/Test.hs
+++ b/Test.hs
@@ -8,11 +8,7 @@
 import Test.QuickCheck
 
 import Test.Framework (defaultMain, testGroup, Test)
-#ifdef QUICKCHECK1
-import Test.Framework.Providers.QuickCheck (testProperty)
-#else
 import Test.Framework.Providers.QuickCheck2 (testProperty)
-#endif
 
 -- --------------------------------------------------------------------------
 
@@ -23,27 +19,17 @@
  deriving (Show)
 
 getRNGSeed :: Gen StdGen
-#ifdef QUICKCHECK1
-getRNGSeed  = rand
-#else
 getRNGSeed  = fmap mkStdGen arbitrary
-#endif
 
 instance Arbitrary KeyPair where
   arbitrary   = do g <- getRNGSeed
                    let (pub, priv, _) = generateKeyPair g 1024
                    return $ KP1K pub priv
-#ifdef QUICKCHECK1
-  coarbitrary = undefined
-#endif
 
 instance Arbitrary KeyPair2048 where
   arbitrary   = do g <- getRNGSeed
                    let (pub, priv, _) = generateKeyPair g 2048
                    return $ KP2K pub priv
-#ifdef QUICKCHECK1
-  coarbitrary = undefined
-#endif
 
 -- --------------------------------------------------------------------------
 
@@ -56,9 +42,6 @@
   arbitrary   = do g <- getRNGSeed
                    let (res, _) = large_random_prime g 64
                    return (LP res)
-#ifdef QUICKCHECK1
-  coarbitrary = undefined
-#endif
 
 -- --------------------------------------------------------------------------
 
@@ -69,9 +52,6 @@
 
 instance Arbitrary PositiveInteger where
   arbitrary   = (PI . (+1) . abs) `fmap` arbitrary
-#ifdef QUICKCHECK1
-  coarbitrary = undefined
-#endif
 
 -- --------------------------------------------------------------------------
 
@@ -80,25 +60,11 @@
 instance Show NonEmptyByteString where
   show (NEBS x) = show x
 
-#ifndef QUICKCHECK_DEFINES_ARBITRARY_WORD8
-instance Arbitrary Word8 where
-  arbitrary   = fromIntegral `fmap` (arbitrary::(Gen Int))
-# ifdef QUICKCHECK1
-  coarbitrary = undefined
-# endif
-#endif
-
 instance Arbitrary ByteString where
   arbitrary   = BS.pack `fmap` arbitrary
-#ifdef QUICKCHECK1
-  coarbitrary = undefined
-#endif
 
 instance Arbitrary NonEmptyByteString where
   arbitrary   = (NEBS . BS.pack) `fmap` (return(:)`ap`arbitrary`ap`arbitrary)
-#ifdef QUICKCHECK1
-  coarbitrary = undefined
-#endif
 
 -- --------------------------------------------------------------------------
 
@@ -115,18 +81,12 @@
     sha256' = bytestringDigest . sha256
     sha384' = bytestringDigest . sha384
     sha512' = bytestringDigest . sha512
-#ifdef QUICKCHECK1
-  coarbitrary = undefined
-#endif
 
 instance Show HashInfo where
   show h = "<hash: len=" ++ (show $ BS.length $ hashFunction h BS.empty) ++ ">"
 
 instance Arbitrary HashInfo where
   arbitrary   = elements [ha_SHA1, ha_SHA256, ha_SHA384, ha_SHA512]
-#ifdef QUICKCHECK1
-  coarbitrary = undefined
-#endif
 
 -- --------------------------------------------------------------------------
 
