diff --git a/apiary-cookie.cabal b/apiary-cookie.cabal
--- a/apiary-cookie.cabal
+++ b/apiary-cookie.cabal
@@ -1,6 +1,5 @@
 name:                apiary-cookie
-version:             0.5.1.0
-x-revision:          1
+version:             0.6.0.0
 synopsis:            Cookie support for apiary web framework.
 description:
   example: <https://github.com/philopon/apiary/blob/master/examples/cookie.hs>
@@ -25,7 +24,7 @@
                      , mtl                >=2.1   && <2.3
                      , transformers       >=0.3   && <0.5
                      , bytestring         >=0.10  && <0.11
-                     , apiary             >=0.5.1 && <0.6
+                     , apiary             >=0.6   && <0.7
                      , cookie             >=0.4   && <0.5
                      , clientsession      >=0.9   && <0.10
                      , blaze-builder      >=0.3   && <0.4
diff --git a/src/Web/Apiary/Cookie.hs b/src/Web/Apiary/Cookie.hs
--- a/src/Web/Apiary/Cookie.hs
+++ b/src/Web/Apiary/Cookie.hs
@@ -61,9 +61,6 @@
     , setCookie
     -- * filter
     , cookie
-    -- * getter
-    , getCookies, getCookies'
-    , getCookie, getCookie'
     -- * Reexport
     -- | SetCookie(..)
     , module Web.Cookie
diff --git a/src/Web/Apiary/Cookie/Internal.hs b/src/Web/Apiary/Cookie/Internal.hs
--- a/src/Web/Apiary/Cookie/Internal.hs
+++ b/src/Web/Apiary/Cookie/Internal.hs
@@ -9,9 +9,7 @@
 
 module Web.Apiary.Cookie.Internal where
 
-import Control.Monad
 import Control.Monad.Trans
-import Control.Monad.Trans.Maybe
 
 import Network.Wai
 import Web.Apiary
@@ -21,7 +19,7 @@
 import Data.Proxy
 
 import Control.Monad.Apiary.Filter.Internal
-import Control.Monad.Apiary.Filter.Internal.Query
+import Control.Monad.Apiary.Filter.Internal.Strategy
 
 import Blaze.ByteString.Builder
 import qualified Data.ByteString as S
@@ -57,7 +55,7 @@
        -> Proxy (w a)
        -> ApiaryT (SNext w as a) m b
        -> ApiaryT as m b
-cookie k p = function $ \l r -> readStrategy k p (cookie' r) l
+cookie k p = function $ \l r -> readStrategy readQuery ((k ==) . fst) p (cookie' r) l
 
 cookie' :: HasCookie => Request -> [(S.ByteString, Maybe S.ByteString)]
 cookie' = 
@@ -79,21 +77,3 @@
     let s = toByteString . renderSetCookie $ sc { setCookieValue = v' }
     addHeader "set-cookie" s
 
-{-# DEPRECATED getCookies, getCookies', getCookie, getCookie' "use cookie filter" #-}
--- | get cookies. first Maybe indicate cookie header exists or not, 
--- second Maybe indicate decryption status.
-getCookies :: (Monad m, HasCookie) => ActionT m (Maybe [(S.ByteString, Maybe S.ByteString)])
-getCookies = runMaybeT $ do
-    raw <- MaybeT $ getRequestHeader "cookie"
-    return $ map (\(k,v) -> (k, decrypt (key ?webApiaryCookieCookie) v)) $ parseCookies raw
-
--- | like 'getCookies', but when cookie header isn't exists, pass next handler.
-getCookies' :: (Monad m, HasCookie) => ActionT m [(S.ByteString, Maybe S.ByteString)]
-getCookies' = getCookies >>= maybe mzero return
-
--- | get cookie of specific key.
-getCookie :: (Monad m, HasCookie) => S.ByteString -> ActionT m (Maybe S.ByteString)
-getCookie k = getCookies >>= return . maybe Nothing (join . lookup k)
-
-getCookie' :: (Monad m, HasCookie) => S.ByteString -> ActionT m S.ByteString
-getCookie' k = getCookie k >>= maybe mzero return
