diff --git a/README.AServ b/README.AServ
index 1d1fbcc0517794376f336cb92a00f4e3234315d8..23adba49d1dfaf14ac3112b6de3e69e4650d4b25 100644
--- a/README.AServ
+++ b/README.AServ
@@ -1,10 +1,11 @@
 #######################################################################
 #		Alignment Server launch instructions                  #
-#                      11/01/2014, version 4.5                        #
+#                      10/02/2014, version 4.6                        #
 #######################################################################
 
 Using the alignment server requires an SQL database server.
-We see here, how to use mysql (http://dev.mysql.com/doc/refman).
+We see here, how to use mysql (http://dev.mysql.com/doc/refman)
+there is also built-in support for PostGres.
 
 PORTS USED BY THE ALIGNMENT SERVER
 ----------------------------------
@@ -78,6 +79,12 @@ java -cp lib/kaon2.jar org.semanticweb.kaon2.server.ServerMain -registry -rmi -o
 
 java -jar lib/alignsvc.jar -O -d4
 
+IN CASE OF PERMGEN ERROR
+------------------------
+
+Necessary because we load all classes in the path to check if they implement an interface...
+
+It can be extended by -XX:MaxPermSize=256m
 
 RUNNING THE ALIGNMENT SERVER
 ----------------------------
diff --git a/README.TXT b/README.TXT
index 445a22e465a01dae93fd60a832d0963baa5d1aea..b18ac039ae76ef5075505bb388455da111c21750 100644
--- a/README.TXT
+++ b/README.TXT
@@ -1,6 +1,6 @@
 #######################################################################
 #              Ontology alignment API and implementation              #
-#                      11/01/2014, version 4.5                        #
+#                      10/02/2014, version 4.6                        #
 #                  http://alignapi.gforge.inria.fr                    #
 #######################################################################
 
diff --git a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
index f377babf3545f9080924779df4a39494669f79b7..8a8660b977b65f3dd17337693ce03dc04d9e10c3 100644
--- a/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
+++ b/src/fr/inrialpes/exmo/align/service/AServProtocolManager.java
@@ -117,7 +117,7 @@ import java.util.zip.ZipEntry;
 public class AServProtocolManager implements Service {
     final static Logger logger = LoggerFactory.getLogger( AServProtocolManager.class );
 
-    CacheImpl alignmentCache = null;
+    Cache alignmentCache = null;
     Properties commandLineParams = null;
     Set<String> renderers = null;
     Set<String> methods = null;
@@ -1037,9 +1037,33 @@ public class AServProtocolManager implements Service {
 
     public boolean implementsInterface( String classname, Class tosubclass ) {
 	try {
-	    if ( classname.equals("org.apache.xalan.extensions.ExtensionHandlerGeneral") || 
+	    // This was used to ban classes with weird behaviour
+	    // This is not needed anymore (kept as an example)
+	    /*
+	      if ( classname.equals("org.apache.xalan.extensions.ExtensionHandlerGeneral") || 
 		 classname.equals("org.apache.log4j.net.ZeroConfSupport") 
-	    ) throw new ClassNotFoundException( "Classes breaking this work" );
+		 ) {
+		throw new ClassNotFoundException( "Classes breaking this work" );
+		}*/
+	    // This is a little crazy but at least save PermGem
+	    // These are our largest libraries, but others may be to ban
+	    // Hope that they do not implement any of our interfaces
+	    if ( classname.startsWith( "org.apache.lucene" )
+		 || classname.startsWith( "org.tartarus" )
+		 || classname.startsWith( "com.hp.hpl.jena" )
+		 || classname.startsWith( "org.apache.jena" )
+		 || classname.startsWith( "arq." )
+		 || classname.startsWith( "riotcmd" )
+		 || classname.startsWith( "org.openjena" )
+		 || classname.startsWith( "uk.ac.manchester.cs.owlapi" )
+		 || classname.startsWith( "org.coode" )
+		 || classname.startsWith( "org.semanticweb.owlapi" )
+		 || classname.startsWith( "de.uulm.ecs.ai.owlapi" )
+		 || classname.startsWith( "org.apache.xerces" )
+		 || classname.startsWith( "org.apache.xml" )
+		 || classname.startsWith( "org.apache.html" )
+		 || classname.startsWith( "org.apache.wml" )
+		 ) return false;
 	    // JE: Here there is a bug that is that it is not possible
 	    // to have ALL interfaces with this function!!!
 	    // This is really stupid but that's life