diff --git a/Network/IRC/Commands.hs b/Network/IRC/Commands.hs
--- a/Network/IRC/Commands.hs
+++ b/Network/IRC/Commands.hs
@@ -24,8 +24,8 @@
 type Password   = ByteString
 type Reason     = ByteString
 
-mkMessage           :: ByteString -> [Parameter] -> Message
-mkMessage cmd params = Message Nothing cmd params
+mkMessage :: Command -> [Parameter] -> Message
+mkMessage = Message Nothing
 
 
 
@@ -46,11 +46,11 @@
 part  :: Channel -> Message
 part c = mkMessage "PART" [c]
 
-quit :: Maybe ByteString -> Message
+quit :: Maybe Reason -> Message
 quit (Just m) = mkMessage "QUIT" [m]
 quit Nothing  = mkMessage "QUIT" []
 
-privmsg    :: ByteString -> ByteString -> Message
+privmsg    :: Channel -> ByteString -> Message
 privmsg c m = mkMessage "PRIVMSG" [c,m]
 
 pong  :: ServerName -> Message
diff --git a/Network/IRC/Parser.hs b/Network/IRC/Parser.hs
--- a/Network/IRC/Parser.hs
+++ b/Network/IRC/Parser.hs
@@ -146,7 +146,7 @@
 message  = Message <$>
       optionMaybe (tokenize prefix)
   <*> command
-  <*> many (spaces *> parameter)
+  <*> many (some spaces *> parameter)
   <*  optional crlf
   <*  endOfInput
   <?> "message"
diff --git a/irc.cabal b/irc.cabal
--- a/irc.cabal
+++ b/irc.cabal
@@ -1,7 +1,7 @@
 name:               irc
 synopsis:           A small library for parsing IRC messages.
 description:        A set of combinators and types for parsing IRC messages.
-version:            0.6.1.0
+version:            0.6.1.1
 category:           Data, Network
 license:            BSD3
 license-file:       LICENSE
diff --git a/tests/Main.hs b/tests/Main.hs
--- a/tests/Main.hs
+++ b/tests/Main.hs
@@ -10,7 +10,7 @@
 import Data.Word (Word8)
 import Data.Char (ord)
 
-import Control.Applicative ((<$>), (<*>), liftA)
+import Control.Applicative (liftA)
 
 import Test.HUnit
 import Test.QuickCheck
