diff --git a/src/Yam/App/Context.hs b/src/Yam/App/Context.hs
--- a/src/Yam/App/Context.hs
+++ b/src/Yam/App/Context.hs
@@ -18,7 +18,6 @@
 
 import qualified Control.Concurrent.Map as M
 import           Data.Dynamic
-import           System.Exit
 
 type YamExtension = M.Map Text Dynamic
 
@@ -75,4 +74,6 @@
 unlockExtenstion = setExtension extensionLockKey False
 
 cleanContext :: (MonadYamLogger m, HasYamContext m, MonadMask m)  => m () -> m ()
-cleanContext action = unlockExtenstion >> action `finally` (liftIO exitSuccess)
+cleanContext action = do
+  debugLn $ "Clean up context"
+  unlockExtenstion `finally` action
diff --git a/src/Yam/Prop.hs b/src/Yam/Prop.hs
--- a/src/Yam/Prop.hs
+++ b/src/Yam/Prop.hs
@@ -20,15 +20,14 @@
 
 import           Yam.Import
 
-import           Control.Monad.Except (ExceptT (..), runExceptT)
-import           Data.Aeson           (Result (..), fromJSON)
+import           Data.Aeson          (Result (..), fromJSON)
 import           Data.Aeson.Types
-import qualified Data.HashMap.Strict  as M
-import           Data.List            (foldl')
-import qualified Data.Text            as T
+import qualified Data.HashMap.Strict as M
+import           Data.List           (foldl')
+import qualified Data.Text           as T
 import           Data.Yaml
-import           System.Directory     (doesFileExist, getFileSize)
-import           System.Environment   (getArgs, getEnvironment)
+import           System.Directory    (doesFileExist, getFileSize)
+import           System.Environment  (getArgs, getEnvironment)
 
 type PropertySource = (Text, Value)
 
diff --git a/src/Yam/Transaction.hs b/src/Yam/Transaction.hs
--- a/src/Yam/Transaction.hs
+++ b/src/Yam/Transaction.hs
@@ -26,7 +26,6 @@
 
 import           Yam.Import
 import           Yam.Logger
-import           Yam.Prop
 
 import           Control.Monad.Trans.Control (MonadBaseControl)
 import           Data.Acquire                (with)
@@ -84,7 +83,7 @@
 
 instance Exception DataSourceException
 
-initDataSource :: (MonadTransaction m, MonadThrow m) => [DataSourceProvider m a] -> DataSource -> Maybe DataSource -> m a -> m a
+initDataSource :: (MonadTransaction m, MonadMask m) => [DataSourceProvider m a] -> DataSource -> Maybe DataSource -> m a -> m a
 initDataSource maps ds ds2nd action = let map = M.fromList maps in go map ds ds2nd action
   where go map ds ds2 action = do
           logger <- toMonadLogger
diff --git a/yam-app.cabal b/yam-app.cabal
--- a/yam-app.cabal
+++ b/yam-app.cabal
@@ -1,5 +1,5 @@
 name:                yam-app
-version:             0.1.9
+version:             0.1.10
 synopsis:            Yam App
 description:         Base Module for Yam
 homepage:            https://github.com/leptonyu/yam/tree/master/yam-app#readme
