diff --git a/swig/interfaces/defines.i b/swig/interfaces/defines.i
index 8029c87439bdb70cddc2100db60606caa38a91a0..46765254d01d8714f9339d269a2e92d7f0128a2c 100644
--- a/swig/interfaces/defines.i
+++ b/swig/interfaces/defines.i
@@ -38,10 +38,7 @@
 #include "xercesc/util/QName.hpp"
 #include "xercesc/util/HexBin.hpp"
 #include "xercesc/util/Base64.hpp"
-#include "xercesc/parsers/AbstractDOMParser.hpp"
-#include "xercesc/parsers/XercesDOMParser.hpp"
 #include "xercesc/parsers/SAXParser.hpp"
-#include "xercesc/dom/DOM.hpp"
 #include "xercesc/framework/LocalFileInputSource.hpp"
 #include "xercesc/framework/MemBufInputSource.hpp"
 #include "xercesc/framework/StdInInputSource.hpp"
@@ -65,8 +62,6 @@
 #include "xercesc/framework/MemBufFormatTarget.hpp"
 #include "xercesc/framework/LocalFileFormatTarget.hpp"
 #include "xercesc/framework/StdOutFormatTarget.hpp"
-#include "xercesc/framework/Wrapper4InputSource.hpp"
-#include "xercesc/framework/Wrapper4DOMLSInput.hpp"
 #include "xercesc/framework/psvi/PSVIHandler.hpp"
 
 // for resolving XMLExceptions
@@ -91,6 +86,18 @@
 #include "xercesc/validators/datatype/InvalidDatatypeValueException.hpp"
 #include "xercesc/validators/schema/identity/XPathException.hpp"
 
+//
+// DOM stuff - wants to be moved to seperate module
+//
+#include "xercesc/dom/DOM.hpp"
+#include "xercesc/framework/Wrapper4InputSource.hpp"
+#include "xercesc/framework/Wrapper4DOMLSInput.hpp"
+#include "xercesc/parsers/AbstractDOMParser.hpp"
+#include "xercesc/parsers/XercesDOMParser.hpp"
+
+// need this for PerlNodeFilterCallbackHandler
+// #include "xercesc/dom/DOMNode.hpp"
+
 XERCES_CPP_NAMESPACE_USE
 
 // we initialize the static UTF-8 transcoding info
@@ -223,12 +230,6 @@ makeXMLException(const XMLException& e){
     SWIG_MakePtr(error, (void *) copyXMLException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__XMLException, SWIG_SHADOW|0);
 }
 
-void
-makeDOMException(const DOMException& e){
-    SV *error = ERRSV;
-    SWIG_MakePtr(error, (void *) new DOMException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMException, SWIG_SHADOW|0);
-}
-
 void
 makeSAXNotRecognizedException(const SAXNotRecognizedException& e){
     SV *error = ERRSV;
@@ -241,4 +242,10 @@ makeSAXNotSupportedException(const SAXNotSupportedException& e){
     SWIG_MakePtr(error, (void *) new SAXNotSupportedException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__SAXNotSupportedException, SWIG_SHADOW|0);
 }
 
+void
+makeDOMException(const DOMException& e){
+    SV *error = ERRSV;
+    SWIG_MakePtr(error, (void *) new DOMException(e), SWIGTYPE_p_XERCES_CPP_NAMESPACE__DOMException, SWIG_SHADOW|0);
+}
+
 %}