diff --git a/PastePipe.cabal b/PastePipe.cabal
--- a/PastePipe.cabal
+++ b/PastePipe.cabal
@@ -1,7 +1,7 @@
 -- cabal configure --prefix=$HOME --user
 -- cabal build
 name:                PastePipe
-version:             1.1
+version:             1.2
 synopsis:            CLI for pasting to hpaste.org
 description:         PastePipe reads from standard in and posts to hpaste.org.
                      It will auto-detect your username, but that can be 
diff --git a/pastepipe.hs b/pastepipe.hs
--- a/pastepipe.hs
+++ b/pastepipe.hs
@@ -45,9 +45,10 @@
 buildURI coreUri str = fromJust $ parseURI $ coreUri ++ str
 
 -- | Posts the given content to hpaste.org, returning the new uri.
-post :: URI -> String -> String -> String -> String -> IO URI
-post posturi usr lang title str = do 
+post :: (String -> IO ()) -> URI -> String -> String -> String -> String -> IO URI
+post outHandler posturi usr lang title str = do 
   (uri, _) <- Network.Browser.browse $ do
+                  setOutHandler outHandler
                   setAllowRedirects True -- handle HTTP redirects
                   request $ buildRequest posturi usr lang title str
   return uri
@@ -61,8 +62,8 @@
                              , ("language", lang)
                              , ("channel", "")]
 
-fakePost ::  URI -> String -> String -> String -> String -> IO URI
-fakePost uri usr lang title str = do 
+fakePost ::  (String -> IO ()) -> URI -> String -> String -> String -> String -> IO URI
+fakePost _ uri usr lang title str = do 
   putStrLn $ "uri: "++show uri
   putStrLn $ "user: "++usr
   putStrLn $ "lang: "++lang
@@ -83,7 +84,8 @@
              title = getTitle args
              coreUri = getCoreUri args
              postFn = getPostFn args
-         uri <- postFn (saveUri coreUri) usr lang title content
+             outHandler = getOutHandler args
+         uri <- postFn outHandler (saveUri coreUri) usr lang title content
          putStrLn $ show uri
 
 -- | Determines the language from the list of arguments.
@@ -96,11 +98,15 @@
 getCoreUri :: [String] -> String
 getCoreUri = getArgVal "--uri" defaultUri
 
-getPostFn :: [String] -> URI -> String -> String -> String -> String -> IO URI
-getPostFn args = case (getArgVal "--test" "testFn" args) of
-                   "testFn"  -> fakePost
-                   _         -> post
+getPostFn :: [String] -> (String -> IO ()) -> URI -> String -> String -> String -> String -> IO URI
+getPostFn args = case (elem "--test" args) of
+                   True  -> fakePost
+                   False -> post
 
+getOutHandler :: [String] -> (String -> IO ())
+getOutHandler args = case (elem "--verbose" args) of 
+                       True  -> putStr
+                       False -> const (return ()) --squelch output.
                  
 -- | Prints the usage information.
 printHelp :: IO ()
@@ -114,6 +120,7 @@
     putStrLn " -l <language>       Defaults to haskell"
     putStrLn $ " --uri <hpaste_uri>  Defaults to "++ defaultUri
     putStrLn " --test              Fake the post--does not send anything to the server (used for testing)"
+    putStrLn " --verbose           Print the web chatter from Network.Browse"
 
 
 -- | given a flag and a default value, returns the first 
