diff --git a/AWS/Class.hs b/AWS/Class.hs
--- a/AWS/Class.hs
+++ b/AWS/Class.hs
@@ -9,6 +9,7 @@
 module AWS.Class
     ( AWS
     , runAWS
+    , runAWS'
     , AWSException(..)
     , AWSContext(..)
     , getLastRequestId
@@ -104,6 +105,15 @@
     -> m a
 runAWS ctx cred app = do
     mgr <- liftIO $ HTTP.newManager HTTP.def
+    runAWS' mgr ctx cred app
+
+runAWS' :: Monad m
+    => HTTP.Manager
+    -> (HTTP.Manager -> c)
+    -> Credential
+    -> AWS c m a
+    -> m a
+runAWS' mgr ctx cred app =
     R.runReaderT
         (S.evalStateT (runAWST app) $ ctx mgr)
         cred
diff --git a/AWS/CloudWatch.hs b/AWS/CloudWatch.hs
--- a/AWS/CloudWatch.hs
+++ b/AWS/CloudWatch.hs
@@ -4,6 +4,7 @@
     ( -- * CloudWatch Environment
       CloudWatch
     , runCloudWatch
+    , runCloudWatch'
     , setRegion
     , apiVersion
       -- * Metric
@@ -33,6 +34,10 @@
 
 runCloudWatch :: MonadIO m => Credential -> CloudWatch m a -> m a
 runCloudWatch = runAWS initialCloudWatchContext
+
+runCloudWatch' :: Monad m
+    => HTTP.Manager -> Credential -> CloudWatch m a -> m a
+runCloudWatch' mgr = runAWS' mgr initialCloudWatchContext
 
 setRegion
     :: (MonadBaseControl IO m, MonadResource m)
diff --git a/AWS/EC2/Internal.hs b/AWS/EC2/Internal.hs
--- a/AWS/EC2/Internal.hs
+++ b/AWS/EC2/Internal.hs
@@ -6,6 +6,7 @@
     , EC2
     , initialEC2Context
     , runEC2
+    , runEC2'
     , itemConduit
     , itemsSet
     , resourceTagSink
@@ -43,6 +44,10 @@
 
 runEC2 :: MonadIO m => Credential -> AWS AWSContext m a -> m a
 runEC2 = runAWS initialEC2Context
+
+runEC2' :: Monad m
+    => HTTP.Manager -> Credential -> AWS AWSContext m a -> m a
+runEC2' mgr = runAWS' mgr initialEC2Context
 
 itemConduit :: MonadThrow m
     => Text
diff --git a/AWS/ELB.hs b/AWS/ELB.hs
--- a/AWS/ELB.hs
+++ b/AWS/ELB.hs
@@ -4,6 +4,7 @@
     ( -- * ELB Environment
       ELB
     , runELB
+    , runELB'
     , setRegion
     , apiVersion
       -- * LoadBalancer
@@ -33,6 +34,10 @@
 
 runELB :: MonadIO m => Credential -> ELB m a -> m a
 runELB = runAWS initialELBContext
+
+runELB' :: Monad m
+    => HTTP.Manager -> Credential -> ELB m a -> m a
+runELB' mgr = runAWS' mgr initialELBContext
 
 setRegion
     :: (MonadBaseControl IO m, MonadResource m)
diff --git a/AWS/RDS.hs b/AWS/RDS.hs
--- a/AWS/RDS.hs
+++ b/AWS/RDS.hs
@@ -4,6 +4,7 @@
     ( -- * RDS Environment
       RDS
     , runRDS
+    , runRDS'
     , setRegion
       -- * DBInstance
     , module AWS.RDS.DBInstance
@@ -47,6 +48,10 @@
 
 runRDS :: MonadIO m => Credential -> RDS m a -> m a
 runRDS = runAWS initialRDSContext
+
+runRDS' :: Monad m
+    => HTTP.Manager -> Credential -> RDS m a -> m a
+runRDS' mgr = runAWS' mgr initialRDSContext
 
 setRegion
     :: (MonadBaseControl IO m, MonadResource m)
diff --git a/aws-sdk.cabal b/aws-sdk.cabal
--- a/aws-sdk.cabal
+++ b/aws-sdk.cabal
@@ -1,5 +1,5 @@
 name:                aws-sdk
-version:             0.9.4
+version:             0.9.4.1
 synopsis:            AWS SDK for Haskell
 description: AWS (Amazon Web Services) sdk for Haskell.
              .
@@ -103,7 +103,7 @@
                      -fno-warn-unused-do-bind
   extensions: OverloadedStrings
   build-depends:     base >= 4 && < 5
-                   , containers <= 0.4.2.1
+                   , containers < 0.5.0.0
                    , SHA
                    , base64-bytestring >= 1.0.0.0
                    , bytestring
