diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+1.0.0.1
+-------
+* Default to no buffer, rely on buffer in the kernel. Add force Explicit
+  Congestion Notification in Readme.
+
 1.0.0.0
 -------
 * Tag a stable release, clean up types
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,5 +1,4 @@
 MoeSocks
-
 ========
 
 A SOCKS5 proxy using the client / server architecture.
@@ -9,7 +8,7 @@
 Installation
 ============
 
-* Need `GHC 7.10.2` on Linux.
+* Need `GHC 7.10.2` on Unix.
 
 Usage
 =====
@@ -41,7 +40,10 @@
   auto restart the program if it crashes, likely due to [#10590], the fix of
   which was not included in the `7.10.2` release.
 
+* On `OSX`, If you only run `moesocks -r local`, then it should work. Occasional
+  manual restart should be expected. `fastOpen` field should be `false` for now.
 
+
 Features
 ========
 
@@ -57,7 +59,7 @@
 ==========
 
 * UDP over SOCKS5 is not implemented.
-* TCP bind over SOCKS5 is not implemented.
+* TCP bind over SOCKS5 is not implemented* More then 2 times slower then the original Python implementation (measured at
 * More then 2 times slower then the original Python implementation (measured at
   20M/s vs 43M/s on an Intel P8800, using the AES-256-CFB method, in software
   AES).
@@ -95,7 +97,24 @@
 
     tcpdump port 8388 -i any -X -v
 
+Explicit Congestion Notification ([ECN])
+=========================================
 
+## No buffer by default
+
+After version v1.0.0.0, moesocks will default to no buffer at the application
+level. Smart buffer is expected from the kernel.
+
+In app buffer can still be tuned on by setting "tcpBufferSize" in
+`config.json` a value greater then 1.
+
+## Force ECN
+
+On Linux 3.7+ (as root)
+
+    echo 1 > /proc/sys/net/ipv4/tcp_ecn
+
+
 Credits
 =======
 
@@ -126,3 +145,5 @@
 [config.json]:https://raw.githubusercontent.com/nfjinjing/moesocks/master/config.json
 [#10590]:https://ghc.haskell.org/trac/ghc/ticket/10590
 [TFO]:https://en.wikipedia.org/wiki/TCP_Fast_Open
+[ECN]:https://en.wikipedia.org/wiki/Explicit_Congestion_Notification
+
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.0
+version:            1.0.0.1
 license:            Apache-2.0
 synopsis:           A functional firewall killer
 description:        A SOCKS5 proxy using the client / server architecture.
diff --git a/src/Network/MoeSocks/Bootstrap.hs b/src/Network/MoeSocks/Bootstrap.hs
--- a/src/Network/MoeSocks/Bootstrap.hs
+++ b/src/Network/MoeSocks/Bootstrap.hs
@@ -24,8 +24,8 @@
 import qualified Network.MoeSocks.Type.Bootstrap.Option as O
 
 withGateOptions :: O.Options -> IO a -> IO ()
-withGateOptions aOption aIO = do
-  if aOption ^. O.listMethods
+withGateOptions someOptions aIO = do
+  if someOptions ^. O.listMethods
     then do
       let _br = putStrLn ""
 
@@ -41,8 +41,8 @@
       () <$ aIO
 
 loadConfig :: O.Options -> ExceptT String IO C.Config
-loadConfig aOption = do
-  let _maybeFilePath = aOption ^. O.configFile
+loadConfig someOptions = do
+  let _maybeFilePath = someOptions ^. O.configFile
 
   _v <- case _maybeFilePath of
           Nothing -> pure - Just - Object mempty
@@ -116,7 +116,7 @@
                       >>= decode
                           . encode
                           . fallbackConfig optionalConfig
-                          . insertParams (aOption ^. O.params)
+                          . insertParams (someOptions ^. O.params)
                           . toParsableConfig
 
   case _maybeConfig of
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
@@ -19,7 +19,7 @@
   , C._password = "moesocks"
   , C._method = "aes-256-cfb"
   , C._timeout = 300
-  , C._tcpBufferSize = 256
+  , C._tcpBufferSize = 1 -- should be handeled by CoDel and ecn in the kernel
   , C._throttle = False
   , C._throttleSpeed = 8000 -- in Kilobytes
   , C._obfuscationFlushBound = 4096
