diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -32,6 +32,7 @@
 import Control.Concurrent (forkIO,threadDelay)
 import qualified Control.Parallel.Strategies as Par (NFData(..))
 
+import System.Console.GetOpt
 import Text.Printf
 import Network
 
@@ -44,6 +45,7 @@
                , port    :: !Int
                , channel :: String
                , nick    :: String
+               , links   :: !Bool
                }
 
 {-
@@ -53,16 +55,21 @@
 nick   = "archrss"
 -}
 
+data Flag = Links deriving Eq
+
 main :: IO ()
 main = do
-    args <- getArgs
+    (flags, args, errs) <- getOpt Permute [Option ['l'] ["links"] (NoArg Links) "include link URLs"] `fmap` getArgs
+    when (not . null $ errs) help
+    let l = Links `elem` flags
     (st, feed, prefix) <- case args of
          [s,p,c,n,f,z] | Just intp <- maybeRead p ->
              return (Bot { socket  = stdout
                          , server  = s
                          , port    = intp
                          , channel = c
-                         , nick    = n }
+                         , nick    = n
+                         , links   = l }
                          ,f, z)
 
          _ -> help
@@ -96,14 +103,15 @@
     n <- asks nick
     c <- asks channel
     h <- asks socket
+    l <- asks links
 
     write "NICK" n
-    write "USER" (n++" 0 * :tutorial bot")
+    write "USER" (n++" 0 * :rss2irc gateway")
     write "JOIN" c
 
     -- run RSS thread
     -- main thread just listens on commands
-    liftIO $ forkIO $ reader c h feed prefix
+    liftIO $ forkIO $ reader c h l feed prefix
     listen h
 
 --
@@ -124,8 +132,8 @@
 --
 -- wait on an RSS thread, updating every 60 minutes.
 --
-reader :: String -> Handle -> String -> String -> IO ()
-reader c h url prefix = go []
+reader :: String -> Handle -> Bool -> String -> String -> IO ()
+reader c h l url prefix = go []
   where
     go old = do
         RSSFeed f <- (fromJust . parseFeedString) `fmap` openURL url
@@ -135,7 +143,8 @@
         forM_ (take 5 diff) $ \item -> do
             case rssItemTitle item of
                 Nothing -> return ()
-                Just t  -> privmsgH h c $ prefix ++ t
+                Just t  -> privmsgH h c $ prefix ++ t ++ if l then linkText else ""
+                  where linkText = maybe "" ("  " ++) (rssItemLink item)
 
         threadDelay (60 * minutes)
         go new
@@ -183,7 +192,7 @@
 ------------------------------------------------------------------------
 
 help = do
-    putStrLn "rss2irc <server> <port> <channel> <nick> <feed-url> <msg-prefix>"
+    putStrLn "rss2irc [--links] <server> <port> <channel> <nick> <feed-url> <msg-prefix>"
     exitWith ExitSuccess
 
 maybeRead :: Read a => String -> Maybe a
diff --git a/rss2irc.cabal b/rss2irc.cabal
--- a/rss2irc.cabal
+++ b/rss2irc.cabal
@@ -1,5 +1,5 @@
 name:                rss2irc
-version:             0.1
+version:             0.2
 homepage:            http://code.haskell.org/~dons/code/rss2irc
 license:             BSD3
 license-file:        LICENSE
