diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for tcp-simple
 
+## 0.2.1.0
+
+* Fix broken document.
+
 ## 0.2.0.0
 
 * Add support for openssl using HsOpenSSL package.
diff --git a/Data/OpenSSLSetting.hs b/Data/OpenSSLSetting.hs
--- a/Data/OpenSSLSetting.hs
+++ b/Data/OpenSSLSetting.hs
@@ -1,4 +1,4 @@
--- | Helpers for setting up a tls connection with @HsOpenSSL@ package
+-- | Helpers for setting up a tls connection with @HsOpenSSL@ package,
 -- for further customization, please refer to @HsOpenSSL@ package.
 --
 -- Note, functions in this module will throw error if can't load certificates or CA store.
@@ -80,7 +80,7 @@
 
 -- | make a 'SSL.SSLConext' that also validating client's certificate.
 --
--- This's an alias to 'makeClientSSLContext'.
+-- This's an alias to 'makeClientSSLContext''.
 --
 makeServerSSLContext' :: FilePath       -- ^ public certificate (X.509 format).
                       -> [FilePath]     -- ^ chain certificates (X.509 format).
diff --git a/Data/TLSSetting.hs b/Data/TLSSetting.hs
--- a/Data/TLSSetting.hs
+++ b/Data/TLSSetting.hs
@@ -1,4 +1,4 @@
--- | Helpers for setting up a tls connection with @tls@ package
+-- | Helpers for setting up a tls connection with @tls@ package,
 -- for further customization, please refer to @tls@ package.
 --
 -- Note, functions in this module will throw error if can't load certificates or CA store.
@@ -31,8 +31,7 @@
 data TrustedCAStore
     = SystemCAStore                   -- ^ provided by your operating system.
     | MozillaCAStore                  -- ^ provided by <https://curl.haxx.se/docs/caextract.html Mozilla>.
-    | CustomCAStore FilePath          -- ^ provided by your self, the CA file can contain multiple certificates
-                                      --   as long as they can form a certificate chain.
+    | CustomCAStore FilePath          -- ^ provided by your self, the CA file can contain multiple certificates.
   deriving (Show, Eq)
 
 makeCAStore :: TrustedCAStore -> IO X509.CertificateStore
diff --git a/System/IO/Streams/OpenSSL.hs b/System/IO/Streams/OpenSSL.hs
--- a/System/IO/Streams/OpenSSL.hs
+++ b/System/IO/Streams/OpenSSL.hs
@@ -112,7 +112,6 @@
 -- @('HostName', 'PortNumber')@ combination. The socket and SSL connection are
 -- closed and deleted after the user handler runs.
 --
--- /Since: 1.2.0.0./
 withConnection :: SSLContext
 
 
diff --git a/System/IO/Streams/TCP.hs b/System/IO/Streams/TCP.hs
--- a/System/IO/Streams/TCP.hs
+++ b/System/IO/Streams/TCP.hs
@@ -34,6 +34,7 @@
 -- | resolve a 'HostName'/'PortNumber' combination.
 --
 -- This function throws an IO exception when resolve fail.
+--
 resolveAddrInfo :: HostName -> PortNumber -> IO (N.Family, N.SocketType, N.ProtocolNumber, N.SockAddr)
 resolveAddrInfo host port = do
     -- Partial function here OK, network will throw an exception rather than
@@ -55,14 +56,8 @@
 -- @('HostName', 'PortNumber')@ combination.
 --
 -- Note that sending an end-of-file to the returned 'OutputStream' will not
--- close the underlying Socket connection; to do that, call:
---
--- @
--- SSL.'SSL.shutdown' ssl SSL.'SSL.Unidirectional'
--- maybe (return ()) 'N.close' $ SSL.'SSL.sslSocket' ssl
--- @
+-- close the underlying Socket connection.
 --
--- on the returned 'SSL' object.
 connectSocket :: HostName             -- ^ hostname to connect to
               -> PortNumber           -- ^ port number to connect to
               -> IO Socket
@@ -82,6 +77,8 @@
 
 -- | connect to remote tcp server.
 --
+-- You may need to use 'E.bracket' pattern to enusre 'N.Socket' 's safety.
+--
 connect :: HostName             -- ^ hostname to connect to
         -> PortNumber           -- ^ port number to connect to
         -> IO (InputStream ByteString, OutputStream ByteString, Socket)
@@ -92,6 +89,7 @@
 
 
 -- | connect to remote tcp server with a receive buffer size.
+--
 connectWithBufferSize :: HostName             -- ^ hostname to connect to
                       -> PortNumber           -- ^ port number to connect to
                       -> Int                  -- ^ tcp read buffer size
@@ -107,7 +105,6 @@
 -- @('HostName', 'PortNumber')@ combination. The socket will be
 -- closed and deleted after the user handler runs.
 --
--- /Since: 1.2.0.0./
 withConnection :: HostName             -- ^ hostname to connect to
                -> PortNumber           -- ^ port number to connect to
                -> ( InputStream ByteString
@@ -147,6 +144,7 @@
 -- a new underlying 'Socket', and remote 'N.SockAddr',you should call 'bindAndListen' first.
 --
 -- This function will block current thread if there's no connection comming.
+--
 accept :: Socket -> IO (InputStream ByteString, OutputStream ByteString, N.Socket, N.SockAddr)
 accept sock = do
     (sock', sockAddr) <- N.accept sock
diff --git a/tcp-streams.cabal b/tcp-streams.cabal
--- a/tcp-streams.cabal
+++ b/tcp-streams.cabal
@@ -1,5 +1,5 @@
 name:                tcp-streams
-version:             0.2.0.0
+version:             0.2.1.0
 synopsis:            One stop solution for tcp client and server with tls support.
 description:         One stop solution for tcp client and server with tls support.
 license:             BSD3
