Index: src/Actions/ParserAction/SetGaussianBasisAction.cpp
===================================================================
--- src/Actions/ParserAction/SetGaussianBasisAction.cpp	(revision 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
+++ src/Actions/ParserAction/SetGaussianBasisAction.cpp	(revision 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
@@ -0,0 +1,75 @@
+/*
+ * 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 "SetGaussianBasisAction.hpp"
+
+// and construct the stuff
+#include "SetGaussianBasisAction.def"
+#include "Action_impl_pre.hpp"
+/** =========== define the function ====================== */
+Action::state_ptr ParserSetGaussianBasisAction::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 ParserSetGaussianBasisState(lastname, params));
+}
+
+Action::state_ptr ParserSetGaussianBasisAction::performUndo(Action::state_ptr _state) {
+  ParserSetGaussianBasisState *state = assert_cast<ParserSetGaussianBasisState*>(_state.get());
+
+  config *configuration = World::getInstance().getConfig();
+  configuration->basis = state->lastname;
+
+  return Action::state_ptr(_state);
+}
+
+Action::state_ptr ParserSetGaussianBasisAction::performRedo(Action::state_ptr _state){
+  ParserSetGaussianBasisState *state = assert_cast<ParserSetGaussianBasisState*>(_state.get());
+
+  config *configuration = World::getInstance().getConfig();
+  configuration->basis = state->params.newname;
+
+  return Action::state_ptr(_state);
+}
+
+bool ParserSetGaussianBasisAction::canUndo() {
+  return true;
+}
+
+bool ParserSetGaussianBasisAction::shouldUndo() {
+  return true;
+}
+/** =========== end of function ====================== */
Index: src/Actions/ParserAction/SetGaussianBasisAction.def
===================================================================
--- src/Actions/ParserAction/SetGaussianBasisAction.def	(revision 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
+++ src/Actions/ParserAction/SetGaussianBasisAction.def	(revision 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
@@ -0,0 +1,33 @@
+/*
+ * 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 Parser
+#define MENUNAME "parser"
+#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/ParserAction/SetGaussianBasisAction.hpp
===================================================================
--- src/Actions/ParserAction/SetGaussianBasisAction.hpp	(revision 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
+++ src/Actions/ParserAction/SetGaussianBasisAction.hpp	(revision 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
@@ -0,0 +1,22 @@
+/*
+ * 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/ParserAction/SetOutputFormatsAction.cpp
===================================================================
--- src/Actions/ParserAction/SetOutputFormatsAction.cpp	(revision 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
+++ src/Actions/ParserAction/SetOutputFormatsAction.cpp	(revision 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
@@ -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 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
+++ src/Actions/ParserAction/SetOutputFormatsAction.def	(revision 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
@@ -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 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
+++ src/Actions/ParserAction/SetOutputFormatsAction.hpp	(revision 44fce5cb3fdeb1556c1c02a020dfa99136e835d7)
@@ -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_ */
