diff --git a/src/Quasar/Awaitable.hs b/src/Quasar/Awaitable.hs
index 7c9cdba4fbffda81de90968fff910c3b1f61e927..dac3d2b7b8c33547c784f69e81b41726bc8a08c1 100644
--- a/src/Quasar/Awaitable.hs
+++ b/src/Quasar/Awaitable.hs
@@ -1,10 +1,12 @@
 module Quasar.Awaitable (
-  -- * Awaitable
+  -- * MonadAwaitable
   MonadAwait(..),
-  IsAwaitable(..),
-  Awaitable,
   awaitResult,
   peekAwaitable,
+
+  -- * Awaitable
+  IsAwaitable(..),
+  Awaitable,
   successfulAwaitable,
   failedAwaitable,
   completedAwaitable,
@@ -58,20 +60,6 @@ import Data.Sequence
 import Quasar.Prelude
 
 
-class IsAwaitable r a | a -> r where
-  runAwaitable :: (MonadQuerySTM m) => a -> m r
-  runAwaitable self = runAwaitable (toAwaitable self)
-
-  cacheAwaitable :: MonadIO m => a -> m (Awaitable r)
-  cacheAwaitable self = cacheAwaitable (toAwaitable self)
-
-  toAwaitable :: a -> Awaitable r
-  toAwaitable = Awaitable
-
-  {-# MINIMAL toAwaitable | (runAwaitable, cacheAwaitable) #-}
-
-
-
 class (MonadCatch m, MonadPlus m) => MonadAwait m where
   await :: IsAwaitable r a => a -> m r
 
@@ -95,6 +83,20 @@ peekAwaitable awaitable = liftIO $ runMaybeT $ runQueryT queryFn (runAwaitable a
     queryFn transaction = MaybeT $ atomically $ (Just <$> transaction) `orElse` pure Nothing
 
 
+
+class IsAwaitable r a | a -> r where
+  runAwaitable :: (MonadQuerySTM m) => a -> m r
+  runAwaitable self = runAwaitable (toAwaitable self)
+
+  cacheAwaitable :: MonadIO m => a -> m (Awaitable r)
+  cacheAwaitable self = cacheAwaitable (toAwaitable self)
+
+  toAwaitable :: a -> Awaitable r
+  toAwaitable = Awaitable
+
+  {-# MINIMAL toAwaitable | (runAwaitable, cacheAwaitable) #-}
+
+
 data Awaitable r = forall a. IsAwaitable r a => Awaitable a
 
 instance IsAwaitable r (Awaitable r) where
diff --git a/src/Quasar/Disposable.hs b/src/Quasar/Disposable.hs
index 2cac4d609e2b44c3920c8e3f623d11b1b9510ced..9cb1777d4a35c6c689efd056d241566286e133b9 100644
--- a/src/Quasar/Disposable.hs
+++ b/src/Quasar/Disposable.hs
@@ -8,19 +8,21 @@ module Quasar.Disposable (
   noDisposable,
   alreadyDisposing,
 
+  -- * MonadResourceManager
+  MonadResourceManager(..),
+  disposeEventually,
+  withOnResourceManager,
+  onResourceManager,
+
   -- ** ResourceManager
-  ResourceManager,
   IsResourceManager(..),
-  MonadResourceManager(..),
+  ResourceManager,
   withResourceManager,
-  withOnResourceManager,
   newResourceManager,
   unsafeNewResourceManager,
-  onResourceManager,
   attachDisposable,
   attachDisposeAction,
   attachDisposeAction_,
-  disposeEventually,
 
   -- * Task
   Task(..),