diff --git a/src/fr/inrialpes/exmo/align/cli/EvalAlign.java b/src/fr/inrialpes/exmo/align/cli/EvalAlign.java
index 3436829645e5e52003dace678abc73a572b45e7c..c2af2b218589ed863764ca0ce705320383782070 100644
--- a/src/fr/inrialpes/exmo/align/cli/EvalAlign.java
+++ b/src/fr/inrialpes/exmo/align/cli/EvalAlign.java
@@ -28,7 +28,6 @@ import org.semanticweb.owl.align.Evaluator;
 
 import fr.inrialpes.exmo.align.parser.AlignmentParser;
 import fr.inrialpes.exmo.align.impl.eval.PRecEvaluator;
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 
 //Imported JAVA classes
 import java.io.IOException;
@@ -36,6 +35,7 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.lang.Integer;
 import java.lang.Double;
+import java.util.Properties;
 
 import java.io.OutputStream;
 import java.io.FileOutputStream;
@@ -83,7 +83,7 @@ public class EvalAlign {
 
 
     public void run(String[] args) {
-	BasicParameters params = new BasicParameters();
+	Properties params = new Properties();
 	Evaluator eval = null;
 	String alignName1 = null;
 	String alignName2 = null;
@@ -129,8 +129,8 @@ public class EvalAlign {
 	
 	int i = g.getOptind();
 
-	params.setParameter( "debug", Integer.toString( debug ) );
-	// debug = Integer.parseInt( params.getParameter("debug") );
+	params.setProperty( "debug", Integer.toString( debug ) );
+	// debug = Integer.parseInt( params.getProperty("debug") );
 	
 	if (args.length > i+1 ) {
 	    alignName1 = args[i];
diff --git a/src/fr/inrialpes/exmo/align/cli/ExtGroupEval.java b/src/fr/inrialpes/exmo/align/cli/ExtGroupEval.java
index d69dc4438305b9ea16d361d0daec1d97a79797e8..27cf2c255f7b7a9777a6eae87168704d7110c6ae 100644
--- a/src/fr/inrialpes/exmo/align/cli/ExtGroupEval.java
+++ b/src/fr/inrialpes/exmo/align/cli/ExtGroupEval.java
@@ -31,7 +31,6 @@ package fr.inrialpes.exmo.align.cli;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.Evaluator;
 
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.impl.ObjectAlignment;
 import fr.inrialpes.exmo.align.impl.URIAlignment;
 import fr.inrialpes.exmo.align.impl.eval.ExtPREvaluator;
@@ -49,6 +48,7 @@ import java.util.Vector;
 import java.util.Enumeration;
 import java.util.Arrays;
 import java.util.Formatter;
+import java.util.Properties;
 
 import org.xml.sax.SAXException;
 
@@ -93,7 +93,7 @@ $Id$
 
 public class ExtGroupEval {
 
-    BasicParameters params = null;
+    Properties params = null;
     String filename = null;
     String reference = "refalign.rdf";
     String format = "s";
@@ -184,8 +184,8 @@ public class ExtGroupEval {
 	    listAlgo.add( s );	    
 	}
 
-	params = new BasicParameters();
-	if (debug > 0) params.setParameter( "debug", Integer.toString( debug-1 ) );
+	params = new Properties();
+	if (debug > 0) params.setProperty( "debug", Integer.toString( debug-1 ) );
 
 	print( iterateDirectories() );
     }
@@ -267,7 +267,7 @@ public class ExtGroupEval {
 	    eval = new ExtPREvaluator(ObjectAlignment.toObjectAlignment( (URIAlignment)align1 ), 
 				      ObjectAlignment.toObjectAlignment( (URIAlignment)align2 ) );
 	    // Compare
-	    params.setParameter( "debug", Integer.toString( nextdebug ) );
+	    params.setProperty( "debug", Integer.toString( nextdebug ) );
 	    eval.eval( params ) ;
 	} catch (Exception ex) {
 	    if ( debug > 1 ) {
diff --git a/src/fr/inrialpes/exmo/align/cli/GroupAlign.java b/src/fr/inrialpes/exmo/align/cli/GroupAlign.java
index 5d1efaef6c2c9689d850b3754dae8715db751588..6db4ffa1c0df9f425da82186ff926b8f1d4616f3 100644
--- a/src/fr/inrialpes/exmo/align/cli/GroupAlign.java
+++ b/src/fr/inrialpes/exmo/align/cli/GroupAlign.java
@@ -37,13 +37,13 @@ import org.semanticweb.owl.align.AlignmentVisitor;
 
 import fr.inrialpes.exmo.align.impl.Annotations;
 import fr.inrialpes.exmo.align.impl.Namespace;
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.parser.AlignmentParser;
 
 import fr.inrialpes.exmo.ontowrap.OntologyFactory;
 
 import java.io.File;
 import java.io.FileOutputStream;
+import java.io.FileInputStream;
 import java.io.PrintWriter;
 import java.io.BufferedWriter;
 import java.io.OutputStreamWriter;
@@ -52,6 +52,7 @@ import java.lang.Integer;
 import java.lang.Long;
 import java.util.Hashtable;
 import java.util.Enumeration;
+import java.util.Properties;
 
 import org.xml.sax.SAXException;
 
@@ -88,7 +89,7 @@ $Id$
 
 public class GroupAlign {
 
-    BasicParameters params = null;
+    Properties params = null;
     String filename = "align";
     String paramfile = null;
     String urlprefix = null;
@@ -109,7 +110,7 @@ public class GroupAlign {
     public void run(String[] args) throws Exception {
 
 	LongOpt[] longopts = new LongOpt[13];
-	params = new BasicParameters();
+	params = new Properties();
 
 	longopts[0] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h');
 	longopts[1] = new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o');
@@ -151,7 +152,7 @@ public class GroupAlign {
 	    case 'p' :
 		/* Read parameters from filename */
 		paramfile = g.getOptarg();
-		BasicParameters.read( params, paramfile );
+		params.loadFromXML( new FileInputStream( paramfile ) );
 		break;
 	    case 'r' :
 		/* Use the given class for rendering */
@@ -182,7 +183,7 @@ public class GroupAlign {
 		arg = g.getOptarg();
 		int index = arg.indexOf('=');
 		if ( index != -1 ) {
-		    params.setParameter( arg.substring( 0, index), 
+		    params.setProperty( arg.substring( 0, index), 
 					 arg.substring(index+1));
 		} else {
 		    System.err.println("Bad parameter syntax: "+g);
@@ -207,10 +208,10 @@ public class GroupAlign {
 
 	//int i = g.getOptind();
 
-	if (debug == 0 && params.getParameter("debug") != null) {
-	    debug = Integer.parseInt(params.getParameter("debug"));
+	if (debug == 0 && params.getProperty("debug") != null) {
+	    debug = Integer.parseInt(params.getProperty("debug"));
 	}
-	if (debug > 0) params.setParameter( "debug", Integer.toString( debug-1 ) );
+	if (debug > 0) params.setProperty( "debug", Integer.toString( debug-1 ) );
 
 	iterateDirectories();
     }
diff --git a/src/fr/inrialpes/exmo/align/cli/GroupEval.java b/src/fr/inrialpes/exmo/align/cli/GroupEval.java
index 458446d498116cd2da3ea2c33434e1382e4955a4..b896300acf14be4435b4bafd9cd11803a4d2b75d 100644
--- a/src/fr/inrialpes/exmo/align/cli/GroupEval.java
+++ b/src/fr/inrialpes/exmo/align/cli/GroupEval.java
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 2003 The University of Manchester
  * Copyright (C) 2003 The University of Karlsruhe
- * Copyright (C) 2003-2011, INRIA
+ * Copyright (C) 2003-2012, INRIA
  * Copyright (C) 2004, Université de Montréal
  *
  * This program is free software; you can redistribute it and/or
@@ -29,7 +29,6 @@ package fr.inrialpes.exmo.align.cli;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.Evaluator;
 
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.impl.eval.PRecEvaluator;
 
 import fr.inrialpes.exmo.ontowrap.OntologyFactory;
@@ -45,6 +44,7 @@ import java.util.Vector;
 import java.util.Enumeration;
 import java.util.Arrays;
 import java.util.Formatter;
+import java.util.Properties;
 
 import org.xml.sax.SAXException;
 
@@ -89,7 +89,7 @@ $Id$
 
 public class GroupEval {
 
-    BasicParameters params = null;
+    Properties params = null;
     String filename = null;
     String reference = "refalign.rdf";
     String format = "pr";
@@ -182,8 +182,8 @@ public class GroupEval {
 	    listAlgo.add( s );	    
 	}
 
-	params = new BasicParameters();
-	if (debug > 0) params.setParameter( "debug", Integer.toString( debug-1 ) );
+	params = new Properties();
+	if (debug > 0) params.setProperty( "debug", Integer.toString( debug-1 ) );
 
 	print( iterateDirectories() );
     }
@@ -264,7 +264,7 @@ public class GroupEval {
 	    // Create evaluator object
 	    eval = new PRecEvaluator( align1, align2 );
 	    // Compare
-	    params.setParameter( "debug", Integer.toString( nextdebug ) );
+	    params.setProperty( "debug", Integer.toString( nextdebug ) );
 	    eval.eval( params ) ;
 	} catch (Exception ex) {
 	    if ( debug > 1 ) {
diff --git a/src/fr/inrialpes/exmo/align/cli/GroupOutput.java b/src/fr/inrialpes/exmo/align/cli/GroupOutput.java
index f9a441b97734961df21df9f637e1a03084a8c63e..b14c2eb66712f50f759d53b6551531f393aa3d00 100644
--- a/src/fr/inrialpes/exmo/align/cli/GroupOutput.java
+++ b/src/fr/inrialpes/exmo/align/cli/GroupOutput.java
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 2003 The University of Manchester
  * Copyright (C) 2003 The University of Karlsruhe
- * Copyright (C) 2003-2011, INRIA
+ * Copyright (C) 2003-2012, INRIA
  * Copyright (C) 2004, Université de Montréal
  *
  * This program is free software; you can redistribute it and/or
@@ -31,7 +31,6 @@ import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.AlignmentException;
 import org.semanticweb.owl.align.Evaluator;
 
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.impl.eval.PRecEvaluator;
 
 import fr.inrialpes.exmo.ontowrap.OntologyFactory;
@@ -48,6 +47,7 @@ import java.lang.Integer;
 import java.util.Hashtable;
 import java.util.Vector;
 import java.util.Enumeration;
+import java.util.Properties;
 
 import gnu.getopt.LongOpt;
 import gnu.getopt.Getopt;
@@ -108,7 +108,7 @@ public class GroupOutput {
 			    {257},//h=13
 			    {254,260,261},//i=14
 			    {262,265,266} };//emptyset=15
-    BasicParameters params = null;
+    Properties params = null;
     Vector<String> listAlgo;
     String fileNames = "";
     String outFile = null;
@@ -174,10 +174,10 @@ public class GroupOutput {
 	    listAlgo.add( s );	    
 	}
 
-	params = new BasicParameters();
-	if (debug > 0) params.setParameter( "debug", Integer.toString(debug-1) );
+	params = new Properties();
+	if (debug > 0) params.setProperty( "debug", Integer.toString(debug-1) );
 
-	params.setParameter( "step", Integer.toString(SIZE) );
+	params.setProperty( "step", Integer.toString(SIZE) );
 
 	// Set output file
 	OutputStream stream;
@@ -273,7 +273,7 @@ public class GroupOutput {
 	// Create evaluator object
 	eval = new PRecEvaluator( align1, align2 );
 	// Compare
-	params.setParameter( "debug", Integer.toString( nextdebug ) );
+	params.setProperty( "debug", Integer.toString( nextdebug ) );
 	eval.eval( params ) ;
 	return eval;
     }
diff --git a/src/fr/inrialpes/exmo/align/cli/Procalign.java b/src/fr/inrialpes/exmo/align/cli/Procalign.java
index 8736bd45a2a22bd69b97c588f35f1cccd95172f4..2dfec619227471c04d49547ecb09c686f51abfd5 100644
--- a/src/fr/inrialpes/exmo/align/cli/Procalign.java
+++ b/src/fr/inrialpes/exmo/align/cli/Procalign.java
@@ -33,15 +33,16 @@ import org.semanticweb.owl.align.AlignmentVisitor;
 
 import fr.inrialpes.exmo.align.impl.Annotations;
 import fr.inrialpes.exmo.align.impl.Namespace;
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 
 import java.io.OutputStream;
 import java.io.FileOutputStream;
+import java.io.FileInputStream;
 import java.io.PrintWriter;
 import java.io.BufferedWriter;
 import java.io.OutputStreamWriter;
 import java.net.URI;
 import java.util.Hashtable;
+import java.util.Properties;
 import java.lang.Double;
 import java.lang.Integer;
 import java.lang.Long;
@@ -113,7 +114,7 @@ public class Procalign {
 	AlignmentVisitor renderer = null;
 	int debug = 0;
 	double threshold = 0;
-	BasicParameters params = new BasicParameters();
+	Properties params = new Properties();
 
 	LongOpt[] longopts = new LongOpt[10];
 
@@ -145,7 +146,7 @@ public class Procalign {
 	    case 'p' :
 		/* Read parameters from filename */
 		paramfile = g.getOptarg();
-		BasicParameters.read( params, paramfile);
+		params.loadFromXML( new FileInputStream( paramfile ) );
 		break;
 	    case 'r' :
 		/* Use the given class for rendering */
diff --git a/src/fr/inrialpes/exmo/align/cli/WGroupEval.java b/src/fr/inrialpes/exmo/align/cli/WGroupEval.java
index 2e876956b85fb221292288e92aae48fd0fc85f79..959ce3712069c32fbfc778dc1d287b2e2ccdb702 100644
--- a/src/fr/inrialpes/exmo/align/cli/WGroupEval.java
+++ b/src/fr/inrialpes/exmo/align/cli/WGroupEval.java
@@ -29,7 +29,6 @@ package fr.inrialpes.exmo.align.cli;
 import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.Evaluator;
 
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.impl.eval.WeightedPREvaluator;
 
 import fr.inrialpes.exmo.ontowrap.OntologyFactory;
@@ -44,6 +43,7 @@ import java.util.Vector;
 import java.util.Enumeration;
 import java.util.Arrays;
 import java.util.Formatter;
+import java.util.Properties;
 
 import org.xml.sax.SAXException;
 
@@ -88,7 +88,7 @@ $Id$
 
 public class WGroupEval {
 
-    BasicParameters params = null;
+    Properties params = null;
     String filename = null;
     String reference = "refalign.rdf";
     String format = "pr";
@@ -181,8 +181,8 @@ public class WGroupEval {
 	    listAlgo.add( s );	    
 	}
 
-	params = new BasicParameters();
-	if (debug > 0) params.setParameter( "debug", Integer.toString( debug-1 ) );
+	params = new Properties();
+	if (debug > 0) params.setProperty( "debug", Integer.toString( debug-1 ) );
 
 	print( iterateDirectories() );
     }
@@ -263,7 +263,7 @@ public class WGroupEval {
 	    // Create evaluator object
 	    eval = new WeightedPREvaluator( align1, align2 );
 	    // Compare
-	    params.setParameter( "debug", Integer.toString( nextdebug ) );
+	    params.setProperty( "debug", Integer.toString( nextdebug ) );
 	    eval.eval( params ) ;
 	} catch (Exception ex) {
 	    if ( debug > 1 ) {
diff --git a/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java b/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java
index 0612c2d45cfdbd46aa78b0a5b9e5bc44c8343a78..8460a28cc174a03c79bd85412f062b9bb1819c97 100644
--- a/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java
+++ b/src/fr/inrialpes/exmo/align/impl/BasicAlignment.java
@@ -81,13 +81,13 @@ public class BasicAlignment implements Alignment {
 
     protected Extensions extensions = null;
 
-    protected BasicParameters namespaces = null;
+    protected Properties namespaces = null;
 
     public BasicAlignment() {
 	hash1 = new Hashtable<Object,Set<Cell>>();
 	hash2 = new Hashtable<Object,Set<Cell>>();
 	extensions = new Extensions();
-	namespaces = new BasicParameters();
+	namespaces = new Properties();
 	if ( this instanceof AlignmentProcess ) setExtension( Namespace.ALIGNMENT.uri, Annotations.METHOD, getClass().getName() );
 	onto1 = new BasicOntology<Object>();
 	onto2 = new BasicOntology<Object>();
@@ -222,14 +222,14 @@ public class BasicAlignment implements Alignment {
 	return extensions.getExtension( uri, label );
     };
 
-    public BasicParameters getXNamespaces(){ return namespaces; }
+    public Properties getXNamespaces(){ return namespaces; }
 
     public void setXNamespace( String label, String uri ) {
-	namespaces.setParameter( label, uri );
+	namespaces.setProperty( label, uri );
     };
 
     public String getXNamespace( String label ) {
-	return namespaces.getParameter( label );
+	return (String)namespaces.getProperty( label );
     };
 
     public Enumeration<Cell> getElements() {
@@ -696,8 +696,9 @@ public class BasicAlignment implements Alignment {
 	result.setType( getType() );
 	result.setLevel( getLevel() );
 	result.setExtensions( convertExtension( "inverted", "http://exmo.inrialpes.fr/align/impl/BasicAlignment#inverse" ) );
-	for ( Enumeration e = namespaces.getNames() ; e.hasMoreElements(); ){
-	    String label = (String)e.nextElement();
+	//for ( Enumeration e = namespaces.getNames() ; e.hasMoreElements(); ){
+	//    String label = (String)e.nextElement();
+	for ( String label : namespaces.stringPropertyNames() ) {
 	    result.setXNamespace( label, getXNamespace( label ) );
 	}
 	for ( Enumeration e = getElements() ; e.hasMoreElements(); ){
@@ -736,8 +737,9 @@ public class BasicAlignment implements Alignment {
 	align.setFile1( getFile1() );
 	align.setFile2( getFile2() );
 	align.setExtensions( convertExtension( "cloned", this.getClass().getName()+"#clone" ) );
-	for ( Enumeration e = namespaces.getNames() ; e.hasMoreElements(); ){
-	    String label = (String)e.nextElement();
+	//for ( Enumeration e = namespaces.getNames() ; e.hasMoreElements(); ){
+	//    String label = (String)e.nextElement();
+	for ( String label : namespaces.stringPropertyNames() ) {
 	    align.setXNamespace( label, getXNamespace( label ) );
 	}
 	try { align.ingest( this ); }
diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java
index 0ae6f2d174e82a1895703cafdb54ee5e5575e9d9..b69bffdc4f942aad592d5bbd59f4311a686ac135 100644
--- a/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java
+++ b/src/fr/inrialpes/exmo/align/impl/renderer/RDFRendererVisitor.java
@@ -152,11 +152,10 @@ public class RDFRendererVisitor extends IndentedRendererVisitor implements Align
 	    writer.print(NL+INDENT+INDENT+INDENT+INDENT+" xmlns:"+nslist.get(k)+"='"+k+"'");
 	}
 	if ( align instanceof BasicAlignment ) {
-	    for ( Enumeration e = ((BasicAlignment)align).getXNamespaces().getNames() ; e.hasMoreElements(); ){
-	    String label = (String)e.nextElement();
-	    if ( !label.equals("rdf") && !label.equals("xsd")
-		 && !label.equals("<default>") )
-		writer.print(NL+INDENT+INDENT+INDENT+INDENT+" xmlns:"+label+"='"+((BasicAlignment)align).getXNamespace( label )+"'");
+	    for ( String label : ((BasicAlignment)align).getXNamespaces().stringPropertyNames() ) {
+		if ( !label.equals("rdf") && !label.equals("xsd")
+		     && !label.equals("<default>") )
+		    writer.print(NL+INDENT+INDENT+INDENT+INDENT+" xmlns:"+label+"='"+((BasicAlignment)align).getXNamespace( label )+"'");
 	    }
 	}
 	writer.print(">"+NL);
diff --git a/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java b/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java
index 0b529812ee619b2df45d8bcabf3c5e96bb150f8b..bdcb266c6d2dac81f6d200dc3b2718b932481d96 100644
--- a/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java
+++ b/src/fr/inrialpes/exmo/align/impl/renderer/XMLMetadataRendererVisitor.java
@@ -94,11 +94,10 @@ public class XMLMetadataRendererVisitor extends GenericReflectiveVisitor impleme
 	    writer.print("\n         xmlns:"+nslist.get(k)+"='"+k+"'");
 	}
 	if ( align instanceof BasicAlignment ) {
-	    for ( Enumeration e = ((BasicAlignment)align).getXNamespaces().getNames() ; e.hasMoreElements(); ){
-	    String label = (String)e.nextElement();
-	    if ( !label.equals("rdf") && !label.equals("xsd")
-		 && !label.equals("<default>") )
-		writer.print("\n         xmlns:"+label+"='"+((BasicAlignment)align).getXNamespace( label )+"'");
+	    for ( String label : ((BasicAlignment)align).getXNamespaces().stringPropertyNames() ) {
+		if ( !label.equals("rdf") && !label.equals("xsd")
+		     && !label.equals("<default>") )
+		    writer.print("\n         xmlns:"+label+"='"+((BasicAlignment)align).getXNamespace( label )+"'");
 	    }
 	}
 	writer.print(">\n");
diff --git a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
index acf4aaf140f90050faa4c0ccbef68f207df8d642..c6f7f68470047dfa3a243fa1b26a486d563af6d3 100644
--- a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
+++ b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
@@ -24,7 +24,6 @@ package fr.inrialpes.exmo.align.service;
 import fr.inrialpes.exmo.align.parser.AlignmentParser;
 import fr.inrialpes.exmo.align.impl.Annotations;
 import fr.inrialpes.exmo.align.impl.Namespace;
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.impl.BasicAlignment;
 import fr.inrialpes.exmo.align.impl.URIAlignment;
 import fr.inrialpes.exmo.align.impl.ObjectAlignment;
diff --git a/src/fr/inrialpes/exmo/align/service/AlignmentService.java b/src/fr/inrialpes/exmo/align/service/AlignmentService.java
index 67a6b69ec9b9beea5e903527e85ea0dcded31974..0bbbccc35178fee40809c72899b5e21d74f39142 100644
--- a/src/fr/inrialpes/exmo/align/service/AlignmentService.java
+++ b/src/fr/inrialpes/exmo/align/service/AlignmentService.java
@@ -24,7 +24,6 @@ import fr.inrialpes.exmo.queryprocessor.QueryProcessor;
 import fr.inrialpes.exmo.queryprocessor.Result;
 import fr.inrialpes.exmo.queryprocessor.Type;
 
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.util.NullStream;
 
 import gnu.getopt.LongOpt;
@@ -248,11 +247,6 @@ public class AlignmentService {
 		/* Use filename instead of stdout */
 		outfile = g.getOptarg();
 		break;
-		//case 'p' :
-		/* Read parameters from filename */
-		//paramfile = g.getOptarg();
-		//BasicParameters.read( params, paramfile);
-		//break;
 	    case 'l' :
 		/* Use the given file as a database image to load */
 		filename = g.getOptarg();
diff --git a/src/fr/inrialpes/exmo/align/service/CacheImpl.java b/src/fr/inrialpes/exmo/align/service/CacheImpl.java
index 0c39e850aaf20dccb3a8107fd6dbc032e1aded25..d0d901a55b21ed86269f64fde0a642cb92b8a061 100644
--- a/src/fr/inrialpes/exmo/align/service/CacheImpl.java
+++ b/src/fr/inrialpes/exmo/align/service/CacheImpl.java
@@ -44,7 +44,6 @@ import fr.inrialpes.exmo.align.impl.BasicAlignment;
 import fr.inrialpes.exmo.align.impl.BasicRelation;
 import fr.inrialpes.exmo.align.impl.Annotations;
 import fr.inrialpes.exmo.align.impl.Namespace;
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.impl.URIAlignment;
 import fr.inrialpes.exmo.align.impl.URICell;
 import fr.inrialpes.exmo.align.impl.Namespace;
diff --git a/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java b/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java
index 8c6c38792d44eaf9a35c0d1cf702b880f97ed78c..830ab77cb33e65e9edb479352093175ac3bcf0d8 100644
--- a/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java
+++ b/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java
@@ -20,7 +20,6 @@
 
 package fr.inrialpes.exmo.align.service;
 
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.impl.Annotations;
 import fr.inrialpes.exmo.align.impl.Namespace;
 import fr.inrialpes.exmo.align.service.msg.Message;
@@ -305,10 +304,8 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
 	*/
 
 	// Convert parms to parameters
-	BasicParameters params = new BasicParameters();
-	Enumeration e = parms.propertyNames();
-	while ( e.hasMoreElements()) {
-	    String key = (String)e.nextElement();
+	Properties params = new Properties();
+	for ( String key : parms.stringPropertyNames() ) {
 	    if ( debug > 1 ) System.err.println( "  PRM: '" + key + "' = '" +parms.getProperty( key ) + "'" );
 	    if ( key.startsWith( "paramn" ) ){
 		params.setProperty( parms.getProperty( key ),
@@ -387,7 +384,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
      * HTTP administration interface
      * Allows some limited administration of the server through HTTP
      */
-    public Response adminAnswer( String uri, String perf, Properties header, BasicParameters params ) {
+    public Response adminAnswer( String uri, String perf, Properties header, Properties params ) {
 	if ( debug > 0 ) System.err.println("ADMIN["+perf+"]");
 	String msg = "";
         if ( perf.equals("listmethods") ){
@@ -464,7 +461,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
      * Returns the alignment in RDF/XML
      */
     public Response returnAlignment( String uri ) {
-	BasicParameters params = new BasicParameters();
+	Properties params = new Properties();
 	params.setProperty("id", manager.serverURL()+uri);
 	params.setProperty( "method", "fr.inrialpes.exmo.align.impl.renderer.RDFRendererVisitor" );
 	Message answer = manager.render( new Message(newId(),(Message)null,myId,serverId,"", params) );
@@ -479,7 +476,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
      * User friendly HTTP interface
      * uses the protocol but offers user-targeted interaction
      */
-    public Response htmlAnswer( String uri, String perf, Properties header, BasicParameters params ) {
+    public Response htmlAnswer( String uri, String perf, Properties header, Properties params ) {
 	//System.err.println("HTML["+perf+"]");
 	// REST get
 	String msg = "";
@@ -855,11 +852,11 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
     // ===============================================
     // Util
 
-    public Response wsdlAnswer(String uri, String perf, Properties header, BasicParameters params  ) {
+    public Response wsdlAnswer(String uri, String perf, Properties header, Properties params  ) {
 	return new Response( HTTP_OK, MIME_XML, WSAServProfile.wsdlAnswer( false ) );
     }	 
 
-    private String testErrorMessages( Message answer, BasicParameters param ) {
+    private String testErrorMessages( Message answer, Properties param ) {
 	if ( param.getProperty("restful") != null ) {
 	    return answer.RESTString();
 	} else {
@@ -867,7 +864,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile {
 	}
     }
 
-    private String displayAnswer( Message answer, BasicParameters param ) {
+    private String displayAnswer( Message answer, Properties param ) {
 	String result = null;
 	if( param.getProperty("restful") != null ) {
 	    if( param.getProperty("return").equals("HTML") ) {
diff --git a/src/fr/inrialpes/exmo/align/service/WSAServProfile.java b/src/fr/inrialpes/exmo/align/service/WSAServProfile.java
index ef81bf7a4b497c5b226b1313031fe25c19ec6b0f..7fd025ef409545f4ca99a4a28f8db2273e2aa951 100644
--- a/src/fr/inrialpes/exmo/align/service/WSAServProfile.java
+++ b/src/fr/inrialpes/exmo/align/service/WSAServProfile.java
@@ -20,7 +20,6 @@
 
 package fr.inrialpes.exmo.align.service;
 
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.impl.Annotations;
 import fr.inrialpes.exmo.align.impl.Namespace;
 import fr.inrialpes.exmo.align.service.msg.Message;
diff --git a/src/fr/inrialpes/exmo/align/service/WSAlignment.java b/src/fr/inrialpes/exmo/align/service/WSAlignment.java
index f59b3c7d51a021225abd3ec0a2277489a795386e..382f457559ea90c751b1c7473465aabea5e70fe2 100644
--- a/src/fr/inrialpes/exmo/align/service/WSAlignment.java
+++ b/src/fr/inrialpes/exmo/align/service/WSAlignment.java
@@ -59,7 +59,6 @@ import fr.inrialpes.exmo.ontowrap.Ontology;
 
 import fr.inrialpes.exmo.align.impl.URIAlignment;
 import fr.inrialpes.exmo.align.impl.URICell;
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.impl.Annotations;
 import fr.inrialpes.exmo.align.impl.Namespace;
 import fr.inrialpes.exmo.align.parser.AlignmentParser;
diff --git a/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServiceAgent.java b/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServiceAgent.java
index d74cca72b86d567bae4ac11d64a901459dde07d3..1fc9677c006730a01b6ad3494e2a5161468ca647 100755
--- a/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServiceAgent.java
+++ b/src/fr/inrialpes/exmo/align/service/jade/JadeFIPAAServiceAgent.java
@@ -2,7 +2,7 @@
  * $Id$
  *
  * Copyright (C) Orange R&D, 2006
- * Copyright (C) INRIA, 2006, 2008-2009, 2011
+ * Copyright (C) INRIA, 2006, 2008-2009, 2011-2012
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -42,7 +42,6 @@ import jade.lang.acl.ACLMessage;
 import jade.lang.acl.MessageTemplate;
 import jade.util.Logger;
 
-import fr.inrialpes.exmo.align.impl.BasicParameters;
 import fr.inrialpes.exmo.align.service.AServProtocolManager;
 import fr.inrialpes.exmo.align.service.msg.Message;
 import fr.inrialpes.exmo.align.service.msg.ErrorMsg;
@@ -131,8 +130,6 @@ public class JadeFIPAAServiceAgent extends Agent {
 						ce = CTmanager.extractContent(msg);
 						params = decodeMessage(ce,params);
 
-						//Parameters params = new BasicParameters();
-
 						if (ce instanceof ALIGN){
 							Message answer = manager.align(new Message(newId(), (Message)null,myId,serverId,"",params));
 							if(!(answer instanceof ErrorMsg)){