diff --git a/ChangeLog b/ChangeLog
index 14f505e..6f1cdfb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sat Oct 17 02:43:21 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>
+
+	* tree.h, tree.c: Ok, the main objects in the tree will be native
+	  corba objects, it costs 8 bytes per Node, Attribute and Document
+	  but it simplifies the Corba integration a lot (no extra interface
+	  objects to allocate/free).
+
 Tue Oct 13 21:46:57 EDT 1998 Daniel Veillard <Daniel.Veillard@w3.org>
 
 	* tree.h, tree.c, parser.c: added prev and doc pointers to Node,
diff --git a/Makefile.am b/Makefile.am
index 1eed746..84f6c22 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,7 @@
 ## Process this file with automake to produce Makefile.in
 
+INCLUDES = -I@srcdir@ @CORBA_CFLAGS@
+
 noinst_PROGRAMS=tester
 
 bin_SCRIPTS=xml-config
@@ -15,7 +17,6 @@
 		tester.c \
 		tree.c
 
-
 xmlincdir = $(includedir)/gnome-xml
 xmlinc_HEADERS = \
 		entities.h \
diff --git a/configure.in b/configure.in
index 59fc4ea..cbe37ad 100644
--- a/configure.in
+++ b/configure.in
@@ -36,6 +36,16 @@
 AC_SUBST(XML_LIBS)
 AC_SUBST(XML_INCLUDEDIR)
 
+AC_ARG_ENABLE(corba,    [  --enable-corba           Add Corba support (default)])
+
+dnl
+dnl Corba is enabled by default
+dnl
+if test "$enable_java" = "no" ; then
+   CORBA_CFLAGS="-DWITHOUT_CORBA"
+fi
+AC_SUBST(CORBA_CFLAGS)
+
 dnl Checks for library functions.
 AC_FUNC_STRFTIME
 AC_CHECK_FUNCS(strdup strndup strerror snprintf )
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index a4a808d..91677a6 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -80,6 +80,11 @@
  * A attribute of an XML node.
  */
 typedef struct xmlAttr {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	/* for Corba, must be first ! */
+    void           *vepv;	/* for Corba, must be next ! */
+#endif
+    int             type;       /* XML_ATTRIBUTE_NODE, must be third ! */
     struct xmlNode *node;	/* attr->node link */
     struct xmlAttr *next;	/* parent->childs link */
     const CHAR     *name;       /* the name of the property */
@@ -105,7 +110,11 @@
 #define XML_NOTATION_NODE	12
 
 typedef struct xmlNode {
-    int             type;	/* type number in the DTD */
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	/* for Corba, must be first ! */
+    void           *vepv;	/* for Corba, must be next ! */
+#endif
+    int             type;	/* type number in the DTD, must be third ! */
     struct xmlDoc  *doc;	/* the containing document */
     struct xmlNode *parent;	/* child->parent link */
     struct xmlNode *next;	/* next sibling link  */
@@ -116,13 +125,17 @@
     xmlNs          *ns;         /* pointer to the associated namespace */
     xmlNs          *nsDef;      /* namespace definitions on this node */
     CHAR           *content;    /* the content */
-    void           *servant;	/* for Corba ! */
 } xmlNode, *xmlNodePtr;
 
 /*
  * An XML document.
  */
 typedef struct xmlDoc {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	/* for Corba, must be first ! */
+    void           *vepv;	/* for Corba, must be next ! */
+#endif
+    int             type;       /* XML_DOCUMENT_NODE, must be second ! */
     char           *name;	/* name/filename/URI of the document */
     const CHAR     *version;	/* the XML version string */
     const CHAR     *encoding;   /* encoding, if any */
@@ -132,7 +145,6 @@
     struct xmlNs   *oldNs;	/* Global namespace, the old way */
     void          *entities;    /* Hash table for general entities if any */
     struct xmlNode *root;	/* the document tree */
-    void           *servant;	/* for Corba ! */
 } xmlDoc, *xmlDocPtr;
 
 /*
diff --git a/tree.c b/tree.c
index c4eddec..72287a2 100644
--- a/tree.c
+++ b/tree.c
@@ -277,7 +277,10 @@
     cur->entities = NULL;
     cur->standalone = -1;
     cur->compression = xmlCompressMode;
-    cur->servant = NULL;
+#ifndef WITHOUT_CORBA
+    cur->_private = NULL;
+    cur->vepv = NULL;
+#endif
     return(cur);
 }
 
@@ -326,6 +329,10 @@
 	cur->value = xmlStrdup(value);
     else 
 	cur->value = NULL;
+#ifndef WITHOUT_CORBA
+    cur->_private = NULL;
+    cur->vepv = NULL;
+#endif
 
     /*
      * Add it at the end to preserve parsing order ...
@@ -407,7 +414,10 @@
     cur->name = xmlStrdup(name);
     cur->ns = ns;
     cur->nsDef = NULL;
-    cur->servant = NULL;
+#ifndef WITHOUT_CORBA
+    cur->_private = NULL;
+    cur->vepv = NULL;
+#endif
     if (content != NULL)
 	cur->content = xmlStrdup(content);
     else 
diff --git a/tree.h b/tree.h
index a4a808d..91677a6 100644
--- a/tree.h
+++ b/tree.h
@@ -80,6 +80,11 @@
  * A attribute of an XML node.
  */
 typedef struct xmlAttr {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	/* for Corba, must be first ! */
+    void           *vepv;	/* for Corba, must be next ! */
+#endif
+    int             type;       /* XML_ATTRIBUTE_NODE, must be third ! */
     struct xmlNode *node;	/* attr->node link */
     struct xmlAttr *next;	/* parent->childs link */
     const CHAR     *name;       /* the name of the property */
@@ -105,7 +110,11 @@
 #define XML_NOTATION_NODE	12
 
 typedef struct xmlNode {
-    int             type;	/* type number in the DTD */
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	/* for Corba, must be first ! */
+    void           *vepv;	/* for Corba, must be next ! */
+#endif
+    int             type;	/* type number in the DTD, must be third ! */
     struct xmlDoc  *doc;	/* the containing document */
     struct xmlNode *parent;	/* child->parent link */
     struct xmlNode *next;	/* next sibling link  */
@@ -116,13 +125,17 @@
     xmlNs          *ns;         /* pointer to the associated namespace */
     xmlNs          *nsDef;      /* namespace definitions on this node */
     CHAR           *content;    /* the content */
-    void           *servant;	/* for Corba ! */
 } xmlNode, *xmlNodePtr;
 
 /*
  * An XML document.
  */
 typedef struct xmlDoc {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	/* for Corba, must be first ! */
+    void           *vepv;	/* for Corba, must be next ! */
+#endif
+    int             type;       /* XML_DOCUMENT_NODE, must be second ! */
     char           *name;	/* name/filename/URI of the document */
     const CHAR     *version;	/* the XML version string */
     const CHAR     *encoding;   /* encoding, if any */
@@ -132,7 +145,6 @@
     struct xmlNs   *oldNs;	/* Global namespace, the old way */
     void          *entities;    /* Hash table for general entities if any */
     struct xmlNode *root;	/* the document tree */
-    void           *servant;	/* for Corba ! */
 } xmlDoc, *xmlDocPtr;
 
 /*
