diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/CustomBuilderManager.java b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/CustomBuilderManager.java
index 83370ed..c337984 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/CustomBuilderManager.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/CustomBuilderManager.java
@@ -30,10 +30,10 @@
 import org.apache.axiom.om.impl.common.OMNamespaceImpl;
 import org.apache.axiom.om.impl.intf.AxiomElement;
 import org.apache.axiom.om.impl.intf.AxiomSourcedElement;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11HeaderBlock;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12HeaderBlock;
 import org.apache.axiom.soap.impl.intf.AxiomSOAPElement;
 import org.apache.axiom.soap.impl.intf.AxiomSOAPHeaderBlock;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11HeaderBlock;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12HeaderBlock;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAP11BuilderHelper.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAP11BuilderHelper.java
index d12ab3e..863969a 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAP11BuilderHelper.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAP11BuilderHelper.java
@@ -23,10 +23,10 @@
 import org.apache.axiom.om.impl.intf.AxiomElement;
 import org.apache.axiom.soap.SOAP11Constants;
 import org.apache.axiom.soap.SOAPProcessingException;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultCode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultDetail;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultReason;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultRole;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultCode;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultDetail;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultReason;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultRole;
 import org.w3c.dom.Element;
 
 public class SOAP11BuilderHelper extends SOAPBuilderHelper implements SOAP11Constants {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAP12BuilderHelper.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAP12BuilderHelper.java
index 32a9287..dfe7af0 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAP12BuilderHelper.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAP12BuilderHelper.java
@@ -23,14 +23,14 @@
 import org.apache.axiom.om.impl.intf.AxiomElement;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPProcessingException;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultCode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultDetail;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultReason;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultRole;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultSubCode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultText;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultValue;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultCode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultDetail;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultNode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultReason;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultRole;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultSubCode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultText;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultValue;
 
 import java.util.Vector;
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/factory/SOAP12Factory.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/factory/SOAP12Factory.java
index 71ce2bd..709c089 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/factory/SOAP12Factory.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/factory/SOAP12Factory.java
@@ -30,11 +30,11 @@
 import org.apache.axiom.soap.SOAPFaultSubCode;
 import org.apache.axiom.soap.SOAPFaultText;
 import org.apache.axiom.soap.SOAPFaultValue;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultSubCode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultText;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultValue;
 import org.apache.axiom.soap.impl.intf.SOAPHelper;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultNode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultSubCode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultText;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultValue;
 
 public class SOAP12Factory extends SOAPFactoryImpl {
     public SOAP12Factory(OMMetaFactory metaFactory, NodeFactory nodeFactory) {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/SOAPHelper.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/SOAPHelper.java
index 477f512..b76919d 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/SOAPHelper.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/SOAPHelper.java
@@ -28,6 +28,24 @@
 import org.apache.axiom.soap.SOAPConstants;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPVersion;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Body;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Envelope;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Fault;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultCode;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultDetail;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultReason;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultRole;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Header;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11HeaderBlock;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Body;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Envelope;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Fault;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultCode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultDetail;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultReason;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultRole;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Header;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12HeaderBlock;
 
 /**
  * Encapsulates certain SOAP version specific behaviors. This API defines methods that could also be
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Body.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Body.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Body.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Body.java
index 52cbd0d..fc01b2f 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Body.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Body.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap11;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPBody;
 
 public interface AxiomSOAP11Body extends AxiomSOAPBody, AxiomSOAP11Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Element.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Element.java
similarity index 88%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Element.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Element.java
index 96074ff..b9e06f4 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Element.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Element.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap11;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPElement;
 
 public interface AxiomSOAP11Element extends AxiomSOAPElement {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Envelope.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Envelope.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Envelope.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Envelope.java
index f75261e..941e355 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Envelope.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Envelope.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap11;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPEnvelope;
 
 public interface AxiomSOAP11Envelope extends AxiomSOAPEnvelope, AxiomSOAP11Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Fault.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Fault.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Fault.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Fault.java
index a873d30..bb25517 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Fault.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Fault.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap11;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPFault;
 
 public interface AxiomSOAP11Fault extends AxiomSOAPFault, AxiomSOAP11Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultCode.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultCode.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultCode.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultCode.java
index 2c064fa..8868e67 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultCode.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultCode.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap11;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPFaultCode;
 
 public interface AxiomSOAP11FaultCode extends AxiomSOAPFaultCode, AxiomSOAP11Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultDetail.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultDetail.java
similarity index 88%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultDetail.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultDetail.java
index f091334..5cc6579 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultDetail.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultDetail.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap11;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPFaultDetail;
 
 public interface AxiomSOAP11FaultDetail extends AxiomSOAPFaultDetail, AxiomSOAP11Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultReason.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultReason.java
similarity index 88%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultReason.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultReason.java
index 80e76c1..599aa0a 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultReason.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultReason.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap11;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPFaultReason;
 
 public interface AxiomSOAP11FaultReason extends AxiomSOAPFaultReason, AxiomSOAP11Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultRole.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultRole.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultRole.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultRole.java
index 36c530e..59cf8a5 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11FaultRole.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11FaultRole.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap11;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPFaultRole;
 
 public interface AxiomSOAP11FaultRole extends AxiomSOAPFaultRole, AxiomSOAP11Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Header.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Header.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Header.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Header.java
index 4249d6e..4cd3a7f 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11Header.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11Header.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap11;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPHeader;
 
 public interface AxiomSOAP11Header extends AxiomSOAPHeader, AxiomSOAP11Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11HeaderBlock.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11HeaderBlock.java
similarity index 88%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11HeaderBlock.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11HeaderBlock.java
index 007507d..8288a9f 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP11HeaderBlock.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap11/AxiomSOAP11HeaderBlock.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap11;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPHeaderBlock;
 
 public interface AxiomSOAP11HeaderBlock extends AxiomSOAPHeaderBlock, AxiomSOAP11Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Body.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Body.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Body.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Body.java
index f2b24b2..8b1cc04 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Body.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Body.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPBody;
 
 public interface AxiomSOAP12Body extends AxiomSOAPBody, AxiomSOAP12Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Element.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Element.java
similarity index 88%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Element.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Element.java
index f9cc408..893588e 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Element.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Element.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPElement;
 
 public interface AxiomSOAP12Element extends AxiomSOAPElement {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Envelope.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Envelope.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Envelope.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Envelope.java
index 634be06..626612c 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Envelope.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Envelope.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPEnvelope;
 
 public interface AxiomSOAP12Envelope extends AxiomSOAPEnvelope, AxiomSOAP12Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Fault.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Fault.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Fault.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Fault.java
index 427ddaf..1fd0a59 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Fault.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Fault.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPFault;
 
 public interface AxiomSOAP12Fault extends AxiomSOAPFault, AxiomSOAP12Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultClassifier.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultClassifier.java
similarity index 94%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultClassifier.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultClassifier.java
index 13b5c07..15f7eda 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultClassifier.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultClassifier.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
 
 import org.apache.axiom.soap.SOAPFaultClassifier;
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultCode.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultCode.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultCode.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultCode.java
index 5602d4f..fd39c75 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultCode.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultCode.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPFaultCode;
 
 public interface AxiomSOAP12FaultCode extends AxiomSOAPFaultCode, AxiomSOAP12FaultClassifier {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultDetail.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultDetail.java
similarity index 88%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultDetail.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultDetail.java
index 79ea6f1..d878cf0 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultDetail.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultDetail.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPFaultDetail;
 
 public interface AxiomSOAP12FaultDetail extends AxiomSOAPFaultDetail, AxiomSOAP12Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultNode.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultNode.java
similarity index 94%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultNode.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultNode.java
index dd54854..0ede965 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultNode.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultNode.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
 
 import org.apache.axiom.soap.SOAPFaultNode;
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultReason.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultReason.java
similarity index 88%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultReason.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultReason.java
index 92cf42a..2d45597 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultReason.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultReason.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPFaultReason;
 
 public interface AxiomSOAP12FaultReason extends AxiomSOAPFaultReason, AxiomSOAP12Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultRole.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultRole.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultRole.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultRole.java
index ba1ee97..adf669f 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultRole.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultRole.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPFaultRole;
 
 public interface AxiomSOAP12FaultRole extends AxiomSOAPFaultRole, AxiomSOAP12Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultSubCode.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultSubCode.java
similarity index 94%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultSubCode.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultSubCode.java
index 4eedd7a..2ea53ae 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultSubCode.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultSubCode.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
 
 import org.apache.axiom.soap.SOAPFaultSubCode;
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultText.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultText.java
similarity index 94%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultText.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultText.java
index 252778d..fa5cba6 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultText.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultText.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
 
 import org.apache.axiom.soap.SOAPFaultText;
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultValue.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultValue.java
similarity index 94%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultValue.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultValue.java
index 2c760da..cd684e0 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12FaultValue.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12FaultValue.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
 
 import org.apache.axiom.soap.SOAPFaultValue;
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Header.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Header.java
similarity index 89%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Header.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Header.java
index 30ae645..42fa4fa 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12Header.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12Header.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPHeader;
 
 public interface AxiomSOAP12Header extends AxiomSOAPHeader, AxiomSOAP12Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12HeaderBlock.java b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12HeaderBlock.java
similarity index 88%
rename from aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12HeaderBlock.java
rename to aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12HeaderBlock.java
index 1078df8..dacc43e 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/AxiomSOAP12HeaderBlock.java
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/intf/soap12/AxiomSOAP12HeaderBlock.java
@@ -16,7 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.axiom.soap.impl.intf;
+package org.apache.axiom.soap.impl.intf.soap12;
+
+import org.apache.axiom.soap.impl.intf.AxiomSOAPHeaderBlock;
 
 public interface AxiomSOAP12HeaderBlock extends AxiomSOAPHeaderBlock, AxiomSOAP12Element {
 
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11BodySupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11BodySupport.aj
index b8c0f38..7adce50 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11BodySupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11BodySupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Body;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Body;
 
 public aspect AxiomSOAP11BodySupport {
     public final Class<? extends CoreNode> AxiomSOAP11Body.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11ElementSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11ElementSupport.aj
index 84daa0f..3bf61a6 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11ElementSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11ElementSupport.aj
@@ -18,8 +18,8 @@
  */
 package org.apache.axiom.soap.impl.mixin;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Element;
 import org.apache.axiom.soap.impl.intf.SOAPHelper;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Element;
 
 public aspect AxiomSOAP11ElementSupport {
     public final SOAPHelper AxiomSOAP11Element.getSOAPHelper() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11EnvelopeSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11EnvelopeSupport.aj
index f835986..edcdf91 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11EnvelopeSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11EnvelopeSupport.aj
@@ -22,8 +22,8 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPHeader;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Envelope;
 import org.apache.axiom.soap.impl.intf.AxiomSOAPElement;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Envelope;
 
 public aspect AxiomSOAP11EnvelopeSupport {
     public final Class<? extends CoreNode> AxiomSOAP11Envelope.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultCodeSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultCodeSupport.aj
index 8549d11..b922ef7 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultCodeSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultCodeSupport.aj
@@ -24,7 +24,7 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.soap.SOAPFaultSubCode;
 import org.apache.axiom.soap.SOAPFaultValue;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultCode;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultCode;
 
 public aspect AxiomSOAP11FaultCodeSupport {
     public final boolean AxiomSOAP11FaultCode.isChildElementAllowed(OMElement child) {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultDetailSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultDetailSupport.aj
index d28eafc..1f5997c 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultDetailSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultDetailSupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultDetail;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultDetail;
 
 public aspect AxiomSOAP11FaultDetailSupport {
     public final Class<? extends CoreNode> AxiomSOAP11FaultDetail.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultReasonSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultReasonSupport.aj
index 8b1d682..27878ee 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultReasonSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultReasonSupport.aj
@@ -25,7 +25,7 @@
 import org.apache.axiom.core.CoreNode;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.soap.SOAPFaultText;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultReason;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultReason;
 
 public aspect AxiomSOAP11FaultReasonSupport {
     public final Class<? extends CoreNode> AxiomSOAP11FaultReason.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultRoleSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultRoleSupport.aj
index 11fb8bd..a4746bb 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultRoleSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultRoleSupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultRole;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultRole;
 
 public aspect AxiomSOAP11FaultRoleSupport {
     public final Class<? extends CoreNode> AxiomSOAP11FaultRole.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultSupport.aj
index 63494a9..c9695cf 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11FaultSupport.aj
@@ -26,7 +26,7 @@
 import org.apache.axiom.soap.SOAPFaultNode;
 import org.apache.axiom.soap.SOAPFaultReason;
 import org.apache.axiom.soap.SOAPFaultRole;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Fault;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Fault;
 
 public aspect AxiomSOAP11FaultSupport {
     private static final Sequence sequence = new Sequence(SOAPFaultCode.class, SOAPFaultReason.class,
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11HeaderBlockSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11HeaderBlockSupport.aj
index 3af6ef8..341104c 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11HeaderBlockSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11HeaderBlockSupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11HeaderBlock;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11HeaderBlock;
 
 public aspect AxiomSOAP11HeaderBlockSupport {
     public final Class<? extends CoreNode> AxiomSOAP11HeaderBlock.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11HeaderSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11HeaderSupport.aj
index 6dbb2cf..f4d488f 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11HeaderSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP11HeaderSupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Header;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Header;
 
 public aspect AxiomSOAP11HeaderSupport {
     public final Class<? extends CoreNode> AxiomSOAP11Header.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12BodySupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12BodySupport.aj
index 9cb85da..dc86160 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12BodySupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12BodySupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Body;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Body;
 
 public aspect AxiomSOAP12BodySupport {
     public final Class<? extends CoreNode> AxiomSOAP12Body.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12ElementSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12ElementSupport.aj
index 835584a..c717f71 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12ElementSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12ElementSupport.aj
@@ -18,8 +18,8 @@
  */
 package org.apache.axiom.soap.impl.mixin;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Element;
 import org.apache.axiom.soap.impl.intf.SOAPHelper;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Element;
 
 public aspect AxiomSOAP12ElementSupport {
     public final SOAPHelper AxiomSOAP12Element.getSOAPHelper() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12EnvelopeSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12EnvelopeSupport.aj
index 879928d..4e6f8c2 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12EnvelopeSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12EnvelopeSupport.aj
@@ -22,7 +22,7 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPHeader;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Envelope;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Envelope;
 
 public aspect AxiomSOAP12EnvelopeSupport {
     public final Class<? extends CoreNode> AxiomSOAP12Envelope.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultClassifierSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultClassifierSupport.aj
index 4620641..0ac271c 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultClassifierSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultClassifierSupport.aj
@@ -26,7 +26,7 @@
 import org.apache.axiom.soap.SOAPFaultSubCode;
 import org.apache.axiom.soap.SOAPFaultValue;
 import org.apache.axiom.soap.impl.factory.SOAP12Factory;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultClassifier;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultClassifier;
 
 public aspect AxiomSOAP12FaultClassifierSupport {
     private static final Sequence sequence = new Sequence(SOAPFaultValue.class, SOAPFaultSubCode.class);
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultCodeSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultCodeSupport.aj
index da6363e..121d3a5 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultCodeSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultCodeSupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultCode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultCode;
 
 public aspect AxiomSOAP12FaultCodeSupport {
     public final Class<? extends CoreNode> AxiomSOAP12FaultCode.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultDetailSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultDetailSupport.aj
index 7805ef9..9ff2dc1 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultDetailSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultDetailSupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultDetail;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultDetail;
 
 public aspect AxiomSOAP12FaultDetailSupport {
     public final Class<? extends CoreNode> AxiomSOAP12FaultDetail.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultNodeSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultNodeSupport.aj
index 35ac0d2..c71f83f 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultNodeSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultNodeSupport.aj
@@ -20,7 +20,7 @@
 
 import org.apache.axiom.core.CoreNode;
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultNode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultNode;
 
 public aspect AxiomSOAP12FaultNodeSupport {
     public final Class<? extends CoreNode> AxiomSOAP12FaultNode.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultReasonSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultReasonSupport.aj
index 8aa4893..cf7f999 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultReasonSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultReasonSupport.aj
@@ -27,7 +27,7 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.impl.common.util.LocaleUtil;
 import org.apache.axiom.soap.SOAPFaultText;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultReason;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultReason;
 
 public aspect AxiomSOAP12FaultReasonSupport {
     public final Class<? extends CoreNode> AxiomSOAP12FaultReason.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultRoleSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultRoleSupport.aj
index 03b9872..cee424a 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultRoleSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultRoleSupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultRole;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultRole;
 
 public aspect AxiomSOAP12FaultRoleSupport {
     public final Class<? extends CoreNode> AxiomSOAP12FaultRole.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultSubCodeSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultSubCodeSupport.aj
index 7180ff8..791a81f 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultSubCodeSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultSubCodeSupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultSubCode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultSubCode;
 
 public aspect AxiomSOAP12FaultSubCodeSupport {
     public final Class<? extends CoreNode> AxiomSOAP12FaultSubCode.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultSupport.aj
index 5eb9e02..4764964 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultSupport.aj
@@ -26,7 +26,7 @@
 import org.apache.axiom.soap.SOAPFaultNode;
 import org.apache.axiom.soap.SOAPFaultReason;
 import org.apache.axiom.soap.SOAPFaultRole;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Fault;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Fault;
 
 public aspect AxiomSOAP12FaultSupport {
     private static final Sequence sequence = new Sequence(SOAPFaultCode.class, SOAPFaultReason.class,
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultTextSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultTextSupport.aj
index 43fd9d3..ee4924a 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultTextSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultTextSupport.aj
@@ -25,7 +25,7 @@
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.impl.common.OMNamespaceImpl;
 import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultText;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultText;
 
 public aspect AxiomSOAP12FaultTextSupport {
     private static final OMNamespace LANG_NAMESPACE = new OMNamespaceImpl(
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultValueSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultValueSupport.aj
index e1be8e9..40579a7 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultValueSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12FaultValueSupport.aj
@@ -20,7 +20,7 @@
 
 import org.apache.axiom.core.CoreNode;
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultValue;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultValue;
 
 public aspect AxiomSOAP12FaultValueSupport {
     public final boolean AxiomSOAP12FaultValue.isChildElementAllowed(OMElement child) {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12HeaderBlockSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12HeaderBlockSupport.aj
index eb86e11..882ddb2 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12HeaderBlockSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12HeaderBlockSupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12HeaderBlock;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12HeaderBlock;
 
 public aspect AxiomSOAP12HeaderBlockSupport {
     public final Class<? extends CoreNode> AxiomSOAP12HeaderBlock.coreGetNodeClass() {
diff --git a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12HeaderSupport.aj b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12HeaderSupport.aj
index 66d9097..2e7dc8d 100644
--- a/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12HeaderSupport.aj
+++ b/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAP12HeaderSupport.aj
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.mixin;
 
 import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Header;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Header;
 
 public aspect AxiomSOAP12HeaderSupport {
     public final Class<? extends CoreNode> AxiomSOAP12Header.coreGetNodeClass() {
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11BodyImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11BodyImpl.java
index fabb155..7b16e70 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11BodyImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11BodyImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap11;
 
 import org.apache.axiom.soap.impl.dom.SOAPBodyImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Body;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Body;
 
 public class SOAP11BodyImpl extends SOAPBodyImpl implements AxiomSOAP11Body {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11EnvelopeImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11EnvelopeImpl.java
index 5232d5f..3af8ca1 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11EnvelopeImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11EnvelopeImpl.java
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.dom.soap11;
 
 import org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Envelope;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Envelope;
 
 public class SOAP11EnvelopeImpl extends SOAPEnvelopeImpl implements AxiomSOAP11Envelope {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
index 8395620..52c9eb2 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap11;
 
 import org.apache.axiom.soap.impl.dom.SOAPFaultCodeImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultCode;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultCode;
 
 public class SOAP11FaultCodeImpl extends SOAPFaultCodeImpl implements AxiomSOAP11FaultCode {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java
index ef9f844..5998a7f 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap11;
 
 import org.apache.axiom.soap.impl.dom.SOAPFaultDetailImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultDetail;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultDetail;
 
 public class SOAP11FaultDetailImpl extends SOAPFaultDetailImpl implements AxiomSOAP11FaultDetail {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultImpl.java
index 2d359c8..88086dc 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap11;
 
 import org.apache.axiom.soap.impl.dom.SOAPFaultImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Fault;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Fault;
 
 public class SOAP11FaultImpl extends SOAPFaultImpl implements AxiomSOAP11Fault {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultReasonImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultReasonImpl.java
index 0f2970b..ec7016a 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultReasonImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultReasonImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap11;
 
 import org.apache.axiom.soap.impl.dom.SOAPFaultReasonImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultReason;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultReason;
 
 public class SOAP11FaultReasonImpl extends SOAPFaultReasonImpl implements AxiomSOAP11FaultReason {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultRoleImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultRoleImpl.java
index 7464950..d2faf1f 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultRoleImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultRoleImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap11;
 
 import org.apache.axiom.soap.impl.dom.SOAPFaultRoleImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultRole;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultRole;
 
 public class SOAP11FaultRoleImpl extends SOAPFaultRoleImpl implements AxiomSOAP11FaultRole {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java
index 5586333..95e039a 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap11;
 
 import org.apache.axiom.soap.impl.dom.SOAPHeaderBlockImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11HeaderBlock;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11HeaderBlock;
 
 public class SOAP11HeaderBlockImpl extends SOAPHeaderBlockImpl implements AxiomSOAP11HeaderBlock {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java
index 9da8bdb..d41cc66 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap11;
 
 import org.apache.axiom.soap.impl.dom.SOAPHeaderImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Header;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Header;
 
 public class SOAP11HeaderImpl extends SOAPHeaderImpl implements AxiomSOAP11Header {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12BodyImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12BodyImpl.java
index 7782195..69772d1 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12BodyImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12BodyImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPBodyImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Body;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Body;
 
 public class SOAP12BodyImpl extends SOAPBodyImpl implements AxiomSOAP12Body {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12EnvelopeImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12EnvelopeImpl.java
index db74305..082c5fb 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12EnvelopeImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12EnvelopeImpl.java
@@ -19,7 +19,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Envelope;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Envelope;
 
 public class SOAP12EnvelopeImpl extends SOAPEnvelopeImpl implements AxiomSOAP12Envelope {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
index 5e3f844..4646ccc 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPFaultCodeImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultCode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultCode;
 
 public class SOAP12FaultCodeImpl extends SOAPFaultCodeImpl implements AxiomSOAP12FaultCode {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultDetailImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultDetailImpl.java
index db3b80e..bf6fb95 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultDetailImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultDetailImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPFaultDetailImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultDetail;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultDetail;
 
 public class SOAP12FaultDetailImpl extends SOAPFaultDetailImpl implements AxiomSOAP12FaultDetail {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultImpl.java
index 6d06f86..c788b03 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPFaultImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Fault;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Fault;
 
 public class SOAP12FaultImpl extends SOAPFaultImpl implements AxiomSOAP12Fault {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultNodeImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultNodeImpl.java
index 7504d7d..118f5ff 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultNodeImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultNodeImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPElement;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultNode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultNode;
 
 public class SOAP12FaultNodeImpl extends SOAPElement implements AxiomSOAP12FaultNode {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultReasonImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultReasonImpl.java
index 86676f3..2b0b60e 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultReasonImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultReasonImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPFaultReasonImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultReason;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultReason;
 
 public class SOAP12FaultReasonImpl extends SOAPFaultReasonImpl implements AxiomSOAP12FaultReason {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultRoleImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultRoleImpl.java
index 6aa034a..7143d9e 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultRoleImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultRoleImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPFaultRoleImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultRole;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultRole;
 
 public class SOAP12FaultRoleImpl extends SOAPFaultRoleImpl implements AxiomSOAP12FaultRole {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
index 6b31c96..3c6ab7f 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPElement;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultSubCode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultSubCode;
 
 public class SOAP12FaultSubCodeImpl extends SOAPElement implements AxiomSOAP12FaultSubCode {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultTextImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultTextImpl.java
index 922f3b3..831ebac 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultTextImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultTextImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPElement;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultText;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultText;
 
 public class SOAP12FaultTextImpl extends SOAPElement implements AxiomSOAP12FaultText {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultValueImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultValueImpl.java
index 603d24b..3ffe07a 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultValueImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultValueImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPElement;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultValue;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultValue;
 
 public class SOAP12FaultValueImpl extends SOAPElement implements AxiomSOAP12FaultValue {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java
index 95a8106..b372ef2 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPHeaderBlockImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12HeaderBlock;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12HeaderBlock;
 
 public class SOAP12HeaderBlockImpl extends SOAPHeaderBlockImpl implements AxiomSOAP12HeaderBlock {
 
diff --git a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java
index d25973c..b39e5d2 100644
--- a/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java
+++ b/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java
@@ -20,7 +20,7 @@
 package org.apache.axiom.soap.impl.dom.soap12;
 
 import org.apache.axiom.soap.impl.dom.SOAPHeaderImpl;
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Header;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Header;
 
 public class SOAP12HeaderImpl extends SOAPHeaderImpl implements AxiomSOAP12Header {
 
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11BodyImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11BodyImpl.java
index ca21524..238833c 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11BodyImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11BodyImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap11;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Body;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Body;
 import org.apache.axiom.soap.impl.llom.SOAPBodyImpl;
 
 public class SOAP11BodyImpl extends SOAPBodyImpl implements AxiomSOAP11Body {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11EnvelopeImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11EnvelopeImpl.java
index 1100b97..2734b11 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11EnvelopeImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11EnvelopeImpl.java
@@ -18,7 +18,7 @@
  */
 package org.apache.axiom.soap.impl.llom.soap11;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Envelope;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Envelope;
 import org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl;
 
 public class SOAP11EnvelopeImpl extends SOAPEnvelopeImpl implements AxiomSOAP11Envelope {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
index b1a1833..3ce8091 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap11;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultCode;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultCode;
 import org.apache.axiom.soap.impl.llom.SOAPFaultCodeImpl;
 
 public class SOAP11FaultCodeImpl extends SOAPFaultCodeImpl implements AxiomSOAP11FaultCode {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultDetailImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultDetailImpl.java
index 84a5303..714e072 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultDetailImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultDetailImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap11;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultDetail;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultDetail;
 import org.apache.axiom.soap.impl.llom.SOAPFaultDetailImpl;
 
 public class SOAP11FaultDetailImpl extends SOAPFaultDetailImpl implements AxiomSOAP11FaultDetail {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultImpl.java
index e49c068..2956780 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap11;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Fault;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Fault;
 import org.apache.axiom.soap.impl.llom.SOAPFaultImpl;
 
 public class SOAP11FaultImpl extends SOAPFaultImpl implements AxiomSOAP11Fault {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultReasonImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultReasonImpl.java
index 5320cb0..779933f 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultReasonImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultReasonImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap11;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultReason;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultReason;
 import org.apache.axiom.soap.impl.llom.SOAPFaultReasonImpl;
 
 public class SOAP11FaultReasonImpl extends SOAPFaultReasonImpl implements AxiomSOAP11FaultReason {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultRoleImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultRoleImpl.java
index 9400e82..0b026eb 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultRoleImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultRoleImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap11;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11FaultRole;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11FaultRole;
 import org.apache.axiom.soap.impl.llom.SOAPFaultRoleImpl;
 
 public class SOAP11FaultRoleImpl extends SOAPFaultRoleImpl implements AxiomSOAP11FaultRole {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java
index 1ba3f3c..4881141 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap11;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11HeaderBlock;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11HeaderBlock;
 import org.apache.axiom.soap.impl.llom.SOAPHeaderBlockImpl;
 
 public class SOAP11HeaderBlockImpl extends SOAPHeaderBlockImpl implements AxiomSOAP11HeaderBlock {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderImpl.java
index 0d78b32..fd7e2e9 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap11;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP11Header;
+import org.apache.axiom.soap.impl.intf.soap11.AxiomSOAP11Header;
 import org.apache.axiom.soap.impl.llom.SOAPHeaderImpl;
 
 public class SOAP11HeaderImpl extends SOAPHeaderImpl implements AxiomSOAP11Header {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12BodyImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12BodyImpl.java
index 96c0cf6..d9931c2 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12BodyImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12BodyImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Body;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Body;
 import org.apache.axiom.soap.impl.llom.SOAPBodyImpl;
 
 public class SOAP12BodyImpl extends SOAPBodyImpl implements AxiomSOAP12Body {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12EnvelopeImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12EnvelopeImpl.java
index 30496e5..55b8ce0 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12EnvelopeImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12EnvelopeImpl.java
@@ -18,7 +18,7 @@
  */
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Envelope;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Envelope;
 import org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl;
 
 public class SOAP12EnvelopeImpl extends SOAPEnvelopeImpl implements AxiomSOAP12Envelope {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
index 9f0d92b..6785ffe 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultCode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultCode;
 import org.apache.axiom.soap.impl.llom.SOAPFaultCodeImpl;
 
 public class SOAP12FaultCodeImpl extends SOAPFaultCodeImpl implements AxiomSOAP12FaultCode {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultDetailImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultDetailImpl.java
index 6db4b7a..a107e81 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultDetailImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultDetailImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultDetail;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultDetail;
 import org.apache.axiom.soap.impl.llom.SOAPFaultDetailImpl;
 
 public class SOAP12FaultDetailImpl extends SOAPFaultDetailImpl implements AxiomSOAP12FaultDetail {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultImpl.java
index d4ac72b..b8cffaa 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Fault;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Fault;
 import org.apache.axiom.soap.impl.llom.SOAPFaultImpl;
 
 public class SOAP12FaultImpl extends SOAPFaultImpl implements AxiomSOAP12Fault {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultNodeImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultNodeImpl.java
index f4e09e5..ba9f343 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultNodeImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultNodeImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultNode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultNode;
 import org.apache.axiom.soap.impl.llom.SOAPElement;
 
 public class SOAP12FaultNodeImpl extends SOAPElement implements AxiomSOAP12FaultNode {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultReasonImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultReasonImpl.java
index c2effbf..8d4ec57 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultReasonImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultReasonImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultReason;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultReason;
 import org.apache.axiom.soap.impl.llom.SOAPFaultReasonImpl;
 
 public class SOAP12FaultReasonImpl extends SOAPFaultReasonImpl implements AxiomSOAP12FaultReason {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultRoleImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultRoleImpl.java
index af877db..51dc383 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultRoleImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultRoleImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultRole;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultRole;
 import org.apache.axiom.soap.impl.llom.SOAPFaultRoleImpl;
 
 public class SOAP12FaultRoleImpl extends SOAPFaultRoleImpl implements AxiomSOAP12FaultRole {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultSubCodeImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultSubCodeImpl.java
index 54ba24c..e18b552 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultSubCodeImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultSubCodeImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultSubCode;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultSubCode;
 import org.apache.axiom.soap.impl.llom.SOAPElement;
 
 public class SOAP12FaultSubCodeImpl extends SOAPElement implements AxiomSOAP12FaultSubCode {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultTextImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultTextImpl.java
index 378214d..cb2bf46 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultTextImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultTextImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultText;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultText;
 import org.apache.axiom.soap.impl.llom.SOAPElement;
 
 public class SOAP12FaultTextImpl extends SOAPElement implements AxiomSOAP12FaultText {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultValueImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultValueImpl.java
index 0f1db9a..8443fb4 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultValueImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultValueImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12FaultValue;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12FaultValue;
 import org.apache.axiom.soap.impl.llom.SOAPElement;
 
 public class SOAP12FaultValueImpl extends SOAPElement implements AxiomSOAP12FaultValue {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java
index adb5575..6f8353b 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12HeaderBlock;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12HeaderBlock;
 import org.apache.axiom.soap.impl.llom.SOAPHeaderBlockImpl;
 
 public class SOAP12HeaderBlockImpl extends SOAPHeaderBlockImpl implements AxiomSOAP12HeaderBlock {
diff --git a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderImpl.java b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderImpl.java
index e44cf63..7478e6d 100644
--- a/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderImpl.java
+++ b/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderImpl.java
@@ -19,7 +19,7 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.soap.impl.intf.AxiomSOAP12Header;
+import org.apache.axiom.soap.impl.intf.soap12.AxiomSOAP12Header;
 import org.apache.axiom.soap.impl.llom.SOAPHeaderImpl;
 
 public class SOAP12HeaderImpl extends SOAPHeaderImpl implements AxiomSOAP12Header {
