diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/MultiPackageNamingUtils.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/MultiPackageNamingUtils.java
index a4f69ebc8e2b35d142e2f37b3167ee16d0f0c6eb..3b691a55b7d4836a72a426b1168cd857cabc0c1f 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/MultiPackageNamingUtils.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/MultiPackageNamingUtils.java
@@ -5,8 +5,10 @@ import org.sbml.jsbml.ext.multi.MultiSpeciesType;
 
 import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
+import lcsb.mapviewer.model.map.species.field.AbstractSiteModification;
 import lcsb.mapviewer.model.map.species.field.ModificationResidue;
 import lcsb.mapviewer.model.map.species.field.ModificationState;
+import lcsb.mapviewer.model.map.species.field.TranscriptionSite;
 
 /**
  * Class responsible for providing identifiers of structures inside multi
@@ -70,19 +72,20 @@ public final class MultiPackageNamingUtils {
     return featureTypeId.startsWith(MINERVA_POSITION_TO_COMPARTMENT_PREFIX);
   }
 
-  public static String getModificationFeatureId(Species species, Class<? extends ModificationResidue> class1) {
-    return MINERVA_MODIFICATION_TYPE_PREFIX + species.getClass().getSimpleName() + "_" + class1.getSimpleName();
-  }
-
-  public static String getModificationFeatureId(Species species, Class<? extends ModificationResidue> class1,
-      ModificationState state) {
-    String stateName = "null";
-    if (state != null) {
-      stateName = state.name();
+  public static String getModificationFeatureId(ModificationResidue mr) {
+    String stateSuffix = "";
+    if (mr instanceof AbstractSiteModification) {
+      if (((AbstractSiteModification) mr).getState() != null) {
+        stateSuffix = "_" + ((AbstractSiteModification) mr).getState().name();
+      } else {
+        stateSuffix = "_null";
+      }
+    } else if (mr instanceof TranscriptionSite) {
+      stateSuffix = "_" + ((TranscriptionSite) mr).getActive() + "_" + ((TranscriptionSite) mr).getDirection();
     }
-    
-    return MINERVA_MODIFICATION_TYPE_PREFIX + species.getClass().getSimpleName() + "_" + class1.getSimpleName() + "_"
-        + stateName;
+
+    return MINERVA_MODIFICATION_TYPE_PREFIX + mr.getSpecies().getClass().getSimpleName() + "_"
+        + mr.getClass().getSimpleName() + stateSuffix;
   }
 
   public static boolean isModificationFeatureId(String featureTypeString) {
@@ -103,4 +106,26 @@ public final class MultiPackageNamingUtils {
     return null;
   }
 
+  public static Boolean getTranscriptionFactorActiveStateFromFeatureTypeName(String featureTypeString) {
+    String tmp[] = featureTypeString.split("_");
+    Boolean result = null;
+    if (tmp.length >= 2) {
+      if (tmp[tmp.length - 2].equalsIgnoreCase("TRUE")) {
+        result = true;
+      } else if (tmp[tmp.length - 2].equalsIgnoreCase("FALSE")) {
+        result = false;
+      }
+    }
+    return result;
+  }
+
+  public static String getTranscriptionFactorDirectionStateFromFeatureTypeName(String featureTypeString) {
+    String tmp[] = featureTypeString.split("_");
+    String result = null;
+    if (tmp.length >= 1) {
+      result = tmp[tmp.length - 1];
+    }
+    return result;
+  }
+
 }
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
index 670c655dbc548660877cc1b995a479600597597e..fe1c72781d56f3bd2e093bec5785abc2db4fd062 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesExporter.java
@@ -120,15 +120,15 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
       PossibleSpeciesFeatureValue value;
 
       if (mr instanceof BindingRegion) {
-        feature = getBindingRegionFeature(mr.getSpecies(), speciesType);
+        feature = getBindingRegionFeature((BindingRegion) mr, speciesType);
       } else if (mr instanceof CodingRegion) {
-        feature = getCodingRegionFeature(mr.getSpecies(), speciesType);
+        feature = getCodingRegionFeature((CodingRegion) mr, speciesType);
       } else if (mr instanceof ProteinBindingDomain) {
-        feature = getProteinBindingDomainFeature(mr.getSpecies(), speciesType);
+        feature = getProteinBindingDomainFeature((ProteinBindingDomain) mr, speciesType);
       } else if (mr instanceof RegulatoryRegion) {
-        feature = getRegulatoryRegionFeature(mr.getSpecies(), speciesType);
+        feature = getRegulatoryRegionFeature((RegulatoryRegion) mr, speciesType);
       } else if (mr instanceof TranscriptionSite) {
-        feature = getTranscriptionSiteFeature(mr.getSpecies(), speciesType);
+        feature = getTranscriptionSiteFeature((TranscriptionSite) mr, speciesType);
       } else if (mr instanceof ModificationSite) {
         feature = getModificationSiteFeature((ModificationSite) mr, speciesType);
       } else if (mr instanceof Residue) {
@@ -142,40 +142,42 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
     }
   }
 
-  private SpeciesFeatureType getCodingRegionFeature(Species species, MultiSpeciesType speciesType) {
-    String featureId = MultiPackageNamingUtils.getModificationFeatureId(species, CodingRegion.class);
+  private SpeciesFeatureType getCodingRegionFeature(CodingRegion mr, MultiSpeciesType speciesType) {
+    String featureId = MultiPackageNamingUtils.getModificationFeatureId(mr);
     String featureName = "Coding region";
     return getOrCreateFeatureById(featureId, featureName, speciesType);
   }
 
-  private SpeciesFeatureType getBindingRegionFeature(Species species, MultiSpeciesType speciesType) {
-    String featureId = MultiPackageNamingUtils.getModificationFeatureId(species, BindingRegion.class);
+  private SpeciesFeatureType getBindingRegionFeature(BindingRegion bindingRegion, MultiSpeciesType speciesType) {
+    String featureId = MultiPackageNamingUtils.getModificationFeatureId(bindingRegion);
     String featureName = "Binding region";
     return getOrCreateFeatureById(featureId, featureName, speciesType);
   }
 
-  private SpeciesFeatureType getProteinBindingDomainFeature(Species species, MultiSpeciesType speciesType) {
-    String featureId = MultiPackageNamingUtils.getModificationFeatureId(species, ProteinBindingDomain.class);
+  private SpeciesFeatureType getProteinBindingDomainFeature(ProteinBindingDomain proteinBindingDomain,
+      MultiSpeciesType speciesType) {
+    String featureId = MultiPackageNamingUtils.getModificationFeatureId(proteinBindingDomain);
     String featureName = "Protein binding domain";
     return getOrCreateFeatureById(featureId, featureName, speciesType);
   }
 
-  private SpeciesFeatureType getRegulatoryRegionFeature(Species species, MultiSpeciesType speciesType) {
-    String featureId = MultiPackageNamingUtils.getModificationFeatureId(species, RegulatoryRegion.class);
+  private SpeciesFeatureType getRegulatoryRegionFeature(RegulatoryRegion regulatoryRegion,
+      MultiSpeciesType speciesType) {
+    String featureId = MultiPackageNamingUtils.getModificationFeatureId(regulatoryRegion);
     String featureName = "Regulatory region";
     return getOrCreateFeatureById(featureId, featureName, speciesType);
   }
 
-  private SpeciesFeatureType getTranscriptionSiteFeature(Species species, MultiSpeciesType speciesType) {
-    String featureId = MultiPackageNamingUtils.getModificationFeatureId(species, TranscriptionSite.class);
+  private SpeciesFeatureType getTranscriptionSiteFeature(TranscriptionSite transcriptionSite,
+      MultiSpeciesType speciesType) {
+    String featureId = MultiPackageNamingUtils.getModificationFeatureId(transcriptionSite);
     String featureName = "Transcription site";
     return getOrCreateFeatureById(featureId, featureName, speciesType);
   }
 
   private SpeciesFeatureType getModificationSiteFeature(ModificationSite modificationSite,
       MultiSpeciesType speciesType) {
-    String featureId = MultiPackageNamingUtils.getModificationFeatureId(modificationSite.getSpecies(),
-        ModificationSite.class, modificationSite.getState());
+    String featureId = MultiPackageNamingUtils.getModificationFeatureId(modificationSite);
     String featureName = "";
     if (modificationSite.getState() != null) {
       featureName = modificationSite.getState().getFullName();
@@ -184,8 +186,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
   }
 
   private SpeciesFeatureType getResidueFeature(Residue residue, MultiSpeciesType speciesType) {
-    String featureId = MultiPackageNamingUtils.getModificationFeatureId(residue.getSpecies(), Residue.class,
-        residue.getState());
+    String featureId = MultiPackageNamingUtils.getModificationFeatureId(residue);
     String featureName = "";
     if (residue.getState() != null) {
       featureName = residue.getState().getFullName();
@@ -401,11 +402,7 @@ public class SbmlSpeciesExporter extends SbmlElementExporter<Species, org.sbml.j
   private void createModificationGlyph(ModificationResidue mr, org.sbml.jsbml.Species sbmlSpecies) {
     MultiSpeciesPlugin speciesExtension = (MultiSpeciesPlugin) sbmlSpecies.getExtension("multi");
     SpeciesFeature feature = null;
-    String featureTypeId = MultiPackageNamingUtils.getModificationFeatureId(mr.getSpecies(), mr.getClass());
-    if (mr instanceof AbstractSiteModification) {
-      featureTypeId = MultiPackageNamingUtils.getModificationFeatureId(mr.getSpecies(), mr.getClass(),
-          ((AbstractSiteModification) mr).getState());
-    }
+    String featureTypeId = MultiPackageNamingUtils.getModificationFeatureId(mr);
     for (SpeciesFeature existingFeature : speciesExtension.getListOfSpeciesFeatures()) {
       if (existingFeature.getSpeciesFeatureType().equals(featureTypeId)) {
         feature = existingFeature;
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
index 4fb0cf872e70171ca46f853ac62ffd1f7d6175d3..1bdf6ff54812ec2cdedad74d3811bf493579f2c8 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/species/SbmlSpeciesParser.java
@@ -210,7 +210,10 @@ public class SbmlSpeciesParser extends SbmlElementParser<org.sbml.jsbml.Species>
       } else if (MultiPackageNamingUtils.isModificationFeatureId(featureTypeString, TranscriptionSite.class)) {
         mr = new TranscriptionSite();
         if (minervaElement instanceof SpeciesWithTranscriptionSite) {
-          ((SpeciesWithTranscriptionSite) minervaElement).addTranscriptionSite((TranscriptionSite) mr);
+          TranscriptionSite transcriptionSite = (TranscriptionSite) mr;
+          transcriptionSite.setActive(MultiPackageNamingUtils.getTranscriptionFactorActiveStateFromFeatureTypeName(featureTypeString));
+          transcriptionSite.setDirection(MultiPackageNamingUtils.getTranscriptionFactorDirectionStateFromFeatureTypeName(featureTypeString));
+          ((SpeciesWithTranscriptionSite) minervaElement).addTranscriptionSite(transcriptionSite);
         } else {
           logger.warn(warnPrefix + "Object class doesn't support " + mr.getClass());
         }
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java
index 70b980e09dfe35cbe3e06c5b02fced7278e40a74..1bc8fc0a77a511d0ec8615a3cfd6436665ff8bdf 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/AllSbmlConverterTests.java
@@ -12,7 +12,8 @@ import lcsb.mapviewer.converter.model.sbml.species.AllSbmlSpeciesTests;
     AllSbmlSpeciesTests.class,
     GenericSbmlParserTest.class,
     GenericSbmlToXmlParserTest.class,
-    MultiSbmlParserTest.class,
+    CellDesignerToMultiExportTest.class,
+    MultiParserTest.class,
     SbmlBioEntityExporterTest.class,
     SbmlExporterTest.class,
     SbmlExporterFromCellDesignerTest.class,
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java
index 7cb74fe6152ad221a9d21b13ab0ce1e1baa68e48..7c22d4b924e2583b143e6bf2c22f6553a4365fb1 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/CellDesignerToMultiExportTest.java
@@ -4,7 +4,6 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 import java.io.ByteArrayInputStream;
-import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.file.Files;
@@ -13,7 +12,6 @@ import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.commons.io.FileUtils;
 import org.apache.log4j.Logger;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -22,9 +20,6 @@ import org.junit.runners.Parameterized.Parameters;
 
 import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.IConverter;
-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.model.Model;
 import lcsb.mapviewer.model.map.model.ModelComparator;
@@ -43,7 +38,7 @@ public class CellDesignerToMultiExportTest {
   @Parameters(name = "{index} : {0}")
   public static Collection<Object[]> data() throws IOException {
     Collection<Object[]> data = new ArrayList<Object[]>();
-    Files.walk(Paths.get("testFiles/multi")).forEach(fPath -> {
+    Files.walk(Paths.get("testFiles/cd_for_multi")).forEach(fPath -> {
       if (Files.isRegularFile(fPath) && fPath.toString().endsWith(".xml")) {
         data.add(new Object[] { fPath });
       }
@@ -54,40 +49,23 @@ public class CellDesignerToMultiExportTest {
   @Test
   public void createModelTest() throws Exception {
     try {
-      String dir = Files.createTempDirectory("sbml-temp-images-dir").toFile().getAbsolutePath();
-
-      IConverter converter = new SbmlParser();
+      IConverter converter = new CellDesignerXmlParser();
 
       Model model = converter.createModel(new ConverterParams().filename(filePath.toString()));
       model.setName(null);
 
-      // Create and display image of parsed map
-      AbstractImageGenerator.Params params = new AbstractImageGenerator.Params().height(model.getHeight())
-          .width(model.getWidth()).nested(true).scale(1).level(20).x(0).y(0).model(model);
-      NormalImageGenerator nig = new PngImageGenerator(params);
-      String pathWithouExtension = dir + "/"
-          + filePath.getFileName().toString().substring(0, filePath.getFileName().toString().indexOf(".xml"));
-      String pngFilePath = pathWithouExtension.concat(".png");
-      nig.saveToFile(pngFilePath);
-      // Desktop.getDesktop().open(new File(pngFilePath));
-
-      CellDesignerXmlParser cellDesignerXmlParser = new CellDesignerXmlParser();
-      String xmlString = cellDesignerXmlParser.toXml(model);
+      SbmlExporter sbmlExporter = new SbmlExporter();
+      SbmlParser sbmlParser = new SbmlParser();
+      String xmlString = sbmlExporter.toXml(model);
 
       InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
 
-      Model model2 = cellDesignerXmlParser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
-
-      AbstractImageGenerator.Params params2 = new AbstractImageGenerator.Params().height(model2.getHeight())
-          .width(model2.getWidth()).nested(true).scale(1).level(20).x(0).y(0).model(model2);
-      NormalImageGenerator nig2 = new PngImageGenerator(params2);
-      String pngFilePath2 = pathWithouExtension.concat("_2.png");
-      nig2.saveToFile(pngFilePath2);
+      Model model2 = sbmlParser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+      model2.setName(null);
 
       assertNotNull(model2);
       ModelComparator comparator = new ModelComparator(1.0);
       assertEquals(0, comparator.compare(model, model2));
-      FileUtils.deleteDirectory(new File(dir));
 
     } catch (Exception e) {
       // TODO Auto-generated catch block
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java
index f9e8649a5ae70a6e55361d44a92daf70db95c901..10843990e94ec0bbd610c4e67b643ff68eba32c0 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/GenericSbmlToXmlParserTest.java
@@ -22,7 +22,6 @@ import lcsb.mapviewer.converter.ConverterParams;
 import lcsb.mapviewer.converter.IConverter;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelComparator;
-import lcsb.mapviewer.model.map.reaction.Reaction;
 
 @RunWith(Parameterized.class)
 public class GenericSbmlToXmlParserTest {
@@ -66,7 +65,7 @@ public class GenericSbmlToXmlParserTest {
           + filePath.getFileName().toString().substring(0, filePath.getFileName().toString().indexOf(".xml"));
       String xmlFilePath = pathWithouExtension.concat(".xml");
       converter.exportModelToFile(model, xmlFilePath);
-      
+
       Model model2 = converter.createModel(new ConverterParams().filename(xmlFilePath).sizeAutoAdjust(false));
       model2.setName(null);
 
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiParserTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..9636bdb54b4c1a4e069e0502ef8cfa6086f2e8b7
--- /dev/null
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiParserTest.java
@@ -0,0 +1,99 @@
+package lcsb.mapviewer.converter.model.sbml;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.log4j.Logger;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import lcsb.mapviewer.converter.ConverterParams;
+import lcsb.mapviewer.converter.IConverter;
+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.model.Model;
+import lcsb.mapviewer.model.map.model.ModelComparator;
+
+@RunWith(Parameterized.class)
+public class MultiParserTest {
+
+  static Logger logger = Logger.getLogger(MultiParserTest.class.getName());
+
+  private Path filePath;
+
+  public MultiParserTest(Path filePath) {
+    this.filePath = filePath;
+  }
+
+  @Parameters(name = "{index} : {0}")
+  public static Collection<Object[]> data() throws IOException {
+    Collection<Object[]> data = new ArrayList<Object[]>();
+    Files.walk(Paths.get("testFiles/multi")).forEach(fPath -> {
+      if (Files.isRegularFile(fPath) && fPath.toString().endsWith(".xml")) {
+        data.add(new Object[] { fPath });
+      }
+    });
+    return data;
+  }
+
+  @Test
+  public void createModelTest() throws Exception {
+    try {
+      String dir = Files.createTempDirectory("sbml-temp-images-dir").toFile().getAbsolutePath();
+
+      IConverter converter = new SbmlParser();
+
+      Model model = converter.createModel(new ConverterParams().filename(filePath.toString()));
+      model.setName(null);
+
+      // Create and display image of parsed map
+      AbstractImageGenerator.Params params = new AbstractImageGenerator.Params().height(model.getHeight())
+          .width(model.getWidth()).nested(true).scale(1).level(20).x(0).y(0).model(model);
+      NormalImageGenerator nig = new PngImageGenerator(params);
+      String pathWithouExtension = dir + "/"
+          + filePath.getFileName().toString().substring(0, filePath.getFileName().toString().indexOf(".xml"));
+      String pngFilePath = pathWithouExtension.concat(".png");
+      nig.saveToFile(pngFilePath);
+      // Desktop.getDesktop().open(new File(pngFilePath));
+
+      CellDesignerXmlParser cellDesignerXmlParser = new CellDesignerXmlParser();
+      String xmlString = cellDesignerXmlParser.toXml(model);
+
+      InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
+
+      Model model2 = cellDesignerXmlParser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
+
+      AbstractImageGenerator.Params params2 = new AbstractImageGenerator.Params().height(model2.getHeight())
+          .width(model2.getWidth()).nested(true).scale(1).level(20).x(0).y(0).model(model2);
+      NormalImageGenerator nig2 = new PngImageGenerator(params2);
+      String pngFilePath2 = pathWithouExtension.concat("_2.png");
+      nig2.saveToFile(pngFilePath2);
+
+      assertNotNull(model2);
+      ModelComparator comparator = new ModelComparator(1.0);
+      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/MultiSbmlParserTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiSbmlParserTest.java
deleted file mode 100644
index d5345cfce8997888dac9530b4f76f98dd6936a17..0000000000000000000000000000000000000000
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/MultiSbmlParserTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package lcsb.mapviewer.converter.model.sbml;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.apache.log4j.Logger;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import lcsb.mapviewer.converter.ConverterParams;
-import lcsb.mapviewer.converter.IConverter;
-import lcsb.mapviewer.converter.model.celldesigner.CellDesignerXmlParser;
-import lcsb.mapviewer.model.map.model.Model;
-import lcsb.mapviewer.model.map.model.ModelComparator;
-
-@RunWith(Parameterized.class)
-public class MultiSbmlParserTest {
-
-  static Logger logger = Logger.getLogger(MultiSbmlParserTest.class.getName());
-
-  private Path filePath;
-
-  public MultiSbmlParserTest(Path filePath) {
-    this.filePath = filePath;
-  }
-
-  @Parameters(name = "{index} : {0}")
-  public static Collection<Object[]> data() throws IOException {
-    Collection<Object[]> data = new ArrayList<Object[]>();
-    Files.walk(Paths.get("testFiles/cd_for_multi")).forEach(fPath -> {
-      if (Files.isRegularFile(fPath) && fPath.toString().endsWith(".xml")) {
-        data.add(new Object[] { fPath });
-      }
-    });
-    return data;
-  }
-
-  @Test
-  public void createModelTest() throws Exception {
-    try {
-      IConverter converter = new CellDesignerXmlParser();
-
-      Model model = converter.createModel(new ConverterParams().filename(filePath.toString()));
-      model.setName(null);
-
-      SbmlExporter sbmlExporter = new SbmlExporter();
-      SbmlParser sbmlParser = new SbmlParser();
-      String xmlString = sbmlExporter.toXml(model);
-
-      InputStream is = new ByteArrayInputStream(xmlString.getBytes("UTF-8"));
-
-      Model model2 = sbmlParser.createModel(new ConverterParams().inputStream(is).sizeAutoAdjust(false));
-      model2.setName(null);
-
-      assertNotNull(model2);
-      ModelComparator comparator = new ModelComparator(1.0);
-      assertEquals(0, comparator.compare(model, model2));
-
-    } 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/SbmlExporterTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
index 1a6733fff5661640f0fedf4dfee8a79ca2536727..92b27dcc63168fdc6cb9c1343ad978ef264bcfb0 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
@@ -534,7 +534,6 @@ public class SbmlExporterTest {
 
   @Test
   public void testMultiExtensionTypeDefinition() throws Exception {
-    String structuralState = "xxx";
     Model model = createEmptyModel();
     GenericProtein element = new GenericProtein("id");
     element.setName("test name");
@@ -595,17 +594,17 @@ public class SbmlExporterTest {
     Residue mr = new Residue("x1");
     mr.setName("217U");
     mr.setState(ModificationState.PHOSPHORYLATED);
-    mr.setPosition(new Point2D.Double(10,11));
+    mr.setPosition(new Point2D.Double(10, 11));
     element.addResidue(mr);
     mr = new Residue("Y");
     mr.setName("218");
     mr.setState(ModificationState.PHOSPHORYLATED);
-    mr.setPosition(new Point2D.Double(10,12));
+    mr.setPosition(new Point2D.Double(10, 12));
     element.addResidue(mr);
     mr = new Residue("Z");
     mr.setName("219");
     mr.setState(ModificationState.UBIQUITINATED);
-    mr.setPosition(new Point2D.Double(10,13));
+    mr.setPosition(new Point2D.Double(10, 13));
     element.addResidue(mr);
     model.addElement(element);
     Model deserializedModel = getModelAfterSerializing(model);
diff --git a/converter-sbml/testFiles/multi/bionetgen.xml b/converter-sbml/testFiles/multi/bionetgen.xml.jsbml-issue
similarity index 100%
rename from converter-sbml/testFiles/multi/bionetgen.xml
rename to converter-sbml/testFiles/multi/bionetgen.xml.jsbml-issue