diff --git a/Control/Monad/Logger/Syslog.hs b/Control/Monad/Logger/Syslog.hs
new file mode 100644
--- /dev/null
+++ b/Control/Monad/Logger/Syslog.hs
@@ -0,0 +1,24 @@
+module Control.Monad.Logger.Syslog
+       ( module System.Log.MonadLogger.Syslog )
+       where
+
+{-|
+Module      : Control.Monad.Logger.Syslog
+Description : Functions for directing monad-logger output to syslog
+Copyright   : FPComplete, 2015
+License     : MIT
+Maintainer  : FP Complete Developers <dev@fpcomplete.com>
+Stability   : experimental
+Portability : POSIX
+
+Example:
+```
+import Control.Monad.Logger ( logDebugN  )
+import Control.Monad.Logger.Syslog ( runSyslogLoggingT )
+
+main :: IO ()
+main = runSyslogLoggingT (logDebugN "HELLO!")
+```
+|-}
+
+import System.Log.MonadLogger.Syslog
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,16 @@
-monad-logger-rsyslog
-====================
+# Monad Logger for Syslog
 
-an rsyslog output for monad-logger
+![TravisCI](https://travis-ci.org/fpco/monad-logger-syslog.svg)
+![Hackage](https://img.shields.io/hackage/v/monad-logger-syslog.svg)
+
+## Install
+
+    cabal install monad-logger-syslog
+
+## Usage (example)
+
+    import Control.Monad.Logger ( logDebugN  )
+    import Control.Monad.Logger.Syslog ( runSyslogLoggingT )
+
+    main :: IO ()
+    main = runSyslogLoggingT (logDebugN "HELLO!")
diff --git a/System/Log/MonadLogger/Syslog.hs b/System/Log/MonadLogger/Syslog.hs
--- a/System/Log/MonadLogger/Syslog.hs
+++ b/System/Log/MonadLogger/Syslog.hs
@@ -1,11 +1,18 @@
 {-# LANGUAGE OverloadedStrings #-}
-module System.Log.MonadLogger.Syslog where
 
+module System.Log.MonadLogger.Syslog
+       ( runSyslogLoggingT
+       , syslogOutput
+       , defaultSyslogOutput
+       , formattedSyslogOutput
+       )
+       where
+
 import Control.Monad.IO.Class (MonadIO ())
 import Control.Monad.Logger
 import System.Posix.Syslog
 import Data.Text (unpack)
-import System.Log.FastLogger (LogStr, fromLogStr)
+import System.Log.FastLogger (fromLogStr)
 import qualified Data.ByteString.Char8 as BS8
 
 runSyslogLoggingT :: MonadIO m => LoggingT m a -> m a
@@ -17,20 +24,24 @@
 {-
 runSyslogLoggingT :: MonadIO m => String -> LoggingT m a -> m a
 runSyslogLoggingT source action =
-  useSyslog source (runLoggingT action syslogOutput)
+  useSyslog source (runLoggingT action defaultSyslogOutput)
 -}
 
+syslogOutput :: Loc -> LogSource -> LogLevel -> LogStr -> IO ()
+syslogOutput = defaultSyslogOutput
 
-syslogOutput :: Loc
-              -> LogSource
-              -> LogLevel
-              -> LogStr
-              -> IO ()
-syslogOutput l s level msg =
-    syslog (levelToPriority level) $
-        BS8.unpack $ fromLogStr $
-            defaultLogStr l s level msg
+defaultSyslogOutput :: Loc -> LogSource -> LogLevel -> LogStr -> IO ()
+defaultSyslogOutput = formattedSyslogOutput defaultLogStr
 
+formattedSyslogOutput :: (Loc -> LogSource -> LogLevel -> LogStr -> LogStr)
+                      -> Loc
+                      -> LogSource
+                      -> LogLevel
+                      -> LogStr
+                      -> IO ()
+formattedSyslogOutput f l s level msg =
+  syslog (levelToPriority level)
+         (BS8.unpack (fromLogStr (f l s level msg)))
 
 levelToPriority :: LogLevel -> Priority
 levelToPriority LevelDebug = Debug
diff --git a/monad-logger-syslog.cabal b/monad-logger-syslog.cabal
--- a/monad-logger-syslog.cabal
+++ b/monad-logger-syslog.cabal
@@ -1,34 +1,30 @@
 name:                monad-logger-syslog
-version:             0.1.0.0
-synopsis:            rsyslog output for monad-logger
-description:         rsyslog output for monad-logger
-homepage:            https://github.com/docmunch/monad-logger-rsyslog
+version:             0.1.1.0
+synopsis:            syslog output for monad-logger
+description:         syslog output for monad-logger
+homepage:            https://github.com/fpco/monad-logger-syslog
 license:             MIT
 license-file:        LICENSE
-author:              Greg Weber
-maintainer:          greg@gregweber.info
-category:            System
+author:              Greg Weber & FP Complete Developers
+maintainer:          devs@fpcomplete.com
+category:            Logging
 build-type:          Simple
 extra-source-files:  README.md
 cabal-version:       >=1.10
 
+source-repository head
+  type:     git
+  location: https://github.com/fpco/monad-logger-syslog
+
 library
   default-language:    Haskell2010
-  exposed-modules:     System.Log.MonadLogger.Syslog
+  exposed-modules:     Control.Monad.Logger.Syslog
+                       System.Log.MonadLogger.Syslog
   ghc-options:        -Wall
-  build-depends:       base >=4.6 && <4.7
-                     , monad-logger >= 0.3.4.0
-                     , fast-logger >= 2.1.0
+  build-depends:       base >=4.6 && <5
+                     , bytestring
+                     , fast-logger
                      , hsyslog
-                     , transformers
+                     , monad-logger
                      , text
-                     , bytestring
-
-test-suite smoke
-  default-language:    Haskell2010
-
-  type: exitcode-stdio-1.0
-  hs-source-dirs: test
-  main-is: smoke.hs
-
-  build-depends: base, monad-logger, monad-logger-syslog, shelly
+                     , transformers
diff --git a/test/smoke.hs b/test/smoke.hs
deleted file mode 100644
--- a/test/smoke.hs
+++ /dev/null
@@ -1,12 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-import Control.Monad.Logger
-import System.Log.MonadLogger.Syslog
-import Shelly
-
-main :: IO ()
-main = do
-    let logFile = "/var/log/syslog"
-    runSyslogLoggingT $ logDebugN "HELLO!"
-    shellyNoDir $
-        whenM (test_e logFile) $
-            cmd "tail" logFile
