diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java
index dda0a2c6a90479dab0c7664f872f69c1ebacebe4..5b4f53699662bf7c8f36b6d10a94cd3a2bbca287 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/types/ModifierTypeUtils.java
@@ -14,6 +14,7 @@ import lcsb.mapviewer.model.map.reaction.AbstractNode;
 import lcsb.mapviewer.model.map.reaction.Modifier;
 import lcsb.mapviewer.model.map.reaction.NodeOperator;
 import lcsb.mapviewer.model.map.reaction.Reaction;
+import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
 
 /**
@@ -79,7 +80,7 @@ public class ModifierTypeUtils {
 			throw new InvalidArgumentException("Unknown modifier type: " + type);
 		}
 		try {
-			Modifier mod = modType.getClazz().getConstructor(Species.class).newInstance(alias);
+			Modifier mod = modType.getClazz().getConstructor(Element.class).newInstance(alias);
 			return mod;
 		} catch (Exception e) {
 			throw new InvalidStateException("Problem with instantiation of Modifier class: " + type);
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
index 0b8b1e4c240dee5491774dc958c47bfbce2d9d24..bbfbd3b22d800d252d76ca50bfbc853e05d9145e 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
@@ -5,6 +5,7 @@ import java.awt.geom.Point2D;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.HashSet;
 import java.util.Set;
 
 import javax.xml.stream.XMLStreamException;
@@ -30,6 +31,7 @@ import lcsb.mapviewer.model.map.InconsistentModelException;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
+import lcsb.mapviewer.model.map.modifier.Modulation;
 import lcsb.mapviewer.model.map.reaction.AbstractNode;
 import lcsb.mapviewer.model.map.reaction.AndOperator;
 import lcsb.mapviewer.model.map.reaction.Modifier;
@@ -220,12 +222,26 @@ public class SbmlParser implements IConverter {
       operator.setLine(line);
       reaction.addNode(operator);
     }
+    Set<Modifier> modifiersToBeRemoved = new HashSet<>();
+    Set<Modifier> modifiersToBeAdded = new HashSet<>();
+    for (Modifier modifier : reaction.getModifiers()) {
+      if (modifier.getClass() == Modifier.class) {
+        modifiersToBeRemoved.add(modifier);
+        modifiersToBeAdded.add(new Modulation(modifier.getElement()));
+      }
+    }
+    for (Modifier modifier : modifiersToBeRemoved) {
+      reaction.removeModifier(modifier);
+    }
+    for (Modifier modifier : modifiersToBeAdded) {
+      reaction.addModifier(modifier);
+    }
     for (Modifier modifier : reaction.getModifiers()) {
       PolylineData line = new PolylineData();
       line.addPoint(modifier.getElement().getCenter());
       line.addPoint(center);
       modifier.setLine(line);
-      if (modifier.getClass() == Modifier.class) {
+      if (modifier.getClass() == Modulation.class) {
         line.setEndAtd(ModifierType.MODULATION_STRING.getAtd());
       }
     }
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 252a952df8b61983864086fc8a7a801d2ba59a48..28a13cca230c59b106f514a10134270b29095c92 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
@@ -61,7 +61,6 @@ public class GenericSbmlParserTest {
 
       Model model = converter.createModel(new ConverterParams().filename(filePath.toString()));
       model.setName(null);
-      logger.debug(model.getElements().size());
 
       // Create and display image of parsed map
       AbstractImageGenerator.Params params = new AbstractImageGenerator.Params().height(model.getHeight())
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java
index d5fa8d1a50cd258ac62794dc08729d23dc75fe89..f93e8502a993bb5597e29508643d55d51c7c32b2 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Catalysis.java
@@ -5,7 +5,7 @@ import javax.persistence.Entity;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.reaction.Modifier;
-import lcsb.mapviewer.model.map.species.Species;
+import lcsb.mapviewer.model.map.species.Element;
 
 /**
  * This class defines catalysis modifier in the reaction.
@@ -17,45 +17,45 @@ import lcsb.mapviewer.model.map.species.Species;
 @DiscriminatorValue("CATALYSIS_MODIFIER")
 public class Catalysis extends Modifier {
 
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * Default constructor.
-	 */
-	public Catalysis() {
-		super();
-	}
-
-	/**
-	 * Constructor that creates {@link Catalysis} modifier for given element.
-	 * 
-	 * @param element
-	 *          element object to which this modifiar is assigned
-	 */
-	public Catalysis(Species element) {
-		super(element);
-	}
-
-	/**
-	 * Constructor that creates object with data taken from parameter catalysis.
-	 * 
-	 * @param catalysis
-	 *          object from which data are initialized
-	 */
-	public Catalysis(Catalysis catalysis) {
-		super(catalysis);
-	}
-
-	@Override
-	public Catalysis copy() {
-		if (this.getClass() == Catalysis.class) {
-			return new Catalysis(this);
-		} else {
-			throw new NotImplementedException("Method copy() should be overriden in class " + this.getClass());
-		}
-	}
+  /**
+   * 
+   */
+  private static final long serialVersionUID = 1L;
+
+  /**
+   * Default constructor.
+   */
+  public Catalysis() {
+    super();
+  }
+
+  /**
+   * Constructor that creates {@link Catalysis} modifier for given element.
+   * 
+   * @param element
+   *          element object to which this modifier is assigned
+   */
+  public Catalysis(Element element) {
+    super(element);
+  }
+
+  /**
+   * Constructor that creates object with data taken from parameter catalysis.
+   * 
+   * @param catalysis
+   *          object from which data are initialized
+   */
+  public Catalysis(Catalysis catalysis) {
+    super(catalysis);
+  }
+
+  @Override
+  public Catalysis copy() {
+    if (this.getClass() == Catalysis.class) {
+      return new Catalysis(this);
+    } else {
+      throw new NotImplementedException("Method copy() should be overriden in class " + this.getClass());
+    }
+  }
 
 }
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java
index 5eb71a10f1851abd348a2d09d94f5765c7607cc4..a7ee536523dbf4998c754959648c4d273503759d 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Inhibition.java
@@ -5,6 +5,7 @@ import javax.persistence.Entity;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.reaction.Modifier;
+import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
 
 /**
@@ -33,9 +34,9 @@ public class Inhibition extends Modifier {
 	 * Constructor that creates inhibition modifier for given element.
 	 * 
 	 * @param element
-	 *          element object to which this modifiar is assigned
+	 *          element object to which this modifier is assigned
 	 */
-	public Inhibition(Species element) {
+	public Inhibition(Element element) {
 		super(element);
 	}
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java
index 3cc706b09487b6e6330678fc1579a1d8d2bbe0a1..b909f91c2a7216c30bebd4b408bebd9141c73b79 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Modulation.java
@@ -5,6 +5,7 @@ import javax.persistence.Entity;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.reaction.Modifier;
+import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
 
 /**
@@ -33,9 +34,9 @@ public class Modulation extends Modifier {
 	 * Constructor that creates modulation modifier for given element.
 	 * 
 	 * @param element
-	 *          element object to which this modifiar is assigned
+	 *          element object to which this modifier is assigned
 	 */
-	public Modulation(Species element) {
+	public Modulation(Element element) {
 		super(element);
 	}
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java
index ca7fcb28cc682927b1191745d05e20133944c17e..40114e8b15a710cebf3433bbc14083f0b7aa8d47 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/PhysicalStimulation.java
@@ -5,6 +5,7 @@ import javax.persistence.Entity;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.reaction.Modifier;
+import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
 
 /**
@@ -33,9 +34,9 @@ public class PhysicalStimulation extends Modifier {
 	 * Constructor that creates physical stimulation modifier for given element.
 	 * 
 	 * @param element
-	 *          element object to which this modifiar is assigned
+	 *          element object to which this modifier is assigned
 	 */
-	public PhysicalStimulation(Species element) {
+	public PhysicalStimulation(Element element) {
 		super(element);
 	}
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java
index 642f15c1b4a29147e522a052d0a23d60fc6d7285..99baa3f051259bb52019dadfd9b0861e4ecdc735 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/Trigger.java
@@ -5,6 +5,7 @@ import javax.persistence.Entity;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.reaction.Modifier;
+import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
 
 /**
@@ -33,9 +34,9 @@ public class Trigger extends Modifier {
 	 * Constructor that creates trigger modifier for given element.
 	 * 
 	 * @param element
-	 *          element object to which this modifiar is assigned
+	 *          element object to which this modifier is assigned
 	 */
-	public Trigger(Species element) {
+	public Trigger(Element element) {
 		super(element);
 	}
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java
index eba97a06f2ef24581b19bf801880e23dacfec3b9..6fd309245365e3b0fd6eb5efb4453b6fabec25dc 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownCatalysis.java
@@ -5,6 +5,7 @@ import javax.persistence.Entity;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.reaction.Modifier;
+import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
 
 /**
@@ -33,9 +34,9 @@ public class UnknownCatalysis extends Modifier {
 	 * Constructor that creates unknown catalysis modifier for given element.
 	 * 
 	 * @param element
-	 *          element object to which this modifiar is assigned
+	 *          element object to which this modifier is assigned
 	 */
-	public UnknownCatalysis(Species element) {
+	public UnknownCatalysis(Element element) {
 		super(element);
 	}
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java
index 938249078a5ba282fab2df674488dcd659e0c8d3..05c76708f7b050c11e6acdb5edbcdc330ae65b7b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/modifier/UnknownInhibition.java
@@ -5,6 +5,7 @@ import javax.persistence.Entity;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
 import lcsb.mapviewer.model.map.reaction.Modifier;
+import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
 
 /**
@@ -34,9 +35,9 @@ public class UnknownInhibition extends Modifier {
 	 * element.
 	 * 
 	 * @param element
-	 *          element object to which this modifiar is assigned
+	 *          element object to which this modifier is assigned
 	 */
-	public UnknownInhibition(Species element) {
+	public UnknownInhibition(Element element) {
 		super(element);
 	}
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java
index d97dba488770c32704211df65ed5b473a4e791be..39d96b497b58a86769f0a8fe27099c1bbecfd32f 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/Modifier.java
@@ -4,6 +4,7 @@ import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 
 import lcsb.mapviewer.common.exception.NotImplementedException;
+import lcsb.mapviewer.model.map.species.Element;
 import lcsb.mapviewer.model.map.species.Species;
 
 /**
@@ -38,7 +39,7 @@ public class Modifier extends ReactionNode {
 	 * @param element
 	 *          element that represent this modifier
 	 */
-	public Modifier(Species element) {
+	public Modifier(Element element) {
 		super(element);
 	}
 
@@ -46,7 +47,7 @@ public class Modifier extends ReactionNode {
 	 * Constructor that initialize the modifier with data from parameter.
 	 * 
 	 * @param original
-	 *          original modifier used for data initalization
+	 *          original modifier used for data initialization
 	 */
 	protected Modifier(Modifier original) {
 		super(original);