diff --git a/mail-pool.cabal b/mail-pool.cabal
--- a/mail-pool.cabal
+++ b/mail-pool.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: cbd36a55a0bc6a23d7c34c05cc5192f66ef504d18668710b4a320e4da06a8dc8
+-- hash: c299804a7b298ac656a71231f969d24b083053723638ab7fb7c3457cd1e7c73d
 
 name:           mail-pool
-version:        2.0.1
+version:        2.1.0
 synopsis:       Preconfigured email connection pool on top of smtp.
 description:    Email helper functions with some sane defaults such as a resource pool and cli support
 category:       Email
diff --git a/src/Network/Mail/Pool.hs b/src/Network/Mail/Pool.hs
--- a/src/Network/Mail/Pool.hs
+++ b/src/Network/Mail/Pool.hs
@@ -1,24 +1,32 @@
 {-# LANGUAGE DeriveAnyClass #-}
 
 module Network.Mail.Pool
-  ( SmtpCred(..)
-  , smtpHost
-  , smtpLogin
-  , smtpPassword
-  , smtpPort
-  , module X
-  , emailOptions
-  , sendEmail
-  , smtpPool
+  (
+
+  -- * pool
+    smtpPool
+  , PoolSettings(..)
   , defSettings
+  , openTls
+  , openPlain
+  , openTls'
+  -- * use pool
+  , sendEmail
+  -- * optparse
+  , SmtpCred(..)
+  , emailOptions
+  -- * lenses
   , poolCred
   , poolConnf
   , poolStripes
   , poolUnused
   , poolStripeMax
-  , PoolSettings(..)
-  , openTls
-  , openPlain
+  , smtpHost
+  , smtpLogin
+  , smtpPassword
+  , smtpPort
+ -- * re exports
+  , module X
   ) where
 
 import           Control.Exception
@@ -88,7 +96,10 @@
 openPlain smtp = connectSMTPPort (smtp ^. smtpHost) (smtp ^. smtpPort)
 
 openTls :: SmtpCred -> IO SMTPConnection
-openTls smtp = connectSMTPSTARTTLSWithSettings (smtp ^. smtpHost) $ defaultSettingsSMTPSTARTTLS{
+openTls = openTls' defaultSettingsSMTPSTARTTLS
+
+openTls' :: Settings -> SmtpCred -> IO SMTPConnection
+openTls' def smtp = connectSMTPSTARTTLSWithSettings (smtp ^. smtpHost) $ def {
     sslPort = (smtp ^. smtpPort)
   }
 
