diff --git a/library/Potoki/Transform.hs b/library/Potoki/Transform.hs
--- a/library/Potoki/Transform.hs
+++ b/library/Potoki/Transform.hs
@@ -22,6 +22,7 @@
   -- * Concurrency
   N.bufferize,
   N.concurrently,
+  N.async,
   -- * File IO
   deleteFile,
   appendBytesToFile,
diff --git a/library/Potoki/Transform/Concurrency.hs b/library/Potoki/Transform/Concurrency.hs
--- a/library/Potoki/Transform/Concurrency.hs
+++ b/library/Potoki/Transform/Concurrency.hs
@@ -2,6 +2,7 @@
 (
   bufferize,
   concurrently,
+  async,
 )
 where
 
@@ -81,3 +82,15 @@
             Nothing -> do
               putMVar activeWorkersAmountVar (pred activeWorkersAmount)
               loop
+
+{-|
+A transform, which fetches the inputs asynchronously on the specified number of threads.
+-}
+async :: Int -> Transform input input
+async workersAmount =
+  Transform $ \ (A.Fetch fetchIO) -> do
+    chan <- newEmptyMVar 
+    replicateM_ workersAmount $ forkIO $ fix $ \ loop -> do
+      fetchResult <- fetchIO Nothing Just
+      putMVar chan fetchResult
+    return (A.finiteMVar chan)
diff --git a/potoki.cabal b/potoki.cabal
--- a/potoki.cabal
+++ b/potoki.cabal
@@ -1,7 +1,7 @@
 name:
   potoki
 version:
-  0.7.2
+  0.7.3
 synopsis:
   Simple streaming in IO
 description:
