diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java
index f05ce4c0644cdbb537c3c212df48c94e60c92f70..fa6ea6d6b3369d711253f546e30c60609c4ee9be 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerTestFunctions.java
@@ -44,6 +44,7 @@ import lcsb.mapviewer.common.EventStorageLoggerAppender;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.InvalidInputDataExecption;
+import lcsb.mapviewer.model.map.BioEntity;
 import lcsb.mapviewer.model.map.InconsistentModelException;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelComparator;
@@ -234,14 +235,30 @@ public abstract class CellDesignerTestFunctions {
 
   protected void testXmlSerialization(Model model)
       throws InconsistentModelException, UnsupportedEncodingException, InvalidInputDataExecption {
-    CellDesignerXmlParser parser = new CellDesignerXmlParser();
-    String xml = parser.model2String(model);
-    InputStream is = new ByteArrayInputStream(xml.getBytes("UTF-8"));
-    Model model2 = parser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+    for (BioEntity bioEntity : model.getBioEntities()) {
+      bioEntity.setZ(null);
+    }
+
+    Model model2 = serializeModel(model);
 
     model.setName(null);
     ModelComparator comparator = new ModelComparator();
     assertEquals(0, comparator.compare(model, model2));
   }
 
+
+  protected Model serializeModel(Model model)
+      throws InconsistentModelException, UnsupportedEncodingException, InvalidInputDataExecption {
+    CellDesignerXmlParser parser = new CellDesignerXmlParser();
+    String xmlString = parser.model2String(model);
+    InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
+
+    Model model2 = parser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+    for (BioEntity bioEntity : model2.getBioEntities()) {
+      bioEntity.setZ(null);
+    }
+    return model2;
+  }
+
+
 }
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
index 0323096e108c0f6e89bfb6d37f7b9e7153d43752..2f0d754c17ec7b29493c480b83631802df4bc992 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParserTest.java
@@ -470,11 +470,7 @@ public class CellDesignerXmlParserTest extends CellDesignerTestFunctions {
       alias2.setName("PDK2");
       model.addElement(alias2);
 
-      CellDesignerXmlParser parser = new CellDesignerXmlParser();
-      String xmlString = parser.model2String(model);
-
-      InputStream is = new ByteArrayInputStream(xmlString.getBytes());
-      Model model2 = parser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+      Model model2 = serializeModel(model);
 
       assertEquals(0, modelComparator.compare(model, model2));
 
@@ -1078,11 +1074,7 @@ public class CellDesignerXmlParserTest extends CellDesignerTestFunctions {
       protein.addSynonym("&");
       model.addElement(protein);
 
-      CellDesignerXmlParser parser = new CellDesignerXmlParser();
-      String xmlString = parser.model2String(model);
-      InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
-
-      Model model2 = parser.createModel(new ConverterParams().inputStream(is));
+      Model model2 = serializeModel(model);
 
       assertEquals(0, modelComparator.compare(model, model2));
 
diff --git a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
index 022d79dc5cc667d1152b79e56c67717eb970a6b4..5c62f1ecae86e3790e75e085960862a73704f3f8 100644
--- a/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
+++ b/converter-CellDesigner/src/test/java/lcsb/mapviewer/converter/model/celldesigner/ComplexParserTests.java
@@ -7,8 +7,6 @@ import static org.junit.Assert.assertTrue;
 
 import java.awt.Color;
 import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -98,7 +96,6 @@ public class ComplexParserTests extends CellDesignerTestFunctions {
     }
   }
 
-
   @Test
   public void testParseTextWithBackground() throws Exception {
     try {
@@ -413,14 +410,7 @@ public class ComplexParserTests extends CellDesignerTestFunctions {
       alias.setName("name & no-name");
       model.addElement(alias);
 
-      CellDesignerXmlParser parser = new CellDesignerXmlParser();
-      String string = parser.model2String(model);
-
-      InputStream stream = new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8));
-
-      ConverterParams params = new ConverterParams().inputStream(stream).sizeAutoAdjust(false);
-
-      Model model2 = parser.createModel(params);
+      Model model2 = serializeModel(model);
 
       ModelComparator comparator = new ModelComparator();
 
@@ -443,14 +433,7 @@ public class ComplexParserTests extends CellDesignerTestFunctions {
       alias.setName("name\rno-name");
       model.addElement(alias);
 
-      CellDesignerXmlParser parser = new CellDesignerXmlParser();
-      String string = parser.model2String(model);
-
-      InputStream stream = new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8));
-
-      ConverterParams params = new ConverterParams().inputStream(stream).sizeAutoAdjust(false);
-
-      Model model2 = parser.createModel(params);
+      Model model2 = serializeModel(model);
 
       ModelComparator comparator = new ModelComparator();
 
@@ -485,5 +468,4 @@ public class ComplexParserTests extends CellDesignerTestFunctions {
     }
   }
 
-
 }
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java
index 7d324d25bb420b136d6497ba957b9b79a5562a36..bb885faf54552561af6c048f35247b3945a341fa 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlParserTest.java
@@ -26,6 +26,7 @@ import lcsb.mapviewer.converter.graphics.AbstractImageGenerator;
 import lcsb.mapviewer.converter.graphics.NormalImageGenerator;
 import lcsb.mapviewer.converter.graphics.PngImageGenerator;
 import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
+import lcsb.mapviewer.model.map.BioEntity;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelComparator;
 
@@ -91,11 +92,16 @@ public class GenericSbmlParserTest {
 
       assertNotNull(model2);
       ModelComparator comparator = new ModelComparator(1.0);
+      for (BioEntity bioEntity: model.getBioEntities()) {
+        bioEntity.setZ(null);
+      }
+      for (BioEntity bioEntity: model2.getBioEntities()) {
+        bioEntity.setZ(null);
+      }
       assertEquals(0, comparator.compare(model, model2));
       FileUtils.deleteDirectory(new File(dir));
 
     } catch (Exception e) {
-      // TODO Auto-generated catch block
       e.printStackTrace();
       throw e;
     }
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java
index 933b781dc25acead876b8a23f72d38f829ed4895..4b9e2610e2dc4d65ad36854b5718717bf59e2732 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlTestFunctions.java
@@ -4,6 +4,7 @@ import java.awt.Desktop;
 import java.awt.geom.Point2D;
 import java.io.ByteArrayInputStream;
 import java.io.File;
+import java.io.InputStream;
 import java.nio.file.Files;
 import java.util.List;
 
@@ -17,7 +18,9 @@ import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.graphics.AbstractImageGenerator;
 import lcsb.mapviewer.converter.graphics.NormalImageGenerator;
 import lcsb.mapviewer.converter.graphics.PngImageGenerator;
+import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
 import lcsb.mapviewer.model.graphics.PolylineData;
+import lcsb.mapviewer.model.map.BioEntity;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.reaction.Product;
@@ -117,6 +120,21 @@ public class SbmlTestFunctions {
     // showImage(result);
     return result;
   }
+  
+  protected Model getModelAfterCellDEsignerSerializing(Model model) throws Exception {
+    CellDesignerXmlParser parser = new CellDesignerXmlParser();
+    String xmlString = parser.model2String(model);
+    InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
+
+    Model model2 = parser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+    for (BioEntity bioEntity : model2.getBioEntities()) {
+      bioEntity.setZ(null);
+    }
+    for (BioEntity bioEntity : model.getBioEntities()) {
+      bioEntity.setZ(null);
+    }
+    return model2;
+  }
 
 
 
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
index f952fbb95926cb74ca8de7ad6e4afd960ef22750..70809cf5ae2f8e040010437622e51e87482a4a7f 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/CreateHierarchyCommandTest.java
@@ -385,6 +385,7 @@ public class CreateHierarchyCommandTest extends CommandTestFunctions {
 
       assertEquals("test", pathway.getName());
       assertEquals("5", pathway.getVisibilityLevel());
+      assertEquals((Integer)11, pathway.getZ());
 
     } catch (Exception e) {
       e.printStackTrace();
diff --git a/model-command/testFiles/layer_text_with_notes.xml b/model-command/testFiles/layer_text_with_notes.xml
index 690a38abdadd5247c223a0eb186a36685887dcdb..426b06f1c1bfce645530b256c8fc91b30ce355e8 100644
--- a/model-command/testFiles/layer_text_with_notes.xml
+++ b/model-command/testFiles/layer_text_with_notes.xml
@@ -42,6 +42,7 @@
 <celldesigner:layerNotes>
 test
 SemanticZoomLevelVisibility: 5
+Z-Index: 11
 </celldesigner:layerNotes>
 <celldesigner:bounds x="140.0" y="173.0" w="242.0" h="178.0"/>
 <celldesigner:paint color="ff000000"/>