diff --git a/Control/Concurrent/STM/Firehose.hs b/Control/Concurrent/STM/Firehose.hs
--- a/Control/Concurrent/STM/Firehose.hs
+++ b/Control/Concurrent/STM/Firehose.hs
@@ -6,8 +6,8 @@
 > atomically (mapM_ (writeEvent fh) [1..100])
 > -- let's subscribe a single client
 > sub <- atomically (subscribe 10 fh)
-> forkIO (forever (atomically (readEvent fh) >>= print))
-> writeEvent fh 1
+> forkIO (forever (atomically (readEvent sub) >>= print))
+> atomically $ writeEvent fh 1
 -}
 module Control.Concurrent.STM.Firehose (Firehose, Subscription, newFirehose, writeEvent, subscribe, unsubscribe, readEvent, getQueue) where
 
diff --git a/stm-firehose.cabal b/stm-firehose.cabal
--- a/stm-firehose.cabal
+++ b/stm-firehose.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                stm-firehose
-version:             0.1.3
+version:             0.1.4
 synopsis:            Conduits and STM operations for fire hoses.
 description:         A fire hose is a component in a message passing system that let clients tap into the message flow. This module provides low level (built on STM channels) and high level (based on conduits) building blocks. It should work with a fixed amount of memory, and has non blocking write operations.
 license:             BSD3
@@ -25,7 +25,7 @@
   ghc-options:         -Wall
   -- other-modules:       
   -- other-extensions:    
-  build-depends:       base >=4.6 && <4.7, stm >=2.4 && <2.5, stm-chans >=3.0 && <3.1, conduit >=1.0 && <1.1, network-conduit >=1.0 && <1.1, stm-conduit >=2.1 && <2.2, transformers >=0.3 && <0.4,
+  build-depends:       base >=4.6 && <4.8, stm >=2.4 && <2.5, stm-chans >=3.0 && <3.1, conduit >=1.0 && <1.1, network-conduit >=1.0 && <1.1, stm-conduit >=2.1 && <2.2, transformers >=0.3 && <0.4,
                         wai >= 2.0 && < 2.1, http-types == 0.8.*, blaze-builder == 0.3.*, warp >= 2.0 && < 2.1
   -- hs-source-dirs:      
   default-language:    Haskell2010
