diff --git a/CompilerGeneration.jrag b/CompilerGeneration.jrag
index 3575e9721ba3040a8fd2fea3a4393b8dc2ff42c8..eeb8bc7494bdb17b33dc2859c7afeef089063754 100644
--- a/CompilerGeneration.jrag
+++ b/CompilerGeneration.jrag
@@ -220,18 +220,20 @@ aspect GenRewrites {
 		pStream.println(ind(1)+"}");
 
 		// TEMPORARY!!!!!
-		// Rewrite isSkillOf to ClassUse
-// 		pStream.println(ind(1)+"rewrite ComplexElement {");
-// 		pStream.println(ind(2)+"when ("+name()+")");
-// 		pStream.println(ind(2)+"to ClassUse {");
-// 		pStream.println(ind(3)+"ClassUse use = new ClassUse();");
-// 		pStream.println(ind(3)+"use.setOwlIdentifier(new OwlIdentifier(\""+name()+"\"));");
-// 		pStream.println(ind(3)+"use.setAttributeList(new List().add(new RdfResource(getAttribute(0).getValue())));");
-// 		pStream.println(ind(3)+"use.setElementList(new List());");
-// 		pStream.println(ind(3)+"getStart().addElement(this);");
-// 		pStream.println(ind(3)+"return use;");
-// 		pStream.println(ind(2)+"}");
-// 		pStream.println(ind(1)+"}");
+		// Rewrite isSkillOf/hasSkill/hasProperty/isPropertyOf to ClassUse
+		pStream.println(ind(1)+"rewrite ComplexElement {");
+		pStream.println(ind(2)+"when ((name().equals(\"hasSkill\")");
+		pStream.println(ind(2)+"|| name().equals(\"isSkillOf\"))");
+		pStream.println("&& getNumAttribute() > 0 && getAttribute(0) instanceof RdfResource)");
+		pStream.println(ind(2)+"to ClassUse {");
+		pStream.println(ind(3)+"ClassUse use = new ClassUse();");
+		pStream.println(ind(3)+"String att = getAttribute(0).name();");
+		pStream.println(ind(3)+"use.setOwlIdentifier(new OwlIdentifier(att.substring(att.indexOf('#')+1,att.indexOf('_'))));");
+		pStream.println(ind(3)+"use.setAttributeList(getAttributeList());");
+		pStream.println(ind(3)+"use.setElementList(new List());");
+		pStream.println(ind(3)+"return use;");
+		pStream.println(ind(2)+"}");
+		pStream.println(ind(1)+"}");
 	  
 
 		super.genRewrites(pStream);
@@ -337,6 +339,9 @@ aspect GenMisc {
 		pStream.println(ind(1)+"String ComplexElement.name() {");
 		pStream.println(ind(2)+"return getOwlIdentifier().getIDENTIFIER();");
 		pStream.println(ind(1)+"}");
+		pStream.println(ind(1)+"String Attribute.name() {");
+		pStream.println(ind(2)+"return getValue().getSTRING_LITERAL();");
+		pStream.println(ind(1)+"}");
 
 
 		super.genMisc(pStream);