diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java
index 63481deb428532233e624c15e6ef0fe2ab0c41c9..d03b49942ee36d161ea2901c25f22442c3cf5214 100644
--- a/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java
+++ b/src/fr/inrialpes/exmo/align/impl/renderer/COWLMappingRendererVisitor.java
@@ -26,6 +26,7 @@ import java.io.PrintWriter;
 import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
 
+import org.semanticweb.owl.align.Visitable;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.AlignmentVisitor;
 import org.semanticweb.owl.align.AlignmentException;
@@ -60,6 +61,12 @@ public class COWLMappingRendererVisitor implements AlignmentVisitor
 
     public void init( Parameters p ) {}
 
+    public void visit( Visitable o ) throws AlignmentException {
+	if ( o instanceof Alignment ) visit( (Alignment)o );
+	else if ( o instanceof Cell ) visit( (Cell)o );
+	else if ( o instanceof Relation ) visit( (Relation)o );
+    }
+
     public void visit( Alignment align ) throws AlignmentException {
 	if ( !(align instanceof ObjectAlignment) )
 	    throw new AlignmentException("COWLMappingRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()");
@@ -87,8 +94,7 @@ public class COWLMappingRendererVisitor implements AlignmentVisitor
 	writer.print("    <cowl:targetOntology>\n");
 	writer.print("      <owl:Ontology rdf:about=\""+onto2.getURI()+"\"/>\n");
 	writer.print("    </cowl:targetOntology>\n");
-	for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){
-	    Cell c = (Cell)e.nextElement();
+	for( Cell c : align ){
 	    c.accept( this );
 	} //end for
 	writer.print("  </cowl:Mapping>\n");
diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java
index e6f5406635b587af11733e1720dfcdb074083577..6a99e6735c456843cebb0f6472deec500d8a9aa5 100644
--- a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java
+++ b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLMetadataRendererVisitor.java
@@ -25,17 +25,15 @@ import java.util.Hashtable;
 import java.io.PrintWriter;
 import java.net.URI;
 
+import org.semanticweb.owl.align.Visitable;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.AlignmentVisitor;
 import org.semanticweb.owl.align.AlignmentException;
 import org.semanticweb.owl.align.Parameters;
-import org.semanticweb.owl.align.Cell;
-import org.semanticweb.owl.align.Relation;
 
 import fr.inrialpes.exmo.align.impl.Annotations;
 import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.impl.BasicAlignment;
-import fr.inrialpes.exmo.align.impl.ObjectCell;
 import fr.inrialpes.exmo.align.onto.LoadedOntology;
 
 /**
@@ -54,7 +52,6 @@ public class HTMLMetadataRendererVisitor implements AlignmentVisitor
     
     PrintWriter writer = null;
     Alignment alignment = null;
-    Cell cell = null;
     Hashtable<String,String> nslist = null;
     boolean embedded = false; // if the output is XML embeded in a structure
 
@@ -67,6 +64,10 @@ public class HTMLMetadataRendererVisitor implements AlignmentVisitor
 	     && !p.getParameter( "embedded" ).equals("") ) embedded = true;
     };
 
+    public void visit( Visitable o ) throws AlignmentException {
+	if ( o instanceof Alignment ) visit( (Alignment)o );
+    }
+
     public void visit( Alignment align ) throws AlignmentException {
 	alignment = align;
 	nslist = new Hashtable<String,String>();
@@ -126,17 +127,7 @@ public class HTMLMetadataRendererVisitor implements AlignmentVisitor
 	}
 	writer.print("</table>\n");
 	writer.print("</div>\n");
-	//writer.print("<h2>Correspondences</h2>\n");
-	//writer.print("<div rel=\"align:map\"><table><tr><td>object1</td><td>relation</td><td>strength</td><td>object2</td><td>Id</td></tr>\n");
-	//for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){
-	//    Cell c = (Cell)e.nextElement();
-	//    c.accept( this );
-	//} //end for
-	//writer.print("</table>\n");
-	//writer.print("</div></div>\n");
 	writer.print("</body>\n</html>\n");
     }
 
-    public void visit( Cell cell ) {}
-    public void visit( Relation rel ) {}
 }
diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java
index d6d5946f8d6857a38a0dfc1e33bbce404af77934..8261c3c29fc65db32306e5a4c6f23b8a3311c3ec 100644
--- a/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java
+++ b/src/fr/inrialpes/exmo/align/impl/renderer/HTMLRendererVisitor.java
@@ -25,6 +25,7 @@ import java.util.Hashtable;
 import java.io.PrintWriter;
 import java.net.URI;
 
+import org.semanticweb.owl.align.Visitable;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.AlignmentVisitor;
 import org.semanticweb.owl.align.AlignmentException;
@@ -49,8 +50,7 @@ import fr.inrialpes.exmo.align.onto.LoadedOntology;
  * @version $Id$ 
  */
 
-public class HTMLRendererVisitor implements AlignmentVisitor
-{
+public class HTMLRendererVisitor implements AlignmentVisitor {
     
     PrintWriter writer = null;
     Alignment alignment = null;
@@ -67,6 +67,12 @@ public class HTMLRendererVisitor implements AlignmentVisitor
 	     && !p.getParameter( "embedded" ).equals("") ) embedded = true;
     };
 
+    public void visit( Visitable o ) throws AlignmentException {
+	if ( o instanceof Alignment ) visit( (Alignment)o );
+	else if ( o instanceof Cell ) visit( (Cell)o );
+	else if ( o instanceof Relation ) visit( (Relation)o );
+    }
+
     public void visit( Alignment align ) throws AlignmentException {
 	alignment = align;
 	nslist = new Hashtable<String,String>();
@@ -100,6 +106,7 @@ public class HTMLRendererVisitor implements AlignmentVisitor
 	writer.print(">\n<head><title>Alignment</title></head>\n<body>\n");
 	String id = align.getExtension( Annotations.ALIGNNS, Annotations.ID );
 	String pid = align.getExtension( Annotations.ALIGNNS, Annotations.PRETTY );
+	if ( id == null ) id = "Anonymous alignment";
 	if ( pid == null ) {
 	    writer.print("<h1>"+id+"</h1>\n");
 	} else {
@@ -133,8 +140,7 @@ public class HTMLRendererVisitor implements AlignmentVisitor
 	writer.print("</table>\n");
 	writer.print("<h2>Correspondences</h2>\n");
 	writer.print("<div rel=\"align:map\"><table><tr><td>object1</td><td>relation</td><td>strength</td><td>object2</td><td>Id</td></tr>\n");
-	for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){
-	    Cell c = (Cell)e.nextElement();
+	for( Cell c : align ){
 	    c.accept( this );
 	} //end for
 	writer.print("</table>\n");
diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java
index f9b95da4941c39b4833812ff0d1500e49efe364f..2ef977b082d52798e2845a49c604d668acc35d7d 100644
--- a/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java
+++ b/src/fr/inrialpes/exmo/align/impl/renderer/OWLAxiomsRendererVisitor.java
@@ -26,6 +26,7 @@ import java.net.URI;
 import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
 
+import org.semanticweb.owl.align.Visitable;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.AlignmentVisitor;
 import org.semanticweb.owl.align.AlignmentException;
@@ -62,6 +63,12 @@ public class OWLAxiomsRendererVisitor implements AlignmentVisitor {
 	if ( p.getParameter("heterogeneous") != null ) heterogeneous = true;
     };
 
+    public void visit( Visitable o ) throws AlignmentException {
+	if ( o instanceof Alignment ) visit( (Alignment)o );
+	else if ( o instanceof Cell ) visit( (Cell)o );
+	else if ( o instanceof Relation ) visit( (Relation)o );
+    }
+
     public void visit( Alignment align ) throws AlignmentException {
 	if ( !( align instanceof ObjectAlignment ))  {
 	    throw new AlignmentException("OWLAxiomsRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()");
@@ -87,8 +94,7 @@ public class OWLAxiomsRendererVisitor implements AlignmentVisitor {
 	writer.print("    <owl:imports rdf:resource=\""+align.getOntology2URI().toString()+"\"/>\n");
 	writer.print("  </owl:Ontology>\n\n");
 	
-	for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){
-	    Cell c = (Cell)e.nextElement();
+	for( Cell c : align ){
 	    Object ob1 = c.getObject1();
 	    Object ob2 = c.getObject2();
 
diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.java
index 1db9d4351aa8f262b3ddd6f7ba915cc936fa3554..fb4519b628d295f98ee7c0a83990b1cf1ccc03c3 100644
--- a/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.java
+++ b/src/fr/inrialpes/exmo/align/impl/renderer/SEKTMappingRendererVisitor.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2003-2005, 2007-2008
+ * Copyright (C) INRIA, 2003-2005, 2007-2009
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
@@ -27,6 +27,7 @@ import java.net.URI;
 import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
 
+import org.semanticweb.owl.align.Visitable;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.AlignmentVisitor;
 import org.semanticweb.owl.align.AlignmentException;
@@ -61,6 +62,12 @@ public class SEKTMappingRendererVisitor implements AlignmentVisitor {
 
     public void init( Parameters p ) {};
 
+    public void visit( Visitable o ) throws AlignmentException {
+	if ( o instanceof Alignment ) visit( (Alignment)o );
+	else if ( o instanceof Cell ) visit( (Cell)o );
+	else if ( o instanceof Relation ) visit( (Relation)o );
+    }
+
     public void visit( Alignment align ) throws AlignmentException {
 	if ( !(align instanceof ObjectAlignment) )
 	    throw new AlignmentException("SEKTMappingRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()");
@@ -71,8 +78,7 @@ public class SEKTMappingRendererVisitor implements AlignmentVisitor {
 	writer.print("  source(<\""+onto1.getURI()+"\">)\n");
 	writer.print("  target(<\""+onto2.getURI()+"\">)\n");
 
-	for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){
-	    Cell c = (Cell)e.nextElement();
+	for( Cell c : align ){
 	    c.accept( this );
 	} //end for
 	writer.print(")\n");
diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java
index 8893437fc58d3886dbba34c4ea986f64a6991896..633ca9145e22233ac2be2a321c1a9e58bb1294ac 100644
--- a/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java
+++ b/src/fr/inrialpes/exmo/align/impl/renderer/SKOSRendererVisitor.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2003-2004, 2006-2008
+ * Copyright (C) INRIA, 2003-2004, 2006-2009
  * Copyright (C) Quentin Reul, 2008
  *
  * This program is free software; you can redistribute it and/or modify
@@ -27,6 +27,7 @@ import java.net.URI;
 import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
 
+import org.semanticweb.owl.align.Visitable;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.AlignmentVisitor;
 import org.semanticweb.owl.align.AlignmentException;
@@ -67,6 +68,12 @@ public class SKOSRendererVisitor implements AlignmentVisitor {
     };
 
     // This must be considered
+    public void visit( Visitable o ) throws AlignmentException {
+	if ( o instanceof Alignment ) visit( (Alignment)o );
+	else if ( o instanceof Cell ) visit( (Cell)o );
+	else if ( o instanceof Relation ) visit( (Relation)o );
+    }
+
     public void visit( Alignment align ) throws AlignmentException {
 	alignment = align;
 	if ( align instanceof ObjectAlignment ) {
@@ -91,8 +98,7 @@ public class SKOSRendererVisitor implements AlignmentVisitor {
 	    writer.print("  <!-- "+name+": "+((String[])ext)[2]+" -->\n");
 	}
 	writer.print("\n");
-	for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){
-	    Cell c = (Cell)e.nextElement();
+	for( Cell c : align ){
 	    c.accept( this );
 	} //end for
 	writer.print("</rdf:RDF>\n");
diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java
index 098c11b412eabbb30186ed73530f81bb6d36e2ab..91f1981d13047169f9af7280228f940890d7ea93 100644
--- a/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java
+++ b/src/fr/inrialpes/exmo/align/impl/renderer/SWRLRendererVisitor.java
@@ -27,6 +27,7 @@ import java.net.URI;
 import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
 
+import org.semanticweb.owl.align.Visitable;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.AlignmentVisitor;
 import org.semanticweb.owl.align.AlignmentException;
@@ -64,6 +65,12 @@ public class SWRLRendererVisitor implements AlignmentVisitor {
 	     && !p.getParameter( "embedded" ).equals("") ) embedded = true;
    };
 
+    public void visit( Visitable o ) throws AlignmentException {
+	if ( o instanceof Alignment ) visit( (Alignment)o );
+	else if ( o instanceof Cell ) visit( (Cell)o );
+	else if ( o instanceof Relation ) visit( (Relation)o );
+    }
+
     public void visit( Alignment align ) throws AlignmentException {
 	if ( !( align instanceof ObjectAlignment) )
 	    throw new AlignmentException("SWRLRenderer: cannot render simple alignment. Turn them into ObjectAlignment, by toObjectAlignement()");
@@ -84,8 +91,7 @@ public class SWRLRendererVisitor implements AlignmentVisitor {
 	}
 	writer.print("\n");
 	writer.println("  <owlx:Imports rdf:resource=\""+onto1.getURI()+"\"/>\n");
-	for( Enumeration e = align.getElements() ; e.hasMoreElements(); ){
-	    Cell c = (Cell)e.nextElement();
+	for( Cell c : align ){
 	    c.accept( this );
 	}
 	writer.println("</swrlx:Ontology>");
diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java
index c2be1f347cdbeaf86272777971689873829ae470..851cc554cbfa79a9ff0cee6823fc3801639cde3f 100644
--- a/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java
+++ b/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA Rhône-Alpes, 2007
+ * Copyright (C) INRIA, 2007, 2009
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
@@ -24,12 +24,11 @@ import java.util.Enumeration;
 import java.util.Hashtable;
 import java.io.PrintWriter;
 
+import org.semanticweb.owl.align.Visitable;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.AlignmentException;
 import org.semanticweb.owl.align.AlignmentVisitor;
 import org.semanticweb.owl.align.Parameters;
-import org.semanticweb.owl.align.Cell;
-import org.semanticweb.owl.align.Relation;
 
 import fr.inrialpes.exmo.align.impl.Annotations;
 import fr.inrialpes.exmo.align.impl.BasicAlignment;
@@ -59,6 +58,10 @@ public class XMLMetadataRendererVisitor implements AlignmentVisitor {
 	     && !p.getParameter( "embedded" ).equals("") ) embedded = true;
     };
 
+    public void visit( Visitable o ) throws AlignmentException {
+	if ( o instanceof Alignment ) visit( (Alignment)o );
+    }
+
     public void visit( Alignment align ) throws AlignmentException {
 	String extensionString = "";
 	alignment = align;
@@ -146,6 +149,4 @@ public class XMLMetadataRendererVisitor implements AlignmentVisitor {
 	writer.print("</rdf:RDF>\n");
     }
 
-    public void visit( Cell c ) {}
-    public void visit( Relation r ) {}
 }
diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java
index b85323de5da4117f236a5aab8fdae80cc6368698..c88a87aa2006b3187d3144607a5c35fa0a5118be 100644
--- a/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java
+++ b/src/fr/inrialpes/exmo/align/impl/renderer/XSLTRendererVisitor.java
@@ -27,6 +27,7 @@ import java.io.PrintWriter;
 import java.lang.reflect.Method;
 import java.net.URI;
 
+import org.semanticweb.owl.align.Visitable;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.AlignmentVisitor;
 import org.semanticweb.owl.align.AlignmentException;
@@ -71,14 +72,20 @@ public class XSLTRendererVisitor implements AlignmentVisitor {
 	     && !p.getParameter( "embedded" ).equals("") ) embedded = true;
     };
 
+    public void visit( Visitable o ) throws AlignmentException {
+	if ( o instanceof Alignment ) visit( (Alignment)o );
+	else if ( o instanceof Cell ) visit( (Cell)o );
+	else if ( o instanceof Relation ) visit( (Relation)o );
+    }
+
     public void visit( Alignment align ) throws AlignmentException {
 	alignment = align;
 	if ( align instanceof ObjectAlignment ) {
 	    onto1 = (LoadedOntology)((ObjectAlignment)align).getOntologyObject1();
 	    onto2 = (LoadedOntology)((ObjectAlignment)align).getOntologyObject2();
 	}
-	for( Enumeration e = align.getElements(); e.hasMoreElements(); ){
-	    collectURIs( (Cell)e.nextElement() );
+	for( Cell c : align ){
+	    collectURIs( c );
 	}
 	alignment = align;
 	if ( embedded == false )