diff --git a/Network/XMPP.hs b/Network/XMPP.hs
--- a/Network/XMPP.hs
+++ b/Network/XMPP.hs
@@ -48,6 +48,7 @@
             , xmlPath'
             , getAttr
             , getCdata
+            , allChilds
             , xmlToString
               -- * Stanza manipulation
             , module Network.XMPP.Stanzas
diff --git a/Network/XMPP/Auth.hs b/Network/XMPP/Auth.hs
--- a/Network/XMPP/Auth.hs
+++ b/Network/XMPP/Auth.hs
@@ -10,8 +10,9 @@
           -> String             -- ^Server (part after \@ in JID)
           -> String             -- ^Password
           -> String             -- ^Resource (unique identifier for this connection)
+          -> Integer            -- ^Resource priority
           -> XMPP Integer       -- ^Error number. Zero if authentication succeeded.
-startAuth username server password resource = do
+startAuth username server password resource priority = do
   response <- sendIqWait server "get" [XML "query"
                                        [("xmlns","jabber:iq:auth")]
                                        [XML "username"
diff --git a/Network/XMPP/Stanzas.hs b/Network/XMPP/Stanzas.hs
--- a/Network/XMPP/Stanzas.hs
+++ b/Network/XMPP/Stanzas.hs
@@ -17,6 +17,7 @@
                , iqSet
                , handleVersion
                , getErrorCode
+               , hasNodeName
                )
     where
 
@@ -103,8 +104,8 @@
 --- Presence
 
 -- |Send ordinary online presence.
-sendPresence :: XMPP ()
-sendPresence = sendStanza $ XML "presence" [] []
+sendPresence :: Integer -> XMPP ()
+sendPresence priority = sendStanza $ XML "presence" [] [XML "priority" [] [CData $ show priority]]
 
 --- Stanza predicates
 
diff --git a/Network/XMPP/XMLParse.hs b/Network/XMPP/XMLParse.hs
--- a/Network/XMPP/XMLParse.hs
+++ b/Network/XMPP/XMLParse.hs
@@ -16,6 +16,7 @@
     , Text.ParserCombinators.Parsec.parse
     , Text.ParserCombinators.Parsec.Parser
     , xmlPath'
+    , allChilds
     )
     where
 
@@ -208,3 +209,8 @@
                                         _ -> False) els
 
     in xmlPath' names (concat elems')
+
+-----------------------------------------------
+-- |Get all childs of the XML element
+allChilds :: XMLElem -> [XMLElem]
+allChilds (XML _ _ c) = c
diff --git a/XMPP.cabal b/XMPP.cabal
--- a/XMPP.cabal
+++ b/XMPP.cabal
@@ -1,5 +1,5 @@
 Name:                XMPP
-Version:             0.0.2
+Version:             0.0.3
 Synopsis:            XMPP library
 Category:            Network
 Description:         XMPP library
