Index: src/Actions/MoleculeAction/FillVoidWithMoleculeAction.cpp
===================================================================
--- src/Actions/MoleculeAction/FillVoidWithMoleculeAction.cpp	(revision ebb87c7a55e63dedb418fb7cf9a03772ada9111e)
+++ src/Actions/MoleculeAction/FillVoidWithMoleculeAction.cpp	(revision 765f16856478316e039b16a1098e4f2a6bb42332)
@@ -28,4 +28,5 @@
 #include "Descriptors/MoleculeOrderDescriptor.hpp"
 #include "molecule.hpp"
+#include "Parser/FormatParserInterface.hpp"
 #include "Parser/FormatParserStorage.hpp"
 #include "World.hpp"
@@ -67,5 +68,5 @@
   input.open(params.fillername.string().c_str());
   ParserTypes type = FormatParserStorage::getInstance().getTypeFromSuffix(FilenameSuffix);
-  FormatParser &parser = FormatParserStorage::getInstance().get(type);
+  FormatParserInterface &parser = FormatParserStorage::getInstance().get(type);
   parser.load(&input);
 
Index: src/Actions/MoleculeAction/FillWithMoleculeAction.cpp
===================================================================
--- src/Actions/MoleculeAction/FillWithMoleculeAction.cpp	(revision ebb87c7a55e63dedb418fb7cf9a03772ada9111e)
+++ src/Actions/MoleculeAction/FillWithMoleculeAction.cpp	(revision 765f16856478316e039b16a1098e4f2a6bb42332)
@@ -28,4 +28,5 @@
 #include "Descriptors/MoleculeOrderDescriptor.hpp"
 #include "molecule.hpp"
+#include "Parser/FormatParserInterface.hpp"
 #include "Parser/FormatParserStorage.hpp"
 #include "World.hpp"
@@ -61,5 +62,5 @@
   input.open(params.fillername.string().c_str());
   ParserTypes type = FormatParserStorage::getInstance().getTypeFromSuffix(FilenameSuffix);
-  FormatParser &parser = FormatParserStorage::getInstance().get(type);
+  FormatParserInterface &parser = FormatParserStorage::getInstance().get(type);
   parser.load(&input);
 
Index: src/Actions/MoleculeAction/LoadAction.cpp
===================================================================
--- src/Actions/MoleculeAction/LoadAction.cpp	(revision ebb87c7a55e63dedb418fb7cf9a03772ada9111e)
+++ src/Actions/MoleculeAction/LoadAction.cpp	(revision 765f16856478316e039b16a1098e4f2a6bb42332)
@@ -23,4 +23,5 @@
 #include "CodePatterns/Verbose.hpp"
 #include "Descriptors/MoleculeIdDescriptor.hpp"
+#include "Parser/FormatParserInterface.hpp"
 #include "Parser/FormatParserStorage.hpp"
 #include "Parser/FormatParser_Parameters.hpp"
Index: src/Actions/ParserAction/ParseTremoloPotentialsAction.cpp
===================================================================
--- src/Actions/ParserAction/ParseTremoloPotentialsAction.cpp	(revision ebb87c7a55e63dedb418fb7cf9a03772ada9111e)
+++ src/Actions/ParserAction/ParseTremoloPotentialsAction.cpp	(revision 765f16856478316e039b16a1098e4f2a6bb42332)
@@ -43,10 +43,10 @@
 
   boost::filesystem::ifstream test;
-  TremoloParser &tremolo = FormatParserStorage::getInstance().getParser<TremoloParser>();
+  FormatParser<tremolo> &parser = FormatParserStorage::getInstance().getParser<tremolo>();
   // parsing file if present
   if (!boost::filesystem::exists(params.filename)) {
     DoLog(1) && (Log() << Verbose(1) << "Specified potentials file " << params.filename << " not found." << endl);
     // DONT FAIL: it's just empty we re-create default id-mapping
-    tremolo.createKnownTypesByIdentity();
+    parser.createKnownTypesByIdentity();
 
   } else {
@@ -55,6 +55,5 @@
     // parse the file
     test.open(params.filename);
-    TremoloParser &tremolo = FormatParserStorage::getInstance().getParser<TremoloParser>();
-    tremolo.parseKnownTypes(test);
+    parser.parseKnownTypes(test);
     test.close();
   }
Index: src/Actions/ParserAction/SetMpqcParametersAction.cpp
===================================================================
--- src/Actions/ParserAction/SetMpqcParametersAction.cpp	(revision ebb87c7a55e63dedb418fb7cf9a03772ada9111e)
+++ src/Actions/ParserAction/SetMpqcParametersAction.cpp	(revision 765f16856478316e039b16a1098e4f2a6bb42332)
@@ -38,12 +38,12 @@
 /** =========== define the function ====================== */
 Action::state_ptr ParserSetMpqcParametersAction::performCall() {
-  MpqcParser_Parameters &mpqc = FormatParserStorage::getInstance().getParser<MpqcParser>().getParams();
+  MpqcParser_Parameters &parser = FormatParserStorage::getInstance().getParser<mpqc>().getParams();
 
   std::stringstream oldparamstream;
-  oldparamstream << mpqc;
+  oldparamstream << parser;
   // obtain information
   getParametersfromValueStorage();
   std::stringstream newparamstream(params.newparams);
-  newparamstream >> mpqc;
+  newparamstream >> parser;
 
   return Action::state_ptr(new ParserSetMpqcParametersState(oldparamstream.str(), params));
@@ -53,7 +53,7 @@
   ParserSetMpqcParametersState *state = assert_cast<ParserSetMpqcParametersState*>(_state.get());
 
-  MpqcParser_Parameters &mpqc = FormatParserStorage::getInstance().getParser<MpqcParser>().getParams();
+  MpqcParser_Parameters &parser = FormatParserStorage::getInstance().getParser<mpqc>().getParams();
   std::stringstream oldparamstream(state->oldparams);
-  oldparamstream >> mpqc;
+  oldparamstream >> parser;
 
   return Action::state_ptr(_state);
@@ -63,7 +63,7 @@
   ParserSetMpqcParametersState *state = assert_cast<ParserSetMpqcParametersState*>(_state.get());
 
-  MpqcParser_Parameters &mpqc = FormatParserStorage::getInstance().getParser<MpqcParser>().getParams();
+  MpqcParser_Parameters &parser = FormatParserStorage::getInstance().getParser<mpqc>().getParams();
   std::stringstream newparamstream(state->params.newparams);
-  newparamstream >> mpqc;
+  newparamstream >> parser;
 
   return Action::state_ptr(_state);
Index: src/Actions/ParserAction/SetTremoloAtomdataAction.cpp
===================================================================
--- src/Actions/ParserAction/SetTremoloAtomdataAction.cpp	(revision ebb87c7a55e63dedb418fb7cf9a03772ada9111e)
+++ src/Actions/ParserAction/SetTremoloAtomdataAction.cpp	(revision 765f16856478316e039b16a1098e4f2a6bb42332)
@@ -42,9 +42,9 @@
   getParametersfromValueStorage();
 
-  TremoloParser &tremolo = FormatParserStorage::getInstance().getParser<TremoloParser>();
+  FormatParser<tremolo> &parser = FormatParserStorage::getInstance().getParser<tremolo>();
 
   DoLog(1) && (Log() << Verbose(1) << "Setting Tremolo's ATOMDATA to: '" << params.atomdata_string << "'" << std::endl);
 
-  tremolo.setAtomData(params.atomdata_string);
+  parser.setAtomData(params.atomdata_string);
 
   return Action::success;
