diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+# 0.5.3.1
+
+* `acquireWithStripes` renamed to `aquireWith` and allows specifying a custom `ConnectionGetter`.
+
+
 # 0.5.3
 
 Initial release as a new package. The implementation is based on `hasql-pool` v0.5.2.2
diff --git a/hasql-resource-pool.cabal b/hasql-resource-pool.cabal
--- a/hasql-resource-pool.cabal
+++ b/hasql-resource-pool.cabal
@@ -1,7 +1,7 @@
 name:
   hasql-resource-pool
 version:
-  0.5.3.0
+  0.5.3.1
 category:
   Hasql, Database, PostgreSQL
 synopsis:
@@ -76,5 +76,5 @@
   build-depends:
     base-prelude,
     hasql,
-    hasql-pool,
+    hasql-resource-pool,
     hspec >= 2.6 && < 3
diff --git a/library/Hasql/Pool.hs b/library/Hasql/Pool.hs
--- a/library/Hasql/Pool.hs
+++ b/library/Hasql/Pool.hs
@@ -3,7 +3,7 @@
 ,   Settings(..)
 ,   UsageError(..)
 ,   acquire
-,   acquireWithStripes
+,   acquireWith
 ,   release
 ,   use
 ,   useWithObserver
@@ -33,6 +33,10 @@
 type ResidenceTimeout = NominalDiffTime
 
 -- |
+-- Connection getter action that allows for obtaining Postgres connection settings via external rsources such as AWS tokens etc.
+type ConnectionGetter = IO (Either Hasql.Connection.ConnectionError Hasql.Connection.Connection)
+
+-- |
 -- Settings of the connection pool. Consist of:
 --
 -- * Pool-size.
@@ -50,20 +54,22 @@
 -- Given the pool-size, timeout and connection settings
 -- create a connection-pool.
 acquire :: Settings -> IO Pool
-acquire =
-    acquireWithStripes stripes
+acquire settings@(_size, _timeout, connectionSettings) =
+    acquireWith stripes (Hasql.Connection.acquire connectionSettings) settings
     where
         stripes = 1
 
 
-acquireWithStripes :: PoolStripes
-                   -> Settings
-                   -> IO Pool
-acquireWithStripes stripes (size, timeout, connectionSettings) =
+-- |
+-- Similar to 'acquire', allows for finer configuration.
+acquireWith :: PoolStripes
+            -> ConnectionGetter
+            -> Settings
+            -> IO Pool
+acquireWith stripes connGetter (size, timeout, connectionSettings) =
     fmap Pool $
-        ResourcePool.createPool acquire release stripes timeout size
+        ResourcePool.createPool connGetter release stripes timeout size
     where
-        acquire = Hasql.Connection.acquire connectionSettings
         release = either (const (pure ())) Hasql.Connection.release
 
 
