diff --git a/Makefile.am b/Makefile.am
index 0437c58f..0a6b95b0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -8,7 +8,7 @@ profanity_SOURCES = src/command.c src/contact.c src/history.c src/xmpp.h \
 	src/main.c src/profanity.h src/prof_history.h src/chat_log.c \
 	src/chat_log.h src/tinyurl.c src/tinyurl.h src/chat_session.c \
 	src/chat_session.h src/release.c src/release.h src/muc.c \
-	src/muc.h src/stanza.c src/stanza.h src/parser.c src/parser.h \
+	src/muc.h src/xmpp_stanza.c src/parser.c src/parser.h \
 	src/theme.c src/theme.h src/window.c src/window.h src/xdg_base.c \
 	src/xdg_base.h src/files.c src/files.h src/accounts.c src/accounts.h \
 	src/jid.h src/jid.c src/xmpp_caps.c src/xmpp_iq.c
diff --git a/src/stanza.h b/src/stanza.h
deleted file mode 100644
index e9bb870f..00000000
--- a/src/stanza.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * stanza.h
- *
- * Copyright (C) 2012, 2013 James Booth <boothj5@gmail.com>
- *
- * This file is part of Profanity.
- *
- * Profanity is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Profanity is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Profanity.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef STANZA_H
-#define STANZA_H
-
-#include <glib.h>
-#include <strophe.h>
-
-#define STANZA_NAME_ACTIVE "active"
-#define STANZA_NAME_INACTIVE "inactive"
-#define STANZA_NAME_COMPOSING "composing"
-#define STANZA_NAME_PAUSED "paused"
-#define STANZA_NAME_GONE "gone"
-
-#define STANZA_NAME_MESSAGE "message"
-#define STANZA_NAME_BODY "body"
-#define STANZA_NAME_PRESENCE "presence"
-#define STANZA_NAME_PRIORITY "priority"
-#define STANZA_NAME_X "x"
-#define STANZA_NAME_SHOW "show"
-#define STANZA_NAME_STATUS "status"
-#define STANZA_NAME_IQ "iq"
-#define STANZA_NAME_QUERY "query"
-#define STANZA_NAME_DELAY "delay"
-#define STANZA_NAME_ERROR "error"
-#define STANZA_NAME_PING "ping"
-#define STANZA_NAME_TEXT "text"
-#define STANZA_NAME_SUBJECT "subject"
-#define STANZA_NAME_ITEM "item"
-#define STANZA_NAME_C "c"
-#define STANZA_NAME_IDENTITY "identity"
-#define STANZA_NAME_FEATURE "feature"
-
-#define STANZA_TYPE_CHAT "chat"
-#define STANZA_TYPE_GROUPCHAT "groupchat"
-#define STANZA_TYPE_UNAVAILABLE "unavailable"
-#define STANZA_TYPE_SUBSCRIBE "subscribe"
-#define STANZA_TYPE_SUBSCRIBED "subscribed"
-#define STANZA_TYPE_UNSUBSCRIBED "unsubscribed"
-#define STANZA_TYPE_GET "get"
-#define STANZA_TYPE_SET "set"
-#define STANZA_TYPE_ERROR "error"
-#define STANZA_TYPE_RESULT "result"
-
-#define STANZA_ATTR_TO "to"
-#define STANZA_ATTR_FROM "from"
-#define STANZA_ATTR_STAMP "stamp"
-#define STANZA_ATTR_TYPE "type"
-#define STANZA_ATTR_CODE "code"
-#define STANZA_ATTR_JID "jid"
-#define STANZA_ATTR_NAME "name"
-#define STANZA_ATTR_SUBSCRIPTION "subscription"
-#define STANZA_ATTR_XMLNS "xmlns"
-#define STANZA_ATTR_NICK "nick"
-#define STANZA_ATTR_ASK "ask"
-#define STANZA_ATTR_ID "id"
-#define STANZA_ATTR_SECONDS "seconds"
-#define STANZA_ATTR_NODE "node"
-#define STANZA_ATTR_VER "ver"
-#define STANZA_ATTR_VAR "var"
-#define STANZA_ATTR_HASH "hash"
-
-#define STANZA_TEXT_AWAY "away"
-#define STANZA_TEXT_DND "dnd"
-#define STANZA_TEXT_CHAT "chat"
-#define STANZA_TEXT_XA "xa"
-#define STANZA_TEXT_ONLINE "online"
-
-#define STANZA_NS_CHATSTATES "http://jabber.org/protocol/chatstates"
-#define STANZA_NS_MUC "http://jabber.org/protocol/muc"
-#define STANZA_NS_MUC_USER "http://jabber.org/protocol/muc#user"
-#define STANZA_NS_CAPS "http://jabber.org/protocol/caps"
-#define STANZA_NS_PING "urn:xmpp:ping"
-#define STANZA_NS_LASTACTIVITY "jabber:iq:last"
-#define STANZA_NS_DATA "jabber:x:data"
-#define STANZA_NS_VERSION "jabber:iq:version"
-
-typedef struct form_field_t {
-    char *var;
-    GSList *values;
-} FormField;
-
-typedef struct data_form_t {
-    char *form_type;
-    GSList *fields;
-} DataForm;
-
-xmpp_stanza_t* stanza_create_chat_state(xmpp_ctx_t *ctx,
-    const char * const recipient, const char * const state);
-
-xmpp_stanza_t* stanza_create_message(xmpp_ctx_t *ctx,
-    const char * const recipient, const char * const type,
-    const char * const message, const char * const state);
-
-xmpp_stanza_t* stanza_create_room_join_presence(xmpp_ctx_t *ctx,
-    const char * const full_room_jid);
-
-xmpp_stanza_t* stanza_create_room_newnick_presence(xmpp_ctx_t *ctx,
-    const char * const full_room_jid);
-
-xmpp_stanza_t* stanza_create_room_leave_presence(xmpp_ctx_t *ctx,
-    const char * const room, const char * const nick);
-
-xmpp_stanza_t* stanza_create_presence(xmpp_ctx_t *ctx, const char * const show,
-    const char * const status);
-
-xmpp_stanza_t* stanza_create_roster_iq(xmpp_ctx_t *ctx);
-xmpp_stanza_t* stanza_create_ping_iq(xmpp_ctx_t *ctx);
-xmpp_stanza_t* stanza_create_disco_iq(xmpp_ctx_t *ctx, const char * const id,
-    const char * const to, const char * const node);
-
-gboolean stanza_contains_chat_state(xmpp_stanza_t *stanza);
-
-gboolean stanza_get_delay(xmpp_stanza_t * const stanza, GTimeVal *tv_stamp);
-
-gboolean stanza_is_muc_self_presence(xmpp_stanza_t * const stanza,
-    const char * const self_jid);
-gboolean stanza_is_room_nick_change(xmpp_stanza_t * const stanza);
-
-char * stanza_get_new_nick(xmpp_stanza_t * const stanza);
-
-int stanza_get_idle_time(xmpp_stanza_t * const stanza);
-char * stanza_get_caps_str(xmpp_stanza_t * const stanza);
-gboolean stanza_contains_caps(xmpp_stanza_t * const stanza);
-char * stanza_caps_get_hash(xmpp_stanza_t * const stanza);
-gboolean stanza_is_caps_request(xmpp_stanza_t * const stanza);
-
-gboolean stanza_is_version_request(xmpp_stanza_t * const stanza);
-
-DataForm * stanza_create_form(xmpp_stanza_t * const stanza);
-void stanza_destroy_form(DataForm *form);
-
-#endif
diff --git a/src/xmpp.h b/src/xmpp.h
index 87bf41f8..4d8d9898 100644
--- a/src/xmpp.h
+++ b/src/xmpp.h
@@ -28,6 +28,78 @@
 #include "accounts.h"
 #include "jid.h"
 
+#define JABBER_PRIORITY_MIN -128
+#define JABBER_PRIORITY_MAX 127
+
+#define STANZA_NAME_ACTIVE "active"
+#define STANZA_NAME_INACTIVE "inactive"
+#define STANZA_NAME_COMPOSING "composing"
+#define STANZA_NAME_PAUSED "paused"
+#define STANZA_NAME_GONE "gone"
+
+#define STANZA_NAME_MESSAGE "message"
+#define STANZA_NAME_BODY "body"
+#define STANZA_NAME_PRESENCE "presence"
+#define STANZA_NAME_PRIORITY "priority"
+#define STANZA_NAME_X "x"
+#define STANZA_NAME_SHOW "show"
+#define STANZA_NAME_STATUS "status"
+#define STANZA_NAME_IQ "iq"
+#define STANZA_NAME_QUERY "query"
+#define STANZA_NAME_DELAY "delay"
+#define STANZA_NAME_ERROR "error"
+#define STANZA_NAME_PING "ping"
+#define STANZA_NAME_TEXT "text"
+#define STANZA_NAME_SUBJECT "subject"
+#define STANZA_NAME_ITEM "item"
+#define STANZA_NAME_C "c"
+#define STANZA_NAME_IDENTITY "identity"
+#define STANZA_NAME_FEATURE "feature"
+
+#define STANZA_TYPE_CHAT "chat"
+#define STANZA_TYPE_GROUPCHAT "groupchat"
+#define STANZA_TYPE_UNAVAILABLE "unavailable"
+#define STANZA_TYPE_SUBSCRIBE "subscribe"
+#define STANZA_TYPE_SUBSCRIBED "subscribed"
+#define STANZA_TYPE_UNSUBSCRIBED "unsubscribed"
+#define STANZA_TYPE_GET "get"
+#define STANZA_TYPE_SET "set"
+#define STANZA_TYPE_ERROR "error"
+#define STANZA_TYPE_RESULT "result"
+
+#define STANZA_ATTR_TO "to"
+#define STANZA_ATTR_FROM "from"
+#define STANZA_ATTR_STAMP "stamp"
+#define STANZA_ATTR_TYPE "type"
+#define STANZA_ATTR_CODE "code"
+#define STANZA_ATTR_JID "jid"
+#define STANZA_ATTR_NAME "name"
+#define STANZA_ATTR_SUBSCRIPTION "subscription"
+#define STANZA_ATTR_XMLNS "xmlns"
+#define STANZA_ATTR_NICK "nick"
+#define STANZA_ATTR_ASK "ask"
+#define STANZA_ATTR_ID "id"
+#define STANZA_ATTR_SECONDS "seconds"
+#define STANZA_ATTR_NODE "node"
+#define STANZA_ATTR_VER "ver"
+#define STANZA_ATTR_VAR "var"
+#define STANZA_ATTR_HASH "hash"
+
+#define STANZA_TEXT_AWAY "away"
+#define STANZA_TEXT_DND "dnd"
+#define STANZA_TEXT_CHAT "chat"
+#define STANZA_TEXT_XA "xa"
+#define STANZA_TEXT_ONLINE "online"
+
+#define STANZA_NS_CHATSTATES "http://jabber.org/protocol/chatstates"
+#define STANZA_NS_MUC "http://jabber.org/protocol/muc"
+#define STANZA_NS_MUC_USER "http://jabber.org/protocol/muc#user"
+#define STANZA_NS_CAPS "http://jabber.org/protocol/caps"
+#define STANZA_NS_PING "urn:xmpp:ping"
+#define STANZA_NS_LASTACTIVITY "jabber:iq:last"
+#define STANZA_NS_DATA "jabber:x:data"
+#define STANZA_NS_VERSION "jabber:iq:version"
+
 typedef enum {
     JABBER_UNDEFINED,
     JABBER_STARTED,
@@ -52,13 +124,20 @@ typedef enum {
     PRESENCE_UNSUBSCRIBED
 } jabber_subscr_t;
 
-#define JABBER_PRIORITY_MIN -128
-#define JABBER_PRIORITY_MAX 127
-
 typedef struct capabilities_t {
     char *client;
 } Capabilities;
 
+typedef struct form_field_t {
+    char *var;
+    GSList *values;
+} FormField;
+
+typedef struct data_form_t {
+    char *form_type;
+    GSList *fields;
+} DataForm;
+
 // connection functions
 void jabber_init(const int disable_tls);
 jabber_conn_status_t jabber_connect_with_details(const char * const jid,
@@ -101,4 +180,50 @@ char* caps_create_sha1_str(xmpp_stanza_t * const query);
 xmpp_stanza_t* caps_create_query_response_stanza(xmpp_ctx_t * const ctx);
 void caps_close(void);
 
+// stanza related functions
+xmpp_stanza_t* stanza_create_chat_state(xmpp_ctx_t *ctx,
+    const char * const recipient, const char * const state);
+
+xmpp_stanza_t* stanza_create_message(xmpp_ctx_t *ctx,
+    const char * const recipient, const char * const type,
+    const char * const message, const char * const state);
+
+xmpp_stanza_t* stanza_create_room_join_presence(xmpp_ctx_t *ctx,
+    const char * const full_room_jid);
+
+xmpp_stanza_t* stanza_create_room_newnick_presence(xmpp_ctx_t *ctx,
+    const char * const full_room_jid);
+
+xmpp_stanza_t* stanza_create_room_leave_presence(xmpp_ctx_t *ctx,
+    const char * const room, const char * const nick);
+
+xmpp_stanza_t* stanza_create_presence(xmpp_ctx_t *ctx, const char * const show,
+    const char * const status);
+
+xmpp_stanza_t* stanza_create_roster_iq(xmpp_ctx_t *ctx);
+xmpp_stanza_t* stanza_create_ping_iq(xmpp_ctx_t *ctx);
+xmpp_stanza_t* stanza_create_disco_iq(xmpp_ctx_t *ctx, const char * const id,
+    const char * const to, const char * const node);
+
+gboolean stanza_contains_chat_state(xmpp_stanza_t *stanza);
+
+gboolean stanza_get_delay(xmpp_stanza_t * const stanza, GTimeVal *tv_stamp);
+
+gboolean stanza_is_muc_self_presence(xmpp_stanza_t * const stanza,
+    const char * const self_jid);
+gboolean stanza_is_room_nick_change(xmpp_stanza_t * const stanza);
+
+char * stanza_get_new_nick(xmpp_stanza_t * const stanza);
+
+int stanza_get_idle_time(xmpp_stanza_t * const stanza);
+char * stanza_get_caps_str(xmpp_stanza_t * const stanza);
+gboolean stanza_contains_caps(xmpp_stanza_t * const stanza);
+char * stanza_caps_get_hash(xmpp_stanza_t * const stanza);
+gboolean stanza_is_caps_request(xmpp_stanza_t * const stanza);
+
+gboolean stanza_is_version_request(xmpp_stanza_t * const stanza);
+
+DataForm * stanza_create_form(xmpp_stanza_t * const stanza);
+void stanza_destroy_form(DataForm *form);
+
 #endif
diff --git a/src/xmpp_caps.c b/src/xmpp_caps.c
index ff3e044b..2bf84f1f 100644
--- a/src/xmpp_caps.c
+++ b/src/xmpp_caps.c
@@ -29,7 +29,6 @@
 
 #include "config.h"
 #include "common.h"
-#include "stanza.h"
 #include "xmpp.h"
 
 static GHashTable *capabilities;
diff --git a/src/xmpp_conn.c b/src/xmpp_conn.c
index c0dd7a61..6b37fe8b 100644
--- a/src/xmpp_conn.c
+++ b/src/xmpp_conn.c
@@ -34,7 +34,6 @@
 #include "preferences.h"
 #include "profanity.h"
 #include "muc.h"
-#include "stanza.h"
 #include "xmpp.h"
 
 static struct _jabber_conn_t {
diff --git a/src/xmpp_iq.c b/src/xmpp_iq.c
index a6329d96..0d6dbada 100644
--- a/src/xmpp_iq.c
+++ b/src/xmpp_iq.c
@@ -29,7 +29,6 @@
 #include "config.h"
 #include "contact_list.h"
 #include "log.h"
-#include "stanza.h"
 #include "xmpp.h"
 
 #define HANDLE(ns, type, func) xmpp_handler_add(conn, func, ns, STANZA_NAME_IQ, type, ctx)
diff --git a/src/stanza.c b/src/xmpp_stanza.c
similarity index 99%
rename from src/stanza.c
rename to src/xmpp_stanza.c
index 554dfc1c..3eda99df 100644
--- a/src/stanza.c
+++ b/src/xmpp_stanza.c
@@ -1,5 +1,5 @@
 /*
- * stanza.c
+ * xmpp_stanza.c
  *
  * Copyright (C) 2012, 2013 James Booth <boothj5@gmail.com>
  *
@@ -27,7 +27,7 @@
 #include <strophe.h>
 
 #include "common.h"
-#include "stanza.h"
+#include "xmpp.h"
 
 static int _field_compare(FormField *f1, FormField *f2);