diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,5 @@
 # Changelog
 
+## 0.17.0 - 25.02.2021
+
 ## 0.16.0 - 05.11.2020
diff --git a/morpheus-graphql-subscriptions.cabal b/morpheus-graphql-subscriptions.cabal
--- a/morpheus-graphql-subscriptions.cabal
+++ b/morpheus-graphql-subscriptions.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: cf18d3ec9c4893a697af764d63a2bd1467bfaf0502d3b88cbfd85d6c30977355
+-- hash: 40586929fbcd9a5ce62f2ead4671794c67d60abbc29dc992cf7bc859c5ee5735
 
 name:           morpheus-graphql-subscriptions
-version:        0.16.0
+version:        0.17.0
 synopsis:       Morpheus GraphQL Subscriptions
 description:    Build GraphQL APIs with your favourite functional language!
 category:       web, graphql, subscriptions
@@ -45,7 +45,8 @@
       aeson >=1.4.4.0 && <=1.6
     , base >=4.7 && <5
     , bytestring >=0.10.4 && <0.11
-    , morpheus-graphql-core >=0.16.0 && <0.17.0
+    , morpheus-graphql-app >=0.17.0 && <=0.18.0
+    , morpheus-graphql-core >=0.17.0 && <0.18.0
     , mtl >=2.0 && <=3.0
     , relude >=0.3.0
     , text >=1.2.3.0 && <1.3
@@ -69,7 +70,8 @@
     , base >=4.7 && <5
     , bytestring >=0.10.4 && <0.11
     , directory >=1.0
-    , morpheus-graphql-core >=0.16.0 && <0.17.0
+    , morpheus-graphql-app >=0.17.0 && <=0.18.0
+    , morpheus-graphql-core >=0.17.0 && <0.18.0
     , mtl >=2.0 && <=3.0
     , relude >=0.3.0
     , tasty
diff --git a/src/Data/Morpheus/Subscriptions.hs b/src/Data/Morpheus/Subscriptions.hs
--- a/src/Data/Morpheus/Subscriptions.hs
+++ b/src/Data/Morpheus/Subscriptions.hs
@@ -24,8 +24,9 @@
 import Control.Monad.IO.Unlift
   ( MonadUnliftIO,
   )
-import Data.Morpheus.Core
+import Data.Morpheus.App
   ( App,
+    MapAPI (..),
     runApp,
   )
 import Data.Morpheus.Subscriptions.Event
@@ -44,7 +45,6 @@
 import Data.Morpheus.Subscriptions.WebSockets
   ( webSocketsWrapper,
   )
-import Data.Morpheus.Types.IO (MapAPI (..))
 import Network.WebSockets
   ( ServerApp,
   )
diff --git a/src/Data/Morpheus/Subscriptions/ClientConnectionStore.hs b/src/Data/Morpheus/Subscriptions/ClientConnectionStore.hs
--- a/src/Data/Morpheus/Subscriptions/ClientConnectionStore.hs
+++ b/src/Data/Morpheus/Subscriptions/ClientConnectionStore.hs
@@ -31,8 +31,12 @@
 
 import Data.ByteString.Lazy.Char8 (ByteString)
 import qualified Data.HashMap.Lazy as HM
+import Data.Morpheus.App.Internal.Resolving
+  ( EventHandler (..),
+  )
 import Data.Morpheus.Internal.Utils
   ( Collection (..),
+    Empty (..),
     KeyOf (..),
   )
 import Data.Morpheus.Subscriptions.Apollo
@@ -40,9 +44,6 @@
   )
 import Data.Morpheus.Subscriptions.Event (Event (..))
 import Data.Morpheus.Types.IO (GQLResponse)
-import Data.Morpheus.Types.Internal.Resolving
-  ( EventHandler (..),
-  )
 import Data.UUID (UUID)
 import Relude hiding
   ( ByteString,
@@ -220,8 +221,10 @@
 instance KeyOf UUID (ClientConnection m) where
   keyOf = connectionId
 
-instance Collection (ClientConnection m) (ClientConnectionStore (Event ch con) m) where
+instance Empty (ClientConnectionStore (Event ch con) m) where
   empty = ClientConnectionStore empty HM.empty HM.empty
+
+instance Collection (ClientConnection m) (ClientConnectionStore (Event ch con) m) where
   singleton x = ClientConnectionStore (singleton x) HM.empty HM.empty
 
 mapConnections ::
diff --git a/src/Data/Morpheus/Subscriptions/Event.hs b/src/Data/Morpheus/Subscriptions/Event.hs
--- a/src/Data/Morpheus/Subscriptions/Event.hs
+++ b/src/Data/Morpheus/Subscriptions/Event.hs
@@ -9,7 +9,7 @@
   )
 where
 
-import Data.Morpheus.Types.Internal.Resolving
+import Data.Morpheus.App.Internal.Resolving
   ( EventHandler (..),
   )
 import Relude
diff --git a/src/Data/Morpheus/Subscriptions/Internal.hs b/src/Data/Morpheus/Subscriptions/Internal.hs
--- a/src/Data/Morpheus/Subscriptions/Internal.hs
+++ b/src/Data/Morpheus/Subscriptions/Internal.hs
@@ -45,7 +45,7 @@
   )
 -- MORPHEUS
 
-import Data.Morpheus.Core
+import Data.Morpheus.App
   ( App,
     runAppStream,
   )
diff --git a/src/Data/Morpheus/Subscriptions/Stream.hs b/src/Data/Morpheus/Subscriptions/Stream.hs
--- a/src/Data/Morpheus/Subscriptions/Stream.hs
+++ b/src/Data/Morpheus/Subscriptions/Stream.hs
@@ -24,6 +24,14 @@
 where
 
 import Data.ByteString.Lazy.Char8 (ByteString)
+import Data.Morpheus.App.Internal.Resolving
+  ( Channel,
+    ResponseEvent (..),
+    ResponseStream,
+    Result (..),
+    ResultT (..),
+    runResultT,
+  )
 import Data.Morpheus.Error
   ( globalErrorMessage,
   )
@@ -52,14 +60,6 @@
   ( GQLErrors,
     VALID,
     Value (..),
-  )
-import Data.Morpheus.Types.Internal.Resolving
-  ( Channel,
-    ResponseEvent (..),
-    ResponseStream,
-    Result (..),
-    ResultT (..),
-    runResultT,
   )
 import Data.UUID (UUID)
 import Relude hiding (ByteString)
