diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,3 +1,12 @@
 # Graflog
 
-Monadic correlated log events!
+In a distributed system, logging is hard. In order for distributed logging to be
+useful, it needs to contain metadata about what caused it. Ideally, a given logged
+event should tell us:
+- what user input caused it
+- what API call caused it
+- whether it is an error or not
+- its severity
+- a correlative id that allows us to find other log events related to it
+
+Graflog is primarily focused on the last piece. 
diff --git a/graflog.cabal b/graflog.cabal
--- a/graflog.cabal
+++ b/graflog.cabal
@@ -1,5 +1,5 @@
 name:                graflog
-version:             0.1.1
+version:             0.1.2
 synopsis:            Monadic correlated log events
 description:         Please see README.md
 homepage:            https://github.com/m-arnold/graflog#readme
diff --git a/src/Graflog/Console.hs b/src/Graflog/Console.hs
--- a/src/Graflog/Console.hs
+++ b/src/Graflog/Console.hs
@@ -18,3 +18,6 @@
 -- this function forces stdout into line buffering mode; useful for CloudFormation logs
 enableStdoutLineBuffering :: MonadIO m => m ()
 enableStdoutLineBuffering = liftIO $ hSetBuffering stdout LineBuffering
+
+instance Console IO where
+  writeStdout = writeStdout'
diff --git a/src/Graflog/Logger.hs b/src/Graflog/Logger.hs
--- a/src/Graflog/Logger.hs
+++ b/src/Graflog/Logger.hs
@@ -51,3 +51,6 @@
 jsonEncode = byteStringToText . toStrict . encode
   where byteStringToText :: ByteString -> Text
         byteStringToText bs = fromJust $ decodeConvertText (UTF8 (bs :: ByteString))
+
+instance Logger IO where
+  logEvent = logEvent'
