diff --git a/moesocks.cabal b/moesocks.cabal
--- a/moesocks.cabal
+++ b/moesocks.cabal
@@ -1,6 +1,6 @@
 name:               moesocks
 category:           Network
-version:            1.0.0.44
+version:            1.0.1.0
 license:            Apache-2.0
 synopsis:           A functional firewall killer
 description:        A SOCKS5 proxy using the client / server architecture.
@@ -11,7 +11,7 @@
 build-type:         Simple
 cabal-version:      >=1.18
 copyright:          Copyright (C) 2015 Jinjing Wang
-tested-with:        GHC == 8.0.2
+tested-with:        GHC == 8.6.3
 
 extra-doc-files:        
                         README.md
diff --git a/src/Network/MoeSocks/Default.hs b/src/Network/MoeSocks/Default.hs
--- a/src/Network/MoeSocks/Default.hs
+++ b/src/Network/MoeSocks/Default.hs
@@ -104,7 +104,6 @@
   Env
   {
       _timeout                        = _c ^. C.timeout
-    , _tcpBufferSize                  = _c ^. C.tcpBufferSize
     , _throttle                       = _c ^. C.throttle
     , _throttleSpeed                  = _c ^. C.throttleSpeed
     , _obfuscationFlushBound          = _c ^. C.obfuscationFlushBound
diff --git a/src/Network/MoeSocks/Options.hs b/src/Network/MoeSocks/Options.hs
--- a/src/Network/MoeSocks/Options.hs
+++ b/src/Network/MoeSocks/Options.hs
@@ -84,16 +84,6 @@
                       long "show-default-config"
                   <>  help "Show default json configuration"
 
-      _tcpBufferSize = intParam -
-                              long "tcp-buffer-size"
-                          <>  metavar "SIZE"
-                          <>  defaultHelp (_c ^. C.tcpBufferSize
-                                            & show
-                                            & review _Text)
-                                          ("The number of packets used as a "
-                                            <> "buffer. A packet can hold "
-                                            <> "at most 4K of data")
-
       _config = optional - textOption -
                       short 'c'
                   <>  long "config"
@@ -253,7 +243,6 @@
         , tag "_password"       _password
         , tag "_method"         _method
         , tag "_timeout"        _timeout
-        , tag "_tcpBufferSize"  _tcpBufferSize
         , tag "_fastOpen"       _fastOpen
         , tag "_forbidden_IPs"  _forbidden_IPs
         ]
diff --git a/src/Network/MoeSocks/Runtime.hs b/src/Network/MoeSocks/Runtime.hs
--- a/src/Network/MoeSocks/Runtime.hs
+++ b/src/Network/MoeSocks/Runtime.hs
@@ -148,7 +148,6 @@
 
   let _env' = _env
         & timeout                        .~ _c ^. C.timeout
-        & tcpBufferSize                  .~ _c ^. C.tcpBufferSize
         & throttle                       .~ _c ^. C.throttle
         & throttleSpeed                  .~ _c ^. C.throttleSpeed
         & obfuscationFlushBound          .~ _c ^. C.obfuscationFlushBound
diff --git a/src/Network/MoeSocks/TCP.hs b/src/Network/MoeSocks/TCP.hs
--- a/src/Network/MoeSocks/TCP.hs
+++ b/src/Network/MoeSocks/TCP.hs
@@ -142,8 +142,8 @@
             let
                 _header = shadowSocksRequestBuilder _clientRequest
 
-            _sendChannel <- newTBQueueIO - aEnv ^. tcpBufferSize
-            _receiveChannel <- newTBQueueIO - aEnv ^. tcpBufferSize
+            _sendChannel <- newTBQueueIO 1
+            _receiveChannel <- newTBQueueIO 1
 
             let info_Id x = x <> " " <> _msg
                 _timeout = aEnv ^. timeout * 1000 * 1000
@@ -269,8 +269,8 @@
 
       let
           handleTarget __targetSocket = do
-            _sendChannel <- newTBQueueIO - aEnv ^. tcpBufferSize
-            _receiveChannel <- newTBQueueIO - aEnv ^. tcpBufferSize
+            _sendChannel <- newTBQueueIO 1
+            _receiveChannel <- newTBQueueIO 1
 
             let info_Id x = x <> " " <> _msg
                 -- let remote wait slightly longer, so local can timeout
diff --git a/src/Network/MoeSocks/Type/Runtime.hs b/src/Network/MoeSocks/Type/Runtime.hs
--- a/src/Network/MoeSocks/Type/Runtime.hs
+++ b/src/Network/MoeSocks/Type/Runtime.hs
@@ -123,7 +123,6 @@
 data Env = Env
   {
     _timeout :: Int
-  , _tcpBufferSize :: Int -- in packets
   , _throttle :: Bool
   , _throttleSpeed :: Double
   , _obfuscationFlushBound :: Int -- should be greater then MTU
