diff --git a/Crypto/Random/AESCtr.hs b/Crypto/Random/AESCtr.hs
--- a/Crypto/Random/AESCtr.hs
+++ b/Crypto/Random/AESCtr.hs
@@ -23,6 +23,7 @@
 import Control.Applicative ((<$>))
 
 import Crypto.Random
+import System.Random (RandomGen(..))
 import System.Crypto.Random (getEntropy)
 import qualified Crypto.Cipher.AES as AES
 
@@ -30,7 +31,7 @@
 import qualified Data.ByteString as B
 
 import Data.Word
-import Data.Bits (xor)
+import Data.Bits (xor, (.&.))
 import Data.Serialize
 
 data Word128 = Word128 !Word64 !Word64
@@ -114,3 +115,16 @@
 			where
 				(r16, _)          = nextChunk rng
 				(key2, cnt2, iv2) = makeParams b
+
+instance RandomGen AESRNG where
+	next rng =
+		let (bs, rng') = nextChunk rng in
+		let (Word128 a _) = get128 bs in
+		let n = fromIntegral (a .&. 0x7fffffff) in
+		(n, rng')
+	split rng =
+		let (bs, rng') = genRandomBytes rng 64 in
+		case make bs of
+			Left _      -> error "assert"
+			Right rng'' -> (rng', rng'')
+	genRange _ = (0, 0x7fffffff)
diff --git a/cprng-aes.cabal b/cprng-aes.cabal
--- a/cprng-aes.cabal
+++ b/cprng-aes.cabal
@@ -1,5 +1,5 @@
 Name:                cprng-aes
-Version:             0.2.0
+Version:             0.2.1
 Description:         
     Simple crypto pseudo-random-number-generator with really good randomness property.
     .
@@ -33,6 +33,7 @@
 Library
   Build-Depends:     base >= 3 && < 5
                    , bytestring
+                   , random
                    , crypto-api >= 0.5
                    , cryptocipher >= 0.2.5 && < 0.3.0
                    , cereal >= 0.3.0 && < 0.4.0
