diff --git a/CompilerGeneration.jrag b/CompilerGeneration.jrag
index c39a7505def07f071a9e7a7caf9430309430b646..42eb2ffa46938c3fde1bbac0286611a132dda621 100644
--- a/CompilerGeneration.jrag
+++ b/CompilerGeneration.jrag
@@ -12,11 +12,11 @@ aspect AbsGrammarGeneration {
 
     public void Start.genAbsGrammar(PrintStream pStream) {
 		pStream.println("// Predefined types");
-		pStream.println("Start ::= Element;");
+		pStream.println("Start ::= ComplexElement;");
 		pStream.println("abstract Thing ::=;");
 		pStream.println("abstract Element;");
-// 		pStream.println("ComplexElement ::=  Attribute* Element*;");
-		pStream.println("ComplexElement ::=  id1:OwlIdentifier id2:OwlIdentifier;");
+ 		pStream.println("ComplexElement ::=  OwlIdentifier Attribute* Element*;");
+// 		pStream.println("ComplexElement ::=  id1:OwlIdentifier id2:OwlIdentifier;");
 		pStream.println("abstract SimpleElement : Element;");
 		pStream.println("StringElement : SimpleElement ::= <IDENTIFIER>;");
 		pStream.println("IntElement : SimpleElement ::= <INTEGER_LITERAL>;");
diff --git a/siaras/Siaras.jjt b/siaras/Siaras.jjt
index 043521061e33949f39454b46c224604cb413e90e..8e5dc081f131416bbd1d531623cf2776c62b1f46 100644
--- a/siaras/Siaras.jjt
+++ b/siaras/Siaras.jjt
@@ -6,9 +6,9 @@ options {
     NODE_PREFIX                 = "";
     JAVA_UNICODE_ESCAPE         = true;
     STATIC                      = false;
-// 	DEBUG_PARSER                = true;
-// 	DEBUG_LOOKAHEAD             = true;
-//  	DEBUG_TOKEN_MANAGER         = true;
+	DEBUG_PARSER                = true;
+	DEBUG_LOOKAHEAD             = true;
+ 	DEBUG_TOKEN_MANAGER         = true;
 } // options
 
 
@@ -286,7 +286,7 @@ SPECIAL_TOKEN : /* COMMENTS */
 Start Start() #Start : {}
 {
  	("<?xml version=\"1.0\"?>")?
-     ComplexElement()
+		ComplexElement()
   { return jjtThis; }
 }
 //     "<" Identifier() ">"  "</" Identifier() ">" 
@@ -311,7 +311,7 @@ Start Start() #Start : {}
 
 void ElementList() #List : {}
 {
-    (Element())*
+    (ComplexElement())*
 }
 
 void AttributeList() #List : {}
@@ -321,10 +321,10 @@ void AttributeList() #List : {}
 
 void ComplexElement() #ComplexElement  : {} 
 {
-    "<" Identifier() ">"  "</" Identifier() ">" 
+	"<" Identifier() AttributeList()
+	(">" ElementList() "</" <IDENTIFIER> ">" | ElementList() "/>")
 }
-// 	(">" ElementList() "</" <IDENTIFIER> ">" | ElementList() "/>")
-// 		{jjtThis.setIDENTIFIER(t.image);}
+//    "<" Identifier() ">"  "</" Identifier() ">" 
 
 void Identifier() #OwlIdentifier : {Token t;}
 {