Index: src/Actions/AtomAction/RotateAroundOriginByAngleAction.def
===================================================================
--- src/Actions/AtomAction/RotateAroundOriginByAngleAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/AtomAction/RotateAroundOriginByAngleAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -13,5 +13,5 @@
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
 #define paramtypes (double)(Vector)
-#define paramtokens ("rotate-origin")("position")
+#define paramtokens ("rotate-around-origin")("position")
 #define paramdescriptions ("rotation angle")("position in R^3 space")
 #undef paramdefaults
@@ -26,5 +26,5 @@
 #define MENUPOSITION 5
 #define ACTIONNAME RotateAroundOriginByAngle
-#define TOKEN "rotate-origin"
+#define TOKEN "rotate-around-origin"
 
 
Index: src/Actions/CommandAction/BondLengthTableAction.cpp
===================================================================
--- src/Actions/CommandAction/BondLengthTableAction.cpp	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/CommandAction/BondLengthTableAction.cpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -45,17 +45,26 @@
   DoLog(0) && (Log() << Verbose(0) << "Using " << params.BondGraphFileName << " as bond length table." << endl);
   config *configuration = World::getInstance().getConfig();
-  if (configuration->BG == NULL) {
-    configuration->BG = new BondGraph(configuration->GetIsAngstroem());
-    if ((!params.BondGraphFileName.empty())
-        && boost::filesystem::exists(params.BondGraphFileName)
-        && (configuration->BG->LoadBondLengthTable(params.BondGraphFileName.string()))) {
-      DoLog(0) && (Log() << Verbose(0) << "Bond length table loaded successfully." << endl);
-      return Action::success;
+  BondGraph *OldBG;
+  if (configuration->BG != NULL) {
+    OldBG = configuration->BG;
+    DoLog(0) && (Log() << Verbose(0) << "There is a bond length table already present." << endl);
+  }
+  configuration->BG = new BondGraph(configuration->GetIsAngstroem());
+  if ((!params.BondGraphFileName.empty())
+      && boost::filesystem::exists(params.BondGraphFileName)) {
+    std::ifstream input(params.BondGraphFileName.string().c_str());
+    if ((input.good()) && (configuration->BG->LoadBondLengthTable(input))) {
+      DoLog(0) && (Log() << Verbose(0) << "Bond length table parsed successfully." << endl);
+      input.close();
+      return Action::state_ptr(new CommandBondLengthTableState(*OldBG, params));
     } else {
-      DoeLog(1) && (eLog()<< Verbose(1) << "Bond length table loading failed." << endl);
+      DoeLog(1) && (eLog()<< Verbose(1) << "Bond length table parsing failed." << endl);
+      input.close();
+      configuration->BG = new BondGraph(*OldBG);
       return Action::failure;
     }
   } else {
-    DoLog(0) && (Log() << Verbose(0) << "Bond length table already present." << endl);
+    DoeLog(1) && (eLog()<< Verbose(1) << "Bond length table loading failed." << endl);
+    configuration->BG = new BondGraph(*OldBG);
     return Action::failure;
   }
@@ -63,15 +72,21 @@
 
 Action::state_ptr CommandBondLengthTableAction::performUndo(Action::state_ptr _state) {
-//  ParserLoadXyzState *state = assert_cast<ParserLoadXyzState*>(_state.get());
+  CommandBondLengthTableState *state = assert_cast<CommandBondLengthTableState*>(_state.get());
 
-  return Action::failure;
-//  string newName = state->mol->getName();
-//  state->mol->setName(state->lastName);
-//
-//  return Action::state_ptr(new ParserLoadXyzState(state->mol,newName));
+  config *configuration = World::getInstance().getConfig();
+  BondGraph *OldBG = new BondGraph(*configuration->BG);
+  configuration->BG = new BondGraph(state->OldBG);
+
+  return Action::state_ptr(new CommandBondLengthTableState(*OldBG,params));
 }
 
 Action::state_ptr CommandBondLengthTableAction::performRedo(Action::state_ptr _state){
-  return Action::failure;
+  CommandBondLengthTableState *state = assert_cast<CommandBondLengthTableState*>(_state.get());
+
+  config *configuration = World::getInstance().getConfig();
+  BondGraph *OldBG = new BondGraph(*configuration->BG);
+  configuration->BG = new BondGraph(state->OldBG);
+
+  return Action::state_ptr(new CommandBondLengthTableState(*OldBG,params));
 }
 
Index: src/Actions/CommandAction/BondLengthTableAction.def
===================================================================
--- src/Actions/CommandAction/BondLengthTableAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/CommandAction/BondLengthTableAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -8,4 +8,5 @@
 // all includes and forward declarations necessary for non-integral types below
 
+#include "bondgraph.hpp"
 
 // i.e. there is an integer with variable name Z that can be found in
@@ -18,6 +19,6 @@
 #define paramreferences (BondGraphFileName)
 
-#undef statetypes
-#undef statereferences
+#define statetypes (BondGraph)
+#define statereferences (OldBG)
 
 // some defines for all the names, you may use ACTION, STATE and PARAMS
Index: src/Actions/FragmentationAction/DepthFirstSearchAction.cpp
===================================================================
--- src/Actions/FragmentationAction/DepthFirstSearchAction.cpp	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/FragmentationAction/DepthFirstSearchAction.cpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -52,5 +52,9 @@
   std::deque<bond *> *BackEdgeStack = NULL;
   std::deque<bond *> *LocalBackEdgeStack = NULL;
-  mol->CreateAdjacencyList(params.distance, World::getInstance().getConfig()->GetIsAngstroem(), &BondGraph::CovalentMinMaxDistance, NULL);
+  BondGraph *BG = World::getInstance().getConfig()->BG;
+  if (BG != NULL)
+    mol->CreateAdjacencyList(params.distance, World::getInstance().getConfig()->GetIsAngstroem(), &BondGraph::BondLengthMatrixMinMaxDistance, BG);
+  else
+    mol->CreateAdjacencyList(params.distance, World::getInstance().getConfig()->GetIsAngstroem(), &BondGraph::CovalentMinMaxDistance, BG);
   Subgraphs = mol->DepthFirstSearchAnalysis(BackEdgeStack);
   if (Subgraphs != NULL) {
Index: src/Actions/FragmentationAction/FragmentationAction.def
===================================================================
--- src/Actions/FragmentationAction/FragmentationAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/FragmentationAction/FragmentationAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -13,5 +13,5 @@
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
 #define paramtypes (std::string)(double)(int)
-#define paramtokens ("fragment-mol")("distance")("order")
+#define paramtokens ("fragment-molecule")("distance")("order")
 #define paramdescriptions ("path to where the fragment configurations shall be stored")("distance in space")("order of a discretization, dissection, ...")
 #undef paramdefaults
@@ -26,5 +26,5 @@
 #define MENUPOSITION 3
 #define ACTIONNAME Fragmentation
-#define TOKEN "fragment-mol"
+#define TOKEN "fragment-molecule"
 
 
Index: src/Actions/FragmentationAction/SubgraphDissectionAction.def
===================================================================
--- src/Actions/FragmentationAction/SubgraphDissectionAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/FragmentationAction/SubgraphDissectionAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -26,5 +26,5 @@
 #define MENUPOSITION 4
 #define ACTIONNAME SubgraphDissection
-#define TOKEN "subgraph-dissect"
+#define TOKEN "subgraph-dissection"
 
 
Index: src/Actions/Makefile.am
===================================================================
--- src/Actions/Makefile.am	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/Makefile.am	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -127,8 +127,16 @@
   MoleculeAction/VerletIntegrationAction.hpp
 
+PARSERACTIONSOURCE = \
+  ParserAction/ParseTremoloPotentialsAction.cpp \
+  ParserAction/SetMpqcParametersAction.cpp \
+  ParserAction/SetOutputFormatsAction.cpp
+PARSERACTIONHEADER = \
+  ParserAction/ParseTremoloPotentialsAction.hpp \
+  ParserAction/SetMpqcParametersAction.hpp \
+  ParserAction/SetOutputFormatsAction.hpp               
+
 RANDONNUMBERSSOURCE =\
 	RandomNumbersAction/SetRandomNumbersDistributionAction.cpp \
 	RandomNumbersAction/SetRandomNumbersEngineAction.cpp
-
 RANDONNUMBERSHEADER =\
 	RandomNumbersAction/SetRandomNumbersDistributionAction.hpp \
@@ -210,7 +218,5 @@
   WorldAction/RepeatBoxAction.cpp \
   WorldAction/ScaleBoxAction.cpp \
-  WorldAction/SetDefaultNameAction.cpp \
-  WorldAction/SetGaussianBasisAction.cpp \
-  WorldAction/SetOutputFormatsAction.cpp
+  WorldAction/SetDefaultNameAction.cpp
 WORLDACTIONHEADER = \
   WorldAction/AddEmptyBoundaryAction.hpp \
@@ -223,7 +229,5 @@
   WorldAction/RepeatBoxAction.hpp \
   WorldAction/ScaleBoxAction.hpp \
-  WorldAction/SetDefaultNameAction.hpp \
-  WorldAction/SetGaussianBasisAction.hpp \
-  WorldAction/SetOutputFormatsAction.hpp               
+  WorldAction/SetDefaultNameAction.hpp
 
 
Index: src/Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.def
===================================================================
--- src/Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -13,5 +13,5 @@
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
 #define paramtypes (boost::filesystem::path)(int)(int)(bool)
-#define paramtokens ("linear-interpolate")("start-step")("end-step")("id-mapping")
+#define paramtokens ("linear-interpolation-of-trajectories")("start-step")("end-step")("id-mapping")
 #define paramdescriptions ("path where to store the intermediate configurations")("first or start step")("last or end step")("whether the identity shall be used in mapping atoms onto atoms or not")
 #undef paramdefaults
@@ -26,5 +26,5 @@
 #define MENUPOSITION 6
 #define ACTIONNAME LinearInterpolationofTrajectories
-#define TOKEN "linear-interpolate"
+#define TOKEN "linear-interpolation-of-trajectories"
 
 
Index: src/Actions/MoleculeAction/LoadAction.cpp
===================================================================
--- src/Actions/MoleculeAction/LoadAction.cpp	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/MoleculeAction/LoadAction.cpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -70,4 +70,5 @@
     MoleculeList::const_reverse_iterator iter = World::getInstance().getMolecules()->ListOfMolecules.rbegin();
     (*iter)->SetNameFromFilename(FilenamePrefix.c_str());
+    DoLog(0) && (Log() << Verbose(0) << "Chemical formula is " << (*iter)->getFormula() << std::endl);
   }
   return Action::success;
Index: src/Actions/MoleculeAction/RotateAroundSelfByAngleAction.def
===================================================================
--- src/Actions/MoleculeAction/RotateAroundSelfByAngleAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/MoleculeAction/RotateAroundSelfByAngleAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -14,5 +14,5 @@
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
 #define paramtypes (double)(Vector)
-#define paramtokens ("rotate-self")("axis")
+#define paramtokens ("rotate-around-self")("axis")
 #define paramdescriptions ("rotation angle in degrees")("position in R^3 space")
 #undef paramdefaults
@@ -27,5 +27,5 @@
 #define MENUPOSITION 8
 #define ACTIONNAME RotateAroundSelfByAngle
-#define TOKEN "rotate-self"
+#define TOKEN "rotate-around-self"
 
 
Index: src/Actions/MoleculeAction/RotateToPrincipalAxisSystemAction.def
===================================================================
--- src/Actions/MoleculeAction/RotateToPrincipalAxisSystemAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/MoleculeAction/RotateToPrincipalAxisSystemAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -16,5 +16,5 @@
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
 #define paramtypes (Vector)
-#define paramtokens ("rotate-to-pas")
+#define paramtokens ("rotate-to-principal-axis-system")
 #define paramdescriptions ("vector to which to align the biggest eigenvector with")
 #undef paramdefaults
@@ -29,5 +29,5 @@
 #define MENUPOSITION 9
 #define ACTIONNAME RotateToPrincipalAxisSystem
-#define TOKEN "rotate-to-pas"
+#define TOKEN "rotate-to-principal-axis-system"
 
 
Index: src/Actions/MoleculeAction/VerletIntegrationAction.def
===================================================================
--- src/Actions/MoleculeAction/VerletIntegrationAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/MoleculeAction/VerletIntegrationAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -13,5 +13,5 @@
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
 #define paramtypes (boost::filesystem::path)
-#define paramtokens ("verlet-integrate")
+#define paramtokens ("verlet-integration")
 #define paramdescriptions ("perform verlet integration of a given force file")
 #undef paramdefaults
@@ -26,5 +26,5 @@
 #define MENUPOSITION 14
 #define ACTIONNAME VerletIntegration
-#define TOKEN "verlet-integrate"
+#define TOKEN "verlet-integration"
 
 
Index: src/Actions/ParserAction/ParseTremoloPotentialsAction.cpp
===================================================================
--- src/Actions/ParserAction/ParseTremoloPotentialsAction.cpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
+++ src/Actions/ParserAction/ParseTremoloPotentialsAction.cpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -0,0 +1,86 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/*
+ * ParseTremoloPotentialsAction.cpp
+ *
+ *  Created on: Feb 9, 2011
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "Parser/TremoloParser.hpp"
+#include "Parser/FormatParserStorage.hpp"
+#include "CodePatterns/Log.hpp"
+#include "CodePatterns/Verbose.hpp"
+
+#include <iostream>
+#include <string>
+
+#include <boost/filesystem/fstream.hpp>
+
+using namespace std;
+
+#include "ParseTremoloPotentialsAction.hpp"
+
+// and construct the stuff
+#include "ParseTremoloPotentialsAction.def"
+#include "Action_impl_pre.hpp"
+/** =========== define the function ====================== */
+Action::state_ptr ParserParseTremoloPotentialsAction::performCall() {
+  // obtain information
+  getParametersfromValueStorage();
+
+  boost::filesystem::ifstream test;
+  TremoloParser &tremolo = FormatParserStorage::getInstance().getTremolo();
+  // 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();
+
+  } else {
+    DoLog(1) && (Log() << Verbose(1) << "Specified potentials file found, parsing ... " << std::endl);
+
+    // parse the file
+    test.open(params.filename);
+    TremoloParser &tremolo = FormatParserStorage::getInstance().getTremolo();
+    tremolo.parseKnownTypes(test);
+    test.close();
+  }
+
+  return Action::success;
+}
+
+Action::state_ptr ParserParseTremoloPotentialsAction::performUndo(Action::state_ptr _state) {
+//  ParserLoadXyzState *state = assert_cast<ParserLoadXyzState*>(_state.get());
+
+  return Action::failure;
+//  string newName = state->mol->getName();
+//  state->mol->setName(state->lastName);
+//
+//  return Action::state_ptr(new ParserLoadXyzState(state->mol,newName));
+}
+
+Action::state_ptr ParserParseTremoloPotentialsAction::performRedo(Action::state_ptr _state){
+  return Action::failure;
+}
+
+bool ParserParseTremoloPotentialsAction::canUndo() {
+  return false;
+}
+
+bool ParserParseTremoloPotentialsAction::shouldUndo() {
+  return false;
+}
+/** =========== end of function ====================== */
Index: src/Actions/ParserAction/ParseTremoloPotentialsAction.def
===================================================================
--- src/Actions/ParserAction/ParseTremoloPotentialsAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
+++ src/Actions/ParserAction/ParseTremoloPotentialsAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -0,0 +1,33 @@
+/*
+ * ParseTremoloPotentialsAction.def
+ *
+ *  Created on: Feb 9, 2011
+ *      Author: heber
+ */
+
+// all includes and forward declarations necessary for non-integral types below
+#include <boost/filesystem.hpp>
+
+// i.e. there is an integer with variable name Z that can be found in
+// ValueStorage by the token "Z" -> first column: int, Z, "Z"
+// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
+#define paramtypes (boost::filesystem::path)
+#define paramtokens ("parse-tremolo-potentials")
+#define paramdescriptions ("path to tremolo's potentials file")
+#undef paramdefaults
+#define paramreferences (filename)
+
+#undef statetypes
+#undef statereferences
+
+// some defines for all the names, you may use ACTION, STATE and PARAMS
+#define CATEGORY Parser
+#define MENUNAME "parser"
+#define MENUPOSITION 12
+#define ACTIONNAME ParseTremoloPotentials
+#define TOKEN "parse-tremolo-potentials"
+
+
+// finally the information stored in the ActionTrait specialization
+#define DESCRIPTION "parse a tremolo potentials file to associate type to element"
+#undef SHORTFORM
Index: src/Actions/ParserAction/ParseTremoloPotentialsAction.hpp
===================================================================
--- src/Actions/ParserAction/ParseTremoloPotentialsAction.hpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
+++ src/Actions/ParserAction/ParseTremoloPotentialsAction.hpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -0,0 +1,22 @@
+/*
+ * ParseTremoloPotentialsAction.hpp
+ *
+ *  Created on: Feb 9, 2011
+ *      Author: heber
+ */
+
+#ifndef PARSETREMOLOPOTENTIALSACTION_HPP_
+#define PARSETREMOLOPOTENTIALSACTION_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include "Actions/Action.hpp"
+
+#include "ParseTremoloPotentialsAction.def"
+#include "Action_impl_header.hpp"
+
+#endif /* PARSETREMOLOPOTENTIALSACTION_HPP_ */
Index: src/Actions/ParserAction/SetMpqcParametersAction.cpp
===================================================================
--- src/Actions/ParserAction/SetMpqcParametersAction.cpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
+++ src/Actions/ParserAction/SetMpqcParametersAction.cpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -0,0 +1,79 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/*
+ * SetMpqcParametersAction.cpp
+ *
+ *  Created on: May 8, 2010
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "CodePatterns/Log.hpp"
+#include "CodePatterns/Verbose.hpp"
+#include "Parser/FormatParserStorage.hpp"
+#include "Parser/MpqcParser.hpp"
+#include "Parser/MpqcParser_Parameters.hpp"
+
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+#include "SetMpqcParametersAction.hpp"
+
+// and construct the stuff
+#include "SetMpqcParametersAction.def"
+#include "Action_impl_pre.hpp"
+/** =========== define the function ====================== */
+Action::state_ptr ParserSetMpqcParametersAction::performCall() {
+  MpqcParser_Parameters &mpqc = FormatParserStorage::getInstance().getMpqc().getParams();
+
+  std::stringstream oldparamstream;
+  oldparamstream << mpqc;
+  // obtain information
+  getParametersfromValueStorage();
+  std::stringstream newparamstream(params.newparams);
+  newparamstream >> mpqc;
+
+  return Action::state_ptr(new ParserSetMpqcParametersState(oldparamstream.str(), params));
+}
+
+Action::state_ptr ParserSetMpqcParametersAction::performUndo(Action::state_ptr _state) {
+  ParserSetMpqcParametersState *state = assert_cast<ParserSetMpqcParametersState*>(_state.get());
+
+  MpqcParser_Parameters &mpqc = FormatParserStorage::getInstance().getMpqc().getParams();
+  std::stringstream oldparamstream(state->oldparams);
+  oldparamstream >> mpqc;
+
+  return Action::state_ptr(_state);
+}
+
+Action::state_ptr ParserSetMpqcParametersAction::performRedo(Action::state_ptr _state){
+  ParserSetMpqcParametersState *state = assert_cast<ParserSetMpqcParametersState*>(_state.get());
+
+  MpqcParser_Parameters &mpqc = FormatParserStorage::getInstance().getMpqc().getParams();
+  std::stringstream newparamstream(state->params.newparams);
+  newparamstream >> mpqc;
+
+  return Action::state_ptr(_state);
+}
+
+bool ParserSetMpqcParametersAction::canUndo() {
+  return true;
+}
+
+bool ParserSetMpqcParametersAction::shouldUndo() {
+  return true;
+}
+/** =========== end of function ====================== */
Index: src/Actions/ParserAction/SetMpqcParametersAction.def
===================================================================
--- src/Actions/ParserAction/SetMpqcParametersAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
+++ src/Actions/ParserAction/SetMpqcParametersAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -0,0 +1,33 @@
+/*
+ * SetMpqcParametersAction.def
+ *
+ *  Created on: Aug 26, 2010
+ *      Author: heber
+ */
+
+// all includes and forward declarations necessary for non-integral types below
+
+
+// i.e. there is an integer with variable name Z that can be found in
+// ValueStorage by the token "Z" -> first column: int, Z, "Z"
+// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
+#define paramtypes (std::string)
+#define paramtokens ("set-mpqc-parameters")
+#define paramdescriptions ("parameter (key = value;) assignment for MPQC")
+#undef paramdefaults
+#define paramreferences (newparams)
+
+#define statetypes (std::string)
+#define statereferences (oldparams)
+
+// some defines for all the names, you may use ACTION, STATE and PARAMS
+#define CATEGORY Parser
+#define MENUNAME "parser"
+#define MENUPOSITION 11
+#define ACTIONNAME SetMpqcParameters
+#define TOKEN "set-mpqc-parameters"
+
+
+// finally the information stored in the ActionTrait specialization
+#define DESCRIPTION "set the parameters for MPQC"
+#define SHORTFORM "M"
Index: src/Actions/ParserAction/SetMpqcParametersAction.hpp
===================================================================
--- src/Actions/ParserAction/SetMpqcParametersAction.hpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
+++ src/Actions/ParserAction/SetMpqcParametersAction.hpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -0,0 +1,22 @@
+/*
+ * SetMpqcParametersAction.hpp
+ *
+ *  Created on: May 8, 2010
+ *      Author: heber
+ */
+
+#ifndef SETMPQCPARAMETERSACTION_HPP_
+#define SETMPQCPARAMETERSACTION_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include "Actions/Action.hpp"
+
+#include "SetMpqcParametersAction.def"
+#include "Action_impl_header.hpp"
+
+#endif /* SETMPQCPARAMETERSACTION_HPP_ */
Index: src/Actions/ParserAction/SetOutputFormatsAction.cpp
===================================================================
--- src/Actions/ParserAction/SetOutputFormatsAction.cpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
+++ src/Actions/ParserAction/SetOutputFormatsAction.cpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -0,0 +1,73 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/*
+ * SetOutputFormatsAction.cpp
+ *
+ *  Created on: May 8, 2010
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "Parser/ChangeTracker.hpp"
+#include "Parser/FormatParserStorage.hpp"
+#include "CodePatterns/Log.hpp"
+#include "CodePatterns/Verbose.hpp"
+#include "World.hpp"
+
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+#include "SetOutputFormatsAction.hpp"
+
+// and construct the stuff
+#include "SetOutputFormatsAction.def"
+#include "Action_impl_pre.hpp"
+/** =========== define the function ====================== */
+Action::state_ptr ParserSetOutputFormatsAction::performCall() {
+  // obtain information
+  getParametersfromValueStorage();
+
+  DoLog(1) && (Log() << Verbose(1) << "Format list is: " << params.FormatList << std::endl);
+  for (vector<std::string>::iterator iter = params.FormatList.begin(); iter != params.FormatList.end(); ++iter) {
+    if (!FormatParserStorage::getInstance().add(*iter)) {
+      DoeLog(1) && (eLog() << Verbose(1) << "Unknown parser format in ParserSetOutputFormatsAction: '" << *iter << "'" << endl);
+    }
+  }
+  return Action::success;
+}
+
+Action::state_ptr ParserSetOutputFormatsAction::performUndo(Action::state_ptr _state) {
+//  ParserLoadXyzState *state = assert_cast<ParserLoadXyzState*>(_state.get());
+
+  return Action::failure;
+//  string newName = state->mol->getName();
+//  state->mol->setName(state->lastName);
+//
+//  return Action::state_ptr(new ParserLoadXyzState(state->mol,newName));
+}
+
+Action::state_ptr ParserSetOutputFormatsAction::performRedo(Action::state_ptr _state){
+  return Action::failure;
+}
+
+bool ParserSetOutputFormatsAction::canUndo() {
+  return false;
+}
+
+bool ParserSetOutputFormatsAction::shouldUndo() {
+  return false;
+}
+/** =========== end of function ====================== */
Index: src/Actions/ParserAction/SetOutputFormatsAction.def
===================================================================
--- src/Actions/ParserAction/SetOutputFormatsAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
+++ src/Actions/ParserAction/SetOutputFormatsAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -0,0 +1,33 @@
+/*
+ * SetOutputFormatsAction.def
+ *
+ *  Created on: Aug 26, 2010
+ *      Author: heber
+ */
+
+// all includes and forward declarations necessary for non-integral types below
+#include <vector>
+
+// i.e. there is an integer with variable name Z that can be found in
+// ValueStorage by the token "Z" -> first column: int, Z, "Z"
+// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
+#define paramtypes (std::vector<std::string>)
+#define paramtokens ("set-output")
+#define paramdescriptions ("specify output formats")
+#undef paramdefaults
+#define paramreferences (FormatList)
+
+#undef statetypes
+#undef statereferences
+
+// some defines for all the names, you may use ACTION, STATE and PARAMS
+#define CATEGORY Parser
+#define MENUNAME "parser"
+#define MENUPOSITION 12
+#define ACTIONNAME SetOutputFormats
+#define TOKEN "set-output"
+
+
+// finally the information stored in the ActionTrait specialization
+#define DESCRIPTION "specify output formats"
+#define SHORTFORM "o"
Index: src/Actions/ParserAction/SetOutputFormatsAction.hpp
===================================================================
--- src/Actions/ParserAction/SetOutputFormatsAction.hpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
+++ src/Actions/ParserAction/SetOutputFormatsAction.hpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -0,0 +1,22 @@
+/*
+ * SetOutputFormatsAction.hpp
+ *
+ *  Created on: May 8, 2010
+ *      Author: heber
+ */
+
+#ifndef SETOUTPUTFORMATSACTION_HPP_
+#define SETOUTPUTFORMATSACTION_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include "Actions/Action.hpp"
+
+#include "SetOutputFormatsAction.def"
+#include "Action_impl_header.hpp"
+
+#endif /* SETOUTPUTFORMATSACTION_HPP_ */
Index: src/Actions/SelectionAction/Molecules/MoleculeByFormulaAction.def
===================================================================
--- src/Actions/SelectionAction/Molecules/MoleculeByFormulaAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/SelectionAction/Molecules/MoleculeByFormulaAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -13,5 +13,5 @@
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
 #define paramtypes (std::string)
-#define paramtokens ("select-molecule-by-formula")
+#define paramtokens ("select-molecules-by-formula")
 #define paramdescriptions ("chemical formula")
 #undef paramdefaults
@@ -26,5 +26,5 @@
 #define MENUPOSITION 10
 #define ACTIONNAME MoleculeByFormula
-#define TOKEN "select-molecule-by-formula"
+#define TOKEN "select-molecules-by-formula"
 
 
Index: src/Actions/SelectionAction/Molecules/MoleculeByNameAction.def
===================================================================
--- src/Actions/SelectionAction/Molecules/MoleculeByNameAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/SelectionAction/Molecules/MoleculeByNameAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -15,5 +15,5 @@
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
 #define paramtypes (std::string)
-#define paramtokens ("select-molecule-by-name")
+#define paramtokens ("select-molecules-by-name")
 #define paramdescriptions ("molecule name")
 #undef paramdefaults
@@ -28,5 +28,5 @@
 #define MENUPOSITION 9
 #define ACTIONNAME MoleculeByName
-#define TOKEN "select-molecule-by-name"
+#define TOKEN "select-molecules-by-name"
 
 
Index: src/Actions/SelectionAction/Molecules/NotMoleculeByFormulaAction.def
===================================================================
--- src/Actions/SelectionAction/Molecules/NotMoleculeByFormulaAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/SelectionAction/Molecules/NotMoleculeByFormulaAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -13,5 +13,5 @@
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
 #define paramtypes (std::string)
-#define paramtokens ("unselect-molecule-by-formula")
+#define paramtokens ("unselect-molecules-by-formula")
 #define paramdescriptions ("chemical formula")
 #undef paramdefaults
@@ -26,5 +26,5 @@
 #define MENUPOSITION 19
 #define ACTIONNAME NotMoleculeByFormula
-#define TOKEN "unselect-molecule-by-formula"
+#define TOKEN "unselect-molecules-by-formula"
 
 
Index: src/Actions/SelectionAction/Molecules/NotMoleculeByNameAction.def
===================================================================
--- src/Actions/SelectionAction/Molecules/NotMoleculeByNameAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/SelectionAction/Molecules/NotMoleculeByNameAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -13,5 +13,5 @@
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
 #define paramtypes (std::string)
-#define paramtokens ("unselect-molecule-by-name")
+#define paramtokens ("unselect-molecules-by-name")
 #define paramdescriptions ("molecule name")
 #undef paramdefaults
@@ -26,5 +26,5 @@
 #define MENUPOSITION 9
 #define ACTIONNAME NotMoleculeByName
-#define TOKEN "unselect-molecule-by-name"
+#define TOKEN "unselect-molecules-by-name"
 
 
Index: src/Actions/WorldAction/AddEmptyBoundaryAction.def
===================================================================
--- src/Actions/WorldAction/AddEmptyBoundaryAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/WorldAction/AddEmptyBoundaryAction.def	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -14,5 +14,5 @@
 // "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
 #define paramtypes (Vector)
-#define paramtokens ("boundary")
+#define paramtokens ("add-empty-boundary")
 #define paramdescriptions ("desired minimum distance to boundary for each axis over all atoms")
 #undef paramdefaults
@@ -27,5 +27,5 @@
 #define MENUPOSITION 1
 #define ACTIONNAME AddEmptyBoundary
-#define TOKEN "boundary"
+#define TOKEN "add-empty-boundary"
 
 
Index: src/Actions/WorldAction/InputAction.cpp
===================================================================
--- src/Actions/WorldAction/InputAction.cpp	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ src/Actions/WorldAction/InputAction.cpp	(revision 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1)
@@ -78,4 +78,5 @@
     iter--;
     (*iter)->SetNameFromFilename(FilenamePrefix.c_str());
+    DoLog(0) && (Log() << Verbose(0) << "Chemical formula is " << (*iter)->getFormula() << std::endl);
   }
   return Action::success;
Index: src/Actions/WorldAction/SetGaussianBasisAction.cpp
===================================================================
--- src/Actions/WorldAction/SetGaussianBasisAction.cpp	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ 	(revision )
@@ -1,75 +1,0 @@
-/*
- * Project: MoleCuilder
- * Description: creates and alters molecular systems
- * Copyright (C)  2010 University of Bonn. All rights reserved.
- * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
- */
-
-/*
- * SetGaussianBasisAction.cpp
- *
- *  Created on: May 8, 2010
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "CodePatterns/MemDebug.hpp"
-
-#include "config.hpp"
-#include "CodePatterns/Log.hpp"
-#include "CodePatterns/Verbose.hpp"
-#include "World.hpp"
-
-#include <iostream>
-#include <string>
-
-using namespace std;
-
-#include "Actions/WorldAction/SetGaussianBasisAction.hpp"
-
-// and construct the stuff
-#include "SetGaussianBasisAction.def"
-#include "Action_impl_pre.hpp"
-/** =========== define the function ====================== */
-Action::state_ptr WorldSetGaussianBasisAction::performCall() {
-  config *configuration = World::getInstance().getConfig();
-
-  string lastname = configuration->basis;
-  // obtain information
-  getParametersfromValueStorage();
-  configuration->basis = params.newname;
-
-  DoLog(1) && (Log() << Verbose(1) << "Setting MPQC basis to " << configuration->basis << "." << endl);
-  return Action::state_ptr(new WorldSetGaussianBasisState(lastname, params));
-}
-
-Action::state_ptr WorldSetGaussianBasisAction::performUndo(Action::state_ptr _state) {
-  WorldSetGaussianBasisState *state = assert_cast<WorldSetGaussianBasisState*>(_state.get());
-
-  config *configuration = World::getInstance().getConfig();
-  configuration->basis = state->lastname;
-
-  return Action::state_ptr(_state);
-}
-
-Action::state_ptr WorldSetGaussianBasisAction::performRedo(Action::state_ptr _state){
-  WorldSetGaussianBasisState *state = assert_cast<WorldSetGaussianBasisState*>(_state.get());
-
-  config *configuration = World::getInstance().getConfig();
-  configuration->basis = state->params.newname;
-
-  return Action::state_ptr(_state);
-}
-
-bool WorldSetGaussianBasisAction::canUndo() {
-  return true;
-}
-
-bool WorldSetGaussianBasisAction::shouldUndo() {
-  return true;
-}
-/** =========== end of function ====================== */
Index: src/Actions/WorldAction/SetGaussianBasisAction.def
===================================================================
--- src/Actions/WorldAction/SetGaussianBasisAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ 	(revision )
@@ -1,33 +1,0 @@
-/*
- * SetGaussianBasisAction.def
- *
- *  Created on: Aug 26, 2010
- *      Author: heber
- */
-
-// all includes and forward declarations necessary for non-integral types below
-
-
-// i.e. there is an integer with variable name Z that can be found in
-// ValueStorage by the token "Z" -> first column: int, Z, "Z"
-// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
-#define paramtypes (std::string)
-#define paramtokens ("set-basis")
-#define paramdescriptions ("name of the gaussian basis set for MPQC")
-#undef paramdefaults
-#define paramreferences (newname)
-
-#define statetypes (std::string)
-#define statereferences (lastname)
-
-// some defines for all the names, you may use ACTION, STATE and PARAMS
-#define CATEGORY World
-#define MENUNAME "world"
-#define MENUPOSITION 11
-#define ACTIONNAME SetGaussianBasis
-#define TOKEN "set-basis"
-
-
-// finally the information stored in the ActionTrait specialization
-#define DESCRIPTION "set the name of the gaussian basis set for MPQC"
-#define SHORTFORM "M"
Index: src/Actions/WorldAction/SetGaussianBasisAction.hpp
===================================================================
--- src/Actions/WorldAction/SetGaussianBasisAction.hpp	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ 	(revision )
@@ -1,22 +1,0 @@
-/*
- * SetGaussianBasisAction.hpp
- *
- *  Created on: May 8, 2010
- *      Author: heber
- */
-
-#ifndef SETGAUSSIANBASISACTION_HPP_
-#define SETGAUSSIANBASISACTION_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "Actions/Action.hpp"
-
-#include "SetGaussianBasisAction.def"
-#include "Action_impl_header.hpp"
-
-#endif /* SETGAUSSIANBASISACTION_HPP_ */
Index: src/Actions/WorldAction/SetOutputFormatsAction.cpp
===================================================================
--- src/Actions/WorldAction/SetOutputFormatsAction.cpp	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ 	(revision )
@@ -1,73 +1,0 @@
-/*
- * Project: MoleCuilder
- * Description: creates and alters molecular systems
- * Copyright (C)  2010 University of Bonn. All rights reserved.
- * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
- */
-
-/*
- * SetOutputFormatsAction.cpp
- *
- *  Created on: May 8, 2010
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "CodePatterns/MemDebug.hpp"
-
-#include "Parser/ChangeTracker.hpp"
-#include "Parser/FormatParserStorage.hpp"
-#include "CodePatterns/Log.hpp"
-#include "CodePatterns/Verbose.hpp"
-#include "World.hpp"
-
-#include <iostream>
-#include <string>
-
-using namespace std;
-
-#include "Actions/WorldAction/SetOutputFormatsAction.hpp"
-
-// and construct the stuff
-#include "SetOutputFormatsAction.def"
-#include "Action_impl_pre.hpp"
-/** =========== define the function ====================== */
-Action::state_ptr WorldSetOutputFormatsAction::performCall() {
-  // obtain information
-  getParametersfromValueStorage();
-
-  DoLog(1) && (Log() << Verbose(1) << "Format list is: " << params.FormatList << std::endl);
-  for (vector<std::string>::iterator iter = params.FormatList.begin(); iter != params.FormatList.end(); ++iter) {
-    if (!FormatParserStorage::getInstance().add(*iter)) {
-      DoeLog(1) && (eLog() << Verbose(1) << "Unknown parser format in WorldSetOutputFormatsAction: '" << *iter << "'" << endl);
-    }
-  }
-  return Action::success;
-}
-
-Action::state_ptr WorldSetOutputFormatsAction::performUndo(Action::state_ptr _state) {
-//  ParserLoadXyzState *state = assert_cast<ParserLoadXyzState*>(_state.get());
-
-  return Action::failure;
-//  string newName = state->mol->getName();
-//  state->mol->setName(state->lastName);
-//
-//  return Action::state_ptr(new ParserLoadXyzState(state->mol,newName));
-}
-
-Action::state_ptr WorldSetOutputFormatsAction::performRedo(Action::state_ptr _state){
-  return Action::failure;
-}
-
-bool WorldSetOutputFormatsAction::canUndo() {
-  return false;
-}
-
-bool WorldSetOutputFormatsAction::shouldUndo() {
-  return false;
-}
-/** =========== end of function ====================== */
Index: src/Actions/WorldAction/SetOutputFormatsAction.def
===================================================================
--- src/Actions/WorldAction/SetOutputFormatsAction.def	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ 	(revision )
@@ -1,33 +1,0 @@
-/*
- * SetOutputFormatsAction.def
- *
- *  Created on: Aug 26, 2010
- *      Author: heber
- */
-
-// all includes and forward declarations necessary for non-integral types below
-#include <vector>
-
-// i.e. there is an integer with variable name Z that can be found in
-// ValueStorage by the token "Z" -> first column: int, Z, "Z"
-// "undefine" if no parameters are required, use (NODEFAULT) for each (undefined) default value
-#define paramtypes (std::vector<std::string>)
-#define paramtokens ("set-output")
-#define paramdescriptions ("specify output formats")
-#undef paramdefaults
-#define paramreferences (FormatList)
-
-#undef statetypes
-#undef statereferences
-
-// some defines for all the names, you may use ACTION, STATE and PARAMS
-#define CATEGORY World
-#define MENUNAME "world"
-#define MENUPOSITION 12
-#define ACTIONNAME SetOutputFormats
-#define TOKEN "set-output"
-
-
-// finally the information stored in the ActionTrait specialization
-#define DESCRIPTION "specify output formats"
-#define SHORTFORM "o"
Index: src/Actions/WorldAction/SetOutputFormatsAction.hpp
===================================================================
--- src/Actions/WorldAction/SetOutputFormatsAction.hpp	(revision c14c78b2ee8b6b53c94294861301c8b2cdcc1161)
+++ 	(revision )
@@ -1,22 +1,0 @@
-/*
- * SetOutputFormatsAction.hpp
- *
- *  Created on: May 8, 2010
- *      Author: heber
- */
-
-#ifndef SETOUTPUTFORMATSACTION_HPP_
-#define SETOUTPUTFORMATSACTION_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "Actions/Action.hpp"
-
-#include "SetOutputFormatsAction.def"
-#include "Action_impl_header.hpp"
-
-#endif /* SETOUTPUTFORMATSACTION_HPP_ */
