diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionParser.java
index c27fb104955f21e8a7adb31bac586a1c2dfb20fe..53197344f5d124d645fcea1fd30b4ad967282c86 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlFunctionParser.java
@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
+import lcsb.mapviewer.common.XmlParser;
 import org.apache.log4j.Logger;
 import org.sbml.jsbml.ListOf;
 import org.sbml.jsbml.Model;
@@ -24,10 +25,10 @@ public class SbmlFunctionParser extends SbmlBioEntityParser {
     try {
       SbmlFunction result = new SbmlFunction(unitDefinition.getId());
       result.setName(unitDefinition.getName());
-      Node node = super.getXmlDocumentFromString(unitDefinition.getMath().toMathML());
-      Node mathDefinition = getNode("math", node);
+      Node node = XmlParser.getXmlDocumentFromString(unitDefinition.getMath().toMathML());
+      Node mathDefinition = XmlParser.getNode("math", node);
       String definition = "<math xmlns=\"http://www.w3.org/1998/Math/MathML\">"
-          + nodeToString(mathDefinition).replace(" xmlns=\"http://www.w3.org/1998/Math/MathML\"", "") + "</math>";
+          + XmlParser.nodeToString(mathDefinition).replace(" xmlns=\"http://www.w3.org/1998/Math/MathML\"", "") + "</math>";
       result.setDefinition(definition);
       result.setArguments(parseArgumentsFromMath(mathDefinition, result.getFunctionId()));
       return result;
@@ -39,13 +40,13 @@ public class SbmlFunctionParser extends SbmlBioEntityParser {
 
   private List<String> parseArgumentsFromMath(Node mathDefinition, String functionId) throws InvalidXmlSchemaException {
     List<String> result = new ArrayList<>();
-    Node lambdaDefinition = getNode("lambda", mathDefinition);
+    Node lambdaDefinition = XmlParser.getNode("lambda", mathDefinition);
     if (lambdaDefinition == null) {
       throw new InvalidXmlSchemaException("Function " + functionId + " doesn't contain valid MathML lambda node");
     }
-    List<Node> variables = super.getNodes("bvar", lambdaDefinition.getChildNodes());
+    List<Node> variables = XmlParser.getNodes("bvar", lambdaDefinition.getChildNodes());
     for (Node node : variables) {
-      result.add(getNodeValue(getNode("ci", node)).trim());
+      result.add(XmlParser.getNodeValue(XmlParser.getNode("ci", node)).trim());
     }
     return result;
   }
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java
index 609ef982edc86da2a0048c713979bc281d17142f..2a794130e0a026ca886772b93532109ae86d343a 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporter.java
@@ -10,6 +10,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import lcsb.mapviewer.common.XmlParser;
 import org.apache.log4j.Logger;
 import org.sbml.jsbml.ASTNode;
 import org.sbml.jsbml.KineticLaw;
@@ -130,9 +131,9 @@ public class SbmlReactionExporter extends SbmlBioEntityExporter<Reaction, org.sb
     }
 
     try {
-      Node node = super.getXmlDocumentFromString(kinetics.getDefinition());
-      for (Node ciNode : super.getAllNotNecessirellyDirectChild("ci", node)) {
-        String id = super.getNodeValue(ciNode).trim();
+      Node node = XmlParser.getXmlDocumentFromString(kinetics.getDefinition());
+      for (Node ciNode : XmlParser.getAllNotNecessirellyDirectChild("ci", node)) {
+        String id = XmlParser.getNodeValue(ciNode).trim();
         Element element = getMinervaModel().getElementByElementId(id);
         if (element != null) {
           String sbmlId = null;
@@ -145,7 +146,7 @@ public class SbmlReactionExporter extends SbmlBioEntityExporter<Reaction, org.sb
           ciNode.setTextContent(sbmlId);
         }
       }
-      String definition = super.nodeToString(node);
+      String definition = XmlParser.nodeToString(node);
       definition = definition.replace(" xmlns=\"http://www.sbml.org/sbml/level2/version4\"", "");
       definition = definition.replace("<math>", "<math xmlns=\"http://www.w3.org/1998/Math/MathML\">");
       result.setMath(ASTNode.parseMathML(definition));
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
index 43560808a8f36e53eaf9a91faa749e62a7b5d93d..bf6aac35adaa11a56cd4726e487d216883d42858 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
@@ -11,6 +11,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import lcsb.mapviewer.common.XmlParser;
 import org.apache.log4j.Logger;
 import org.sbml.jsbml.KineticLaw;
 import org.sbml.jsbml.ListOf;
@@ -569,9 +570,9 @@ public class SbmlReactionParser extends SbmlBioEntityParser {
     result.addParameters(parameterParser.parseList((Collection<LocalParameter>) kineticLaw.getListOfLocalParameters()));
 
     try {
-      Node node = super.getXmlDocumentFromString(result.getDefinition());
+      Node node = XmlParser.getXmlDocumentFromString(result.getDefinition());
       Set<SbmlArgument> elementsUsedInKinetics = new HashSet<>();
-      for (Node ciNode : super.getAllNotNecessirellyDirectChild("ci", node)) {
+      for (Node ciNode : XmlParser.getAllNotNecessirellyDirectChild("ci", node)) {
         List<String> attributesToRemove = new ArrayList<>();
         for (int y = 0; y < ciNode.getAttributes().getLength(); y++) {
           Node attr = ciNode.getAttributes().item(y);
@@ -582,7 +583,7 @@ public class SbmlReactionParser extends SbmlBioEntityParser {
           logger.warn("Kinetics attribute not supported: " + attributeName);
         }
 
-        String id = super.getNodeValue(ciNode).trim();
+        String id = XmlParser.getNodeValue(ciNode).trim();
         SbmlArgument element = getMinervaModel().getElementByElementId(id);
         if (element == null) {
           element = result.getParameterById(id);
@@ -603,7 +604,7 @@ public class SbmlReactionParser extends SbmlBioEntityParser {
         }
       }
       result.addArguments(elementsUsedInKinetics);
-      result.setDefinition(super.nodeToString(node));
+      result.setDefinition(XmlParser.nodeToString(node));
     } catch (InvalidXmlSchemaException e) {
       throw new InvalidInputDataExecption(e);
     }