diff --git a/Network/CommSec/KeyExchange.hs b/Network/CommSec/KeyExchange.hs
--- a/Network/CommSec/KeyExchange.hs
+++ b/Network/CommSec/KeyExchange.hs
@@ -33,7 +33,6 @@
 import Crypto.Cipher.AES128
 import Crypto.Classes
 import Crypto.Util
-import Crypto.Modes (zeroIV)
 import Crypto.Hash.CryptoAPI
 import Control.Exception (bracket)
 import Control.Monad
diff --git a/Network/CommSec/KeyExchange/Internal.hs b/Network/CommSec/KeyExchange/Internal.hs
--- a/Network/CommSec/KeyExchange/Internal.hs
+++ b/Network/CommSec/KeyExchange/Internal.hs
@@ -12,7 +12,6 @@
 import Crypto.Cipher.AES128
 import Crypto.Classes
 import Crypto.Util
-import Crypto.Modes (zeroIV)
 import Crypto.Hash.CryptoAPI
 import Control.Monad
 import Control.Monad.CryptoRandom
@@ -31,7 +30,7 @@
 
 -- For types
 import Network.CommSec hiding (accept, connect)
-import Network.CommSec.Package (InContext(..), OutContext(..))
+import Network.CommSec.Package (inContext, outContext, InContext, OutContext)
 
 -- |This prime is from RFC 5114 section 2.3
 thePrime :: Integer
@@ -62,14 +61,14 @@
         ax    = modexp theGenerator x thePrime
     return (x,ax)
 
-buildSigMessage :: AESKey -> PrivateKey -> Integer -> Integer -> ByteString
+buildSigMessage :: AESKey128 -> PrivateKey -> Integer -> Integer -> ByteString
 buildSigMessage aesKey privateMe ax ay =
     let publicMe = encode . sha256 . encode . private_pub $ privateMe
         mySig    = signExps ax ay privateMe
         plaintext = B.append publicMe mySig
     in fst . ctr aesKey zeroIV $ plaintext
 
-parseSigMessage :: AESKey -> [PublicKey] -> ByteString -> Integer -> Integer -> Maybe PublicKey
+parseSigMessage :: AESKey128 -> [PublicKey] -> ByteString -> Integer -> Integer -> Maybe PublicKey
 parseSigMessage aesKey thems enc ax ay =
     let (pubHash, theirSig) = B.splitAt (256 `div` 8)
                             . fst . unCtr aesKey zeroIV
@@ -113,11 +112,11 @@
             in (bk key1tmp, bk key2tmp, op salt1tmp, op salt2tmp)
         msg2     = buildSigMessage aesKey1 privateMe ay ax
         outCtr   = fromIntegral $ B.length msg2 `div` (blockSizeBytes `for` aesKey1)
-        outCtx   = Out outCtr  salt1 aesKey1
+        outCtx   = outContext outCtr salt1 aesKey1
     sendMsg sock (runPut $ put ay >> put msg2)
     encSaAxAy <- recvMsg sock
     let inCtr    = fromIntegral $ B.length encSaAxAy `div` (blockSizeBytes `for` aesKey2)
-        inCtx    = InStrict inCtr salt2 aesKey2
+        inCtx    = inContext inCtr salt2 aesKey2
     case parseSigMessage aesKey2 thems encSaAxAy ax ay of
         Just t  -> return (Just (t, outCtx, inCtx))
         Nothing -> return Nothing
@@ -163,9 +162,9 @@
             in (bk key1tmp, bk key2tmp, op salt1tmp, op salt2tmp)
         msg3     = buildSigMessage aesKey2 privateMe ax ay
         outCtr   = fromIntegral $ B.length msg3 `div` (blockSizeBytes `for` aesKey2)
-        outCtx   = Out outCtr salt2 aesKey2
+        outCtx   = outContext outCtr salt2 aesKey2
         inCtr    = fromIntegral $ B.length encSbAyAx `div` (blockSizeBytes `for` aesKey1)
-        inCtx    = InStrict inCtr salt1 aesKey1
+        inCtx    = inContext inCtr salt1 aesKey1
     case parseSigMessage aesKey1 thems encSbAyAx ay ax of
         Just t -> do
             sendMsg sock msg3
diff --git a/Test/test.hs b/Test/test.hs
--- a/Test/test.hs
+++ b/Test/test.hs
@@ -34,7 +34,7 @@
     connecter privB pubA
 
 listener priv pub = do
-    conn <- snd `fmap` accept port [pub] priv
+    conn <- snd `fmap` accept port [pub] priv Nothing
     recv conn >>= print
     send conn "Hello to you too!"
     return ()
diff --git a/commsec-keyexchange.cabal b/commsec-keyexchange.cabal
--- a/commsec-keyexchange.cabal
+++ b/commsec-keyexchange.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                commsec-keyexchange
-version:             0.3.1
+version:             0.3.2
 synopsis:            Key agreement for commsec.
 description:         Use RSA keys to authenticate a key exchange to
                      establish a commsec 'Connection'.  This package comes with
@@ -30,7 +30,7 @@
                        cipher-aes128,
                        crypto-api >= 0.12.2,
                        bytestring,
-                       commsec >= 0.3,
+                       commsec >= 0.3.5,
                        RSA,
                        cryptohash-cryptoapi,
                        DRBG >= 0.5,
