diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -5,4 +5,4 @@
 
 ## Examples
 
-See [the spec file](https://github.com/iij-ii/skews/blob/master/test/Network/WebSockets/SkewsSpec.hs).
+See [the spec file](test/Network/WebSockets/SkewsSpec.hs).
diff --git a/skews.cabal b/skews.cabal
--- a/skews.cabal
+++ b/skews.cabal
@@ -1,13 +1,12 @@
 name:                skews
-version:             0.1.0.1
+version:             0.1.0.2
 synopsis:            A very quick-and-dirty WebSocket server.
 description:         A very quick-and-dirty WebSocket server. Intended for use with unit tests.
-homepage:            https://github.com/iij-ii/skews#readme
+homepage:            https://github.com/iij-ii/direct-hs/tree/master/skews
 license:             BSD3
 license-file:        LICENSE
 author:              Yuji Yamamoto
 maintainer:          yuji-yamamoto@iij.ad.jp
-copyright:           2018 Yuji Yamamoto
 category:            Web, Test
 build-type:          Simple
 extra-source-files:  README.md
@@ -41,4 +40,4 @@
 
 source-repository head
   type:     git
-  location: https://github.com/iij-ii/skews
+  location: https://github.com/iij-ii/direct-hs
diff --git a/src/Network/WebSockets/Skews.hs b/src/Network/WebSockets/Skews.hs
--- a/src/Network/WebSockets/Skews.hs
+++ b/src/Network/WebSockets/Skews.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP               #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RecordWildCards   #-}
 
@@ -40,7 +41,13 @@
 import qualified Data.ByteString.Lazy as B
 import qualified Data.IORef           as IOR
 import           Data.Monoid          (mempty)
+#if MIN_VERSION_deque(0, 3, 0)
+import qualified Deque.Lazy           as Q
+import           GHC.Exts             (fromList)
+#else
+import           Deque                (fromList)
 import qualified Deque                as Q
+#endif
 import qualified Network.WebSockets   as WS
 
 
@@ -143,7 +150,7 @@
 -- | Reset the request handler queue.
 replaceRequestHandlers :: Server -> [RequestHandler] -> IO ()
 replaceRequestHandlers Server {..} =
-  IOR.atomicWriteIORef requestHandlerQueue . Q.fromList
+  IOR.atomicWriteIORef requestHandlerQueue . fromList
 
 
 -- | Configure the response called when no request handlers are queued.
diff --git a/test/Network/WebSockets/SkewsSpec.hs b/test/Network/WebSockets/SkewsSpec.hs
--- a/test/Network/WebSockets/SkewsSpec.hs
+++ b/test/Network/WebSockets/SkewsSpec.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP               #-}
 {-# LANGUAGE OverloadedStrings #-}
 
 module Network.WebSockets.SkewsSpec
@@ -11,7 +12,11 @@
 import           Data.ByteString.Char8    ()
 import           Data.Foldable            (toList)
 import           Data.Traversable         (for)
+#if MIN_VERSION_deque(0, 3, 0)
+import           Deque.Lazy               ()
+#else
 import           Deque                    ()
+#endif
 import           System.Envy              (FromEnv, decodeEnv, env, fromEnv)
 import           Test.Hspec
 import           Text.Read                (readMaybe)
@@ -31,7 +36,7 @@
 
 spec :: Spec
 spec = context "After running Skews.start and starting a client" $ do
-  Right (PortNumber pn) <- runIO decodeEnv
+  PortNumber pn <- either fail return =<< runIO decodeEnv
 
   let host = "127.0.0.1"
   server <- runIO $ Skews.start $ Skews.Args host pn
