diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameterComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameterComparator.java
index 6590704a43f4a45a92a639cbc3b795168f2c4a82..4c9becbb154464eea3359dcca4ba4bb7874a47bd 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameterComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlParameterComparator.java
@@ -6,7 +6,7 @@ import lcsb.mapviewer.common.comparator.StringComparator;
 
 public class SbmlParameterComparator extends Comparator<SbmlParameter> {
 
-  protected SbmlParameterComparator() {
+  public SbmlParameterComparator() {
     super(SbmlParameter.class);
   }
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitComparator.java
index 4ac63392e0b22c1ad915e425f394ef71ee3fede8..0f4b585b9f78546434943fcc14032cdb3b553fd2 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/kinetics/SbmlUnitComparator.java
@@ -6,7 +6,7 @@ import lcsb.mapviewer.common.comparator.StringComparator;
 
 public class SbmlUnitComparator extends Comparator<SbmlUnit> {
 
-  protected SbmlUnitComparator() {
+  public SbmlUnitComparator() {
     super(SbmlUnit.class);
   }
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
index dc8eb6f002c64b30c22fa122b153c01e1abeeca1..f19e1b2e6bfde0062fa79717b1cd093c074dd538 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
@@ -12,8 +12,15 @@ import lcsb.mapviewer.common.Comparator;
 import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.comparator.DoubleComparator;
 import lcsb.mapviewer.common.comparator.IntegerComparator;
+import lcsb.mapviewer.common.comparator.SetComparator;
 import lcsb.mapviewer.common.comparator.StringComparator;
 import lcsb.mapviewer.model.map.graph.DataMiningSetComparator;
+import lcsb.mapviewer.model.map.kinetics.SbmlFunction;
+import lcsb.mapviewer.model.map.kinetics.SbmlFunctionComparator;
+import lcsb.mapviewer.model.map.kinetics.SbmlParameter;
+import lcsb.mapviewer.model.map.kinetics.SbmlParameterComparator;
+import lcsb.mapviewer.model.map.kinetics.SbmlUnit;
+import lcsb.mapviewer.model.map.kinetics.SbmlUnitComparator;
 import lcsb.mapviewer.model.map.layout.Layout;
 import lcsb.mapviewer.model.map.layout.LayoutComparator;
 import lcsb.mapviewer.model.map.layout.graphics.Layer;
@@ -136,6 +143,24 @@ public class ModelComparator extends Comparator<Model> {
       logger.debug("Set of data mining sets different");
       return status;
     }
+    SetComparator<SbmlUnit> unitSetComparator = new SetComparator<>(new SbmlUnitComparator());
+    status = unitSetComparator.compare(arg0.getUnits(), arg1.getUnits());
+    if (status != 0) {
+      logger.debug("units different");
+      return status;
+    }
+    SetComparator<SbmlFunction> functionSetComparator = new SetComparator<>(new SbmlFunctionComparator());
+    status = functionSetComparator.compare(arg0.getFunctions(), arg1.getFunctions());
+    if (status != 0) {
+      logger.debug("functions different");
+      return status;
+    }
+    SetComparator<SbmlParameter> parameterSetComparator = new SetComparator<>(new SbmlParameterComparator());
+    status = parameterSetComparator.compare(arg0.getParameters(), arg1.getParameters());
+    if (status != 0) {
+      logger.debug("parameters different");
+      return status;
+    }
     DataMiningSetComparator dataMiningSetComparator = new DataMiningSetComparator();
     for (int i = 0; i < arg0.getDataMiningSets().size(); i++) {
       status = dataMiningSetComparator.compare(arg0.getDataMiningSets().get(i), arg1.getDataMiningSets().get(i));