diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -15,9 +15,9 @@
 * TLS encryption (requires a valid certificate). Supports TLS 1.3 and HTTP 2, also known as SPDY Proxy.
 * TLS SNI validation (blocks all clients with invalid domain name).
 * Provide PAC file for easy client side configuration (supports Chrome and Firefox).
-* Websocket redirection (compatible with [v2ray-plugin for shadowsocks](https://github.com/shadowsocks/v2ray-plugin)).
+* Websocket redirection (compatible with [v2ray-plugin](https://github.com/shadowsocks/v2ray-plugin)).
 * Reverse proxy support (redirect requests to a fallback server).
-* Implemented as a middleware, compatible with any Haskell Web Application with `wai` interface.
+* Implemented as a middleware, compatible with any Haskell Web Application built with `wai` interface.
   Defaults to fallback to a dumb application which simulate the default empty page from Apache.
 
 ### Installation
@@ -25,7 +25,7 @@
 `hprox` should build and work on all unix-like OS with `ghc` support, but it's only
 been tested on Linux and macOS.
 
-[stack](https://docs.haskellstack.org/en/stable/README/#how-to-install) is required to build `hprox`.
+[stack](https://docs.haskellstack.org/en/stable/README/#how-to-install) is recommended to build `hprox`.
 
 ```sh
 stack setup
@@ -40,7 +40,6 @@
 
 ```sh
 echo "user:pass" > userpass.txt
-chmod 600 userpass.txt
 hprox -p 8080 -a userpass.txt
 ```
 
@@ -50,16 +49,16 @@
 hprox -p 443 -s example.com:/etc/letsencrypt/live/example.com/fullchain.pem:/etc/letsencrypt/live/example.com/privkey.pem
 ```
 
-Browsers can then be configured with PAC file URL `https://example.com/get/hprox.pac`.
+Browsers can be configured with PAC file URL `https://example.com/get/hprox.pac`.
 
-* To work with `v2ray-plugin`, with fallback page to ubuntu mirrors:
+* To work with `v2ray-plugin`, with fallback page to [ubuntu archive](http://archive.ubuntu.com/):
 
 ```sh
 v2ray-plugin -server -localPort 8080 -mode websocket -host example.com -remotePort xxxx
 hprox -p 443 -s example.com:fullchain.pem:privkey.pem --ws 127.0.0.1:8080 --rev archive.ubuntu.com:80
 ```
 
-Clients will be able to connect with option `tls;host=example.com`.
+Clients will be able to connect with plugin option `tls;host=example.com`.
 
 ### Known Issue
 
diff --git a/hprox.cabal b/hprox.cabal
--- a/hprox.cabal
+++ b/hprox.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: a70b4c08df6e0a53013a5ee56b5e14317c0fb952bc34ad9dd8b9c25954559c83
+-- hash: 7456eded738e088a6f5195326db8a89c8149a54e92f46ed9962c9be01f73d762
 
 name:           hprox
-version:        0.1.0.1
+version:        0.1.0.2
 synopsis:       a lightweight HTTP proxy server, and more
 description:    Please see the README on GitHub at <https://github.com/bjin/hprox#readme>
 category:       Web
@@ -39,22 +39,22 @@
       src
   ghc-options: -Wall -O2 -threaded -rtsopts -with-rtsopts=-N
   build-depends:
-      async
-    , base >=4.7 && <5
-    , base64-bytestring
-    , binary
-    , bytestring
-    , case-insensitive
-    , conduit
-    , conduit-extra
-    , http-client
+      async >=2.2
+    , base >=4.12 && <5
+    , base64-bytestring >=1.0
+    , binary >=0.8
+    , bytestring >=0.10
+    , case-insensitive >=1.2
+    , conduit >=1.3
+    , conduit-extra >=1.3
+    , http-client >=0.5
     , http-reverse-proxy >=0.4.0
-    , http-types
-    , optparse-applicative
-    , tls >=1.5.0
-    , unix
+    , http-types >=0.12
+    , optparse-applicative >=0.14
+    , tls >=1.5
+    , unix >=2.7
     , wai >=3.2.2
-    , wai-extra
+    , wai-extra >=3.0
     , warp >=3.2.8
     , warp-tls >=3.2.5
   if flag(static)
