diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,5 +1,8 @@
 # yam
 
+[![Hackage](https://img.shields.io/badge/hackage-v0.5.1-orange.svg)](https://hackage.haskell.org/package/yam)
+[![Build Status](https://travis-ci.org/leptonyu/yam.svg?branch=master)](https://travis-ci.org/leptonyu/yam)
+
 Servant based Web Wrapper for Production in Haskell.
 
 
diff --git a/demo/Main.hs b/demo/Main.hs
--- a/demo/Main.hs
+++ b/demo/Main.hs
@@ -2,8 +2,6 @@
 
 import           Control.Monad.Logger.CallStack
 import qualified Data.Salak                     as S
-import           Data.Time
-import           Database.Persist.Sqlite
 import           Servant
 import           Yam
 
@@ -11,10 +9,9 @@
      = "users"              :> Get '[JSON] Text
   :<|> "users" :> "error"   :> Get '[JSON] Text
   :<|> "users" :> "servant" :> Get '[JSON] Text
-  :<|> "users" :> "db"      :> Get '[JSON] Text
 
 service :: ServerT UserApi App
-service = userService :<|> errorService :<|> servantService :<|> dbService
+service = userService :<|> errorService :<|> servantService
 
 userService :: App Text
 userService = do
@@ -27,20 +24,7 @@
 servantService :: App Text
 servantService = throwS err401 "Servant"
 
-dbService :: App Text
-dbService = do
-  str <- runTrans $ do
-    (time:_) :: [UTCTime] <- selectValue "SELECT CURRENT_TIMESTAMP"
-    let timeStr = showText time
-    logWarn timeStr
-    return timeStr
-  logInfo str
-  return str
-
-db :: DataSourceProvider
-db = createSqlitePool ":memory:" 10
-
 main :: IO ()
 main = do
   p <- S.defaultPropertiesWithFile "yam_test.yml"
-  start p [primaryDatasourceMiddleware db] (Proxy :: Proxy UserApi) service
+  start p [] (Proxy :: Proxy UserApi) service
diff --git a/src/Yam.hs b/src/Yam.hs
--- a/src/Yam.hs
+++ b/src/Yam.hs
@@ -1,7 +1,7 @@
 module Yam(
     module Yam.Internal
-  , module Yam.DataSource
+  -- , module Yam.DataSource
   ) where
 
-import           Yam.DataSource
+-- import           Yam.DataSource
 import           Yam.Internal
diff --git a/src/Yam/DataSource.hs b/src/Yam/DataSource.hs
deleted file mode 100644
--- a/src/Yam/DataSource.hs
+++ /dev/null
@@ -1,71 +0,0 @@
-module Yam.DataSource(
-  -- * DataSource Types
-    DataSourceProvider
-  , DataSource
-  , DB
-  -- * Primary DataSource Functions
-  , runTrans
-  , primaryDatasourceMiddleware
-  -- * Secondary DataSource Functions
-  , runTransWith
-  , datasourceMiddleware
-  -- * Sql Functions
-  , query
-  , selectValue
-  ) where
-
-import           Control.Exception       (bracket)
-import           Control.Monad.IO.Unlift
-import           Data.Acquire            (withAcquire)
-import           Data.Conduit
-import qualified Data.Conduit.List       as CL
-import           Data.Pool
-import           Database.Persist.Sql    hiding (Key)
-import           System.IO.Unsafe        (unsafePerformIO)
-import           Yam.Types               hiding (LogFunc)
-
-type DataSource = ConnectionPool
-
-{-# NOINLINE dataSourceKey #-}
-dataSourceKey :: Key DataSource
-dataSourceKey = unsafePerformIO newKey
-
-type DataSourceProvider = LoggingT IO DataSource
--- SqlPersistT ~ ReaderT SqlBackend
-type DB = SqlPersistT
-
-query
-  :: (MonadUnliftIO m)
-  => Text
-  -> [PersistValue]
-  -> DB m [[PersistValue]]
-query sql params = do
-  res <- rawQueryRes sql params
-  withAcquire res (\a -> runConduit $ a .| CL.fold (flip (:)) [])
-
-selectValue :: (PersistField a, MonadUnliftIO m) => Text -> DB m [a]
-selectValue sql = fmap unSingle <$> rawSql sql []
-
-runTransWith :: (MonadUnliftIO m) => Key DataSource -> DB (AppM m) a -> AppM m a
-runTransWith k a = requireAttr k >>= (`runDB` a)
-
-runTrans :: (MonadUnliftIO m) => DB (AppM m) a -> AppM m a
-runTrans = runTransWith dataSourceKey
-
-{-# INLINE runDB #-}
-runDB :: (MonadLoggerIO m, MonadUnliftIO m) => DataSource -> DB m a -> m a
-runDB pool db = do
-  logger <- askLoggerIO
-  withRunInIO $ \run -> withResource pool $ run . \c -> runSqlConn db c { connLogFunc = logger }
-
-{-# INLINE runInDB #-}
-runInDB :: LogFunc -> DataSourceProvider -> (DataSource -> IO a) -> IO a
-runInDB logfunc f g = bracket (runLoggingT f logfunc) destroyAllResources g
-
-datasourceMiddleware :: Key DataSource -> DataSourceProvider -> AppMiddleware
-datasourceMiddleware k dsp = AppMiddleware $ \env f -> do
-  lf <- askLoggerIO
-  logInfo "Datasource Initialized..."
-  liftIO $ runInDB lf dsp $ \ds -> runLoggingT (f (setAttr k ds env, id)) lf
-
-primaryDatasourceMiddleware = datasourceMiddleware dataSourceKey
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -4,15 +4,8 @@
 
 module Main where
 
-
-import           Control.Monad.IO.Class
-import           Data.Aeson
-import           Data.Maybe
-import qualified Data.Salak              as S
-import           Data.Text               (Text)
 import qualified Data.Text               as T
 import           Test.Hspec
-import           Test.QuickCheck
 import           Test.QuickCheck.Monadic
 import           Yam
 
@@ -23,16 +16,6 @@
   describe "Yam.Config" specConfig
 
 specConfig = do
-  context "configuration" $ do
-    it "load" $ do
-      p <- S.defaultPropertiesWithFile "yam_test.yml"
-      let get :: S.FromProperties a => Text -> Maybe a
-          get = flip S.lookup p
-      -- let dsf = get "yam.datasource" :: Maybe DataSourceConfig
-      -- shouldSatisfy dsf isJust
-      let conf = get "yam.application" :: Maybe AppConfig
-      shouldSatisfy conf isJust
-      -- datasource <$> conf `shouldBe` dsf
   context "randomTest" $ do
     it "random" $ do
       monadicIO $ do
diff --git a/yam.cabal b/yam.cabal
--- a/yam.cabal
+++ b/yam.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: f9fe2bcda9477157917b0e18eb2cc0dedfe7d1737dda59d00077e97f6f8b0882
+-- hash: 7dcbc1f022111b764d8abc3792f3a3aba5cd1e9dd501a85c2e76d07305d9899c
 
 name:           yam
-version:        0.5.0
+version:        0.5.1
 synopsis:       Yam Web
 category:       Web
 homepage:       https://github.com/leptonyu/yam#readme
@@ -24,7 +24,6 @@
 library
   exposed-modules:
       Yam
-      Yam.DataSource
       Yam.Internal
   other-modules:
       Yam.Types
@@ -39,16 +38,12 @@
       aeson
     , base >=4.7 && <5
     , bytestring
-    , conduit
     , data-default
     , fast-logger
     , monad-logger
     , mtl
-    , persistent
     , random
     , reflection
-    , resource-pool
-    , resourcet
     , salak
     , servant-server
     , servant-swagger
@@ -72,23 +67,17 @@
       aeson
     , base >=4.7 && <5
     , bytestring
-    , conduit
     , data-default
     , fast-logger
     , monad-logger
     , mtl
-    , persistent
-    , persistent-sqlite
     , random
     , reflection
-    , resource-pool
-    , resourcet
     , salak
     , servant-server
     , servant-swagger
     , servant-swagger-ui
     , text
-    , time
     , unliftio-core
     , vault
     , wai
@@ -102,7 +91,6 @@
   main-is: Spec.hs
   other-modules:
       Yam
-      Yam.DataSource
       Yam.Internal
       Yam.Logger
       Yam.Swagger
@@ -119,17 +107,13 @@
     , aeson
     , base >=4.7 && <5
     , bytestring
-    , conduit
     , data-default
     , fast-logger
     , hspec ==2.*
     , monad-logger
     , mtl
-    , persistent
     , random
     , reflection
-    , resource-pool
-    , resourcet
     , salak
     , servant-server
     , servant-swagger
