Index: src/Actions/CmdAction/BondLengthTableAction.cpp
===================================================================
--- src/Actions/CmdAction/BondLengthTableAction.cpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,110 +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.
- */
-
-/*
- * BondLengthTableAction.cpp
- *
- *  Created on: May 9, 2010
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "Helpers/MemDebug.hpp"
-
-#include "Actions/CmdAction/BondLengthTableAction.hpp"
-#include "Actions/ActionRegistry.hpp"
-#include "bondgraph.hpp"
-#include "config.hpp"
-#include "Helpers/Log.hpp"
-#include "Helpers/Verbose.hpp"
-#include "World.hpp"
-
-#include <iostream>
-#include <string>
-
-using namespace std;
-
-#include "UIElements/UIFactory.hpp"
-#include "UIElements/Dialog.hpp"
-#include "Actions/ValueStorage.hpp"
-
-const char CommandLineBondLengthTableAction::NAME[] = "bond-table";
-
-CommandLineBondLengthTableAction::CommandLineBondLengthTableAction() :
-  Action(NAME)
-{}
-
-CommandLineBondLengthTableAction::~CommandLineBondLengthTableAction()
-{}
-
-void CommandBondLengthTable(std::string &BondGraphFileName) {
-  ValueStorage::getInstance().setCurrentValue(CommandLineBondLengthTableAction::NAME, BondGraphFileName);
-  ActionRegistry::getInstance().getActionByName(CommandLineBondLengthTableAction::NAME)->call(Action::NonInteractive);
-};
-
-void CommandLineBondLengthTableAction::getParametersfromValueStorage()
-{};
-
-Dialog* CommandLineBondLengthTableAction::fillDialog(Dialog *dialog) {
-  ASSERT(dialog,"No Dialog given when filling action dialog");
-
-  dialog->queryString(NAME, ValueStorage::getInstance().getDescription(NAME));
-
-  return dialog;
-}
-
-Action::state_ptr CommandLineBondLengthTableAction::performCall() {
-  ostringstream usage;
-  string BondGraphFileName;
-
-  ValueStorage::getInstance().queryCurrentValue(NAME, BondGraphFileName);
-  DoLog(0) && (Log() << Verbose(0) << "Using " << BondGraphFileName << " as bond length table." << endl);
-  config *configuration = World::getInstance().getConfig();
-  if (configuration->BG == NULL) {
-    configuration->BG = new BondGraph(configuration->GetIsAngstroem());
-    if ((!BondGraphFileName.empty()) && (configuration->BG->LoadBondLengthTable(BondGraphFileName))) {
-      DoLog(0) && (Log() << Verbose(0) << "Bond length table loaded successfully." << endl);
-      return Action::success;
-    } else {
-      DoeLog(1) && (eLog()<< Verbose(1) << "Bond length table loading failed." << endl);
-      return Action::failure;
-    }
-  } else {
-    DoLog(0) && (Log() << Verbose(0) << "Bond length table already present." << endl);
-    return Action::failure;
-  }
-}
-
-Action::state_ptr CommandLineBondLengthTableAction::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 CommandLineBondLengthTableAction::performRedo(Action::state_ptr _state){
-  return Action::failure;
-}
-
-bool CommandLineBondLengthTableAction::canUndo() {
-  return false;
-}
-
-bool CommandLineBondLengthTableAction::shouldUndo() {
-  return false;
-}
-
-const string CommandLineBondLengthTableAction::getName() {
-  return NAME;
-}
Index: src/Actions/CmdAction/BondLengthTableAction.hpp
===================================================================
--- src/Actions/CmdAction/BondLengthTableAction.hpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,37 +1,0 @@
-/*
- * BondLengthTableAction.hpp
- *
- *  Created on: May 9, 2010
- *      Author: heber
- */
-
-#ifndef BONDLENGTHTABLEACTION_HPP_
-#define BONDLENGTHTABLEACTION_HPP_
-
-#include "Actions/Action.hpp"
-
-void CommandBondLengthTable(std::string &BondGraphFileName);
-
-class CommandLineBondLengthTableAction : public Action {
-  friend void CommandBondLengthTable(std::string &BondGraphFileName);
-
-public:
-  CommandLineBondLengthTableAction();
-  virtual ~CommandLineBondLengthTableAction();
-
-  bool canUndo();
-  bool shouldUndo();
-
-  virtual const std::string getName();
-protected:
-  virtual Dialog * fillDialog(Dialog *dialog);
-private:
-  virtual void getParametersfromValueStorage();
-  virtual Action::state_ptr performCall();
-  virtual Action::state_ptr performUndo(Action::state_ptr);
-  virtual Action::state_ptr performRedo(Action::state_ptr);
-
-  static const char NAME[];
-};
-
-#endif /* BONDLENGTHTABLEACTION_HPP_ */
Index: src/Actions/CmdAction/ElementDbAction.cpp
===================================================================
--- src/Actions/CmdAction/ElementDbAction.cpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,111 +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.
- */
-
-/*
- * ElementDbAction.cpp
- *
- *  Created on: May 9, 2010
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "Helpers/MemDebug.hpp"
-
-#include "Actions/CmdAction/ElementDbAction.hpp"
-#include "Actions/ActionRegistry.hpp"
-#include "config.hpp"
-#include "Helpers/Log.hpp"
-#include "periodentafel.hpp"
-#include "Helpers/Verbose.hpp"
-#include "World.hpp"
-
-#include <iostream>
-#include <string>
-
-using namespace std;
-
-#include "UIElements/UIFactory.hpp"
-#include "UIElements/Dialog.hpp"
-#include "Actions/ValueStorage.hpp"
-
-const char CommandLineElementDbAction::NAME[] = "element-db";
-
-CommandLineElementDbAction::CommandLineElementDbAction() :
-  Action(NAME)
-{}
-
-CommandLineElementDbAction::~CommandLineElementDbAction()
-{}
-
-void CommandElementDb(std::string &databasepath) {
-  ValueStorage::getInstance().setCurrentValue(CommandLineElementDbAction::NAME, databasepath);
-  ActionRegistry::getInstance().getActionByName(CommandLineElementDbAction::NAME)->call(Action::NonInteractive);
-};
-
-void CommandLineElementDbAction::getParametersfromValueStorage()
-{};
-
-Dialog* CommandLineElementDbAction::fillDialog(Dialog *dialog) {
-  ASSERT(dialog,"No Dialog given when filling action dialog");
-
-  dialog->queryString(NAME, ValueStorage::getInstance().getDescription(NAME));
-
-  return dialog;
-}
-
-Action::state_ptr CommandLineElementDbAction::performCall() {
-  ostringstream usage;
-  string databasepath;
-
-  // get the path
-  // TODO: Make databasepath a std::string
-  config *configuration = World::getInstance().getConfig();
-  ValueStorage::getInstance().queryCurrentValue(NAME, databasepath);
-  strcpy(configuration->databasepath, databasepath.c_str());
-
-  // load table
-  periodentafel *periode = World::getInstance().getPeriode();
-  if (periode->LoadPeriodentafel(configuration->databasepath)) {
-    DoLog(0) && (Log() << Verbose(0) << "Element list loaded successfully." << endl);
-    //periode->Output();
-    return Action::success;
-  } else {
-    DoLog(0) && (Log() << Verbose(0) << "Element list loading failed." << endl);
-    return Action::failure;
-  }
-
-}
-
-Action::state_ptr CommandLineElementDbAction::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 CommandLineElementDbAction::performRedo(Action::state_ptr _state){
-  return Action::failure;
-}
-
-bool CommandLineElementDbAction::canUndo() {
-  return false;
-}
-
-bool CommandLineElementDbAction::shouldUndo() {
-  return false;
-}
-
-const string CommandLineElementDbAction::getName() {
-  return NAME;
-}
Index: src/Actions/CmdAction/ElementDbAction.hpp
===================================================================
--- src/Actions/CmdAction/ElementDbAction.hpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,37 +1,0 @@
-/*
- * ElementDbAction.hpp
- *
- *  Created on: May 9, 2010
- *      Author: heber
- */
-
-#ifndef ELEMENTDBACTION_HPP_
-#define ELEMENTDBACTION_HPP_
-
-#include "Actions/Action.hpp"
-
-void CommandElementDb(std::string &databasepath);
-
-class CommandLineElementDbAction : public Action {
-  friend void CommandElementDb(std::string &databasepath);
-
-public:
-  CommandLineElementDbAction();
-  virtual ~CommandLineElementDbAction();
-
-  bool canUndo();
-  bool shouldUndo();
-
-  virtual const std::string getName();
-protected:
-  virtual Dialog * fillDialog(Dialog *dialog);
-private:
-  virtual void getParametersfromValueStorage();
-  virtual Action::state_ptr performCall();
-  virtual Action::state_ptr performUndo(Action::state_ptr);
-  virtual Action::state_ptr performRedo(Action::state_ptr);
-
-  static const char NAME[];
-};
-
-#endif /* ELEMENTDBACTION_HPP_ */
Index: src/Actions/CmdAction/FastParsingAction.cpp
===================================================================
--- src/Actions/CmdAction/FastParsingAction.cpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,125 +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.
- */
-
-/*
- * FastParsingAction.cpp
- *
- *  Created on: May 9, 2010
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "Helpers/MemDebug.hpp"
-
-#include "Actions/CmdAction/FastParsingAction.hpp"
-#include "Actions/ActionRegistry.hpp"
-#include "config.hpp"
-#include "Helpers/Log.hpp"
-#include "Helpers/Verbose.hpp"
-#include "World.hpp"
-
-#include <iostream>
-#include <string>
-
-using namespace std;
-
-#include "UIElements/UIFactory.hpp"
-#include "UIElements/Dialog.hpp"
-#include "Actions/ValueStorage.hpp"
-
-// memento to remember the state when undoing
-
-class CommandLineFastParsingState : public ActionState {
-public:
-  CommandLineFastParsingState(const bool _oldvalue, const bool _newvalue) :
-    oldvalue(_oldvalue),
-    newvalue(_newvalue)
-  {}
-  bool oldvalue;
-  bool newvalue;
-};
-
-
-const char CommandLineFastParsingAction::NAME[] = "fastparsing";
-
-CommandLineFastParsingAction::CommandLineFastParsingAction() :
-  Action(NAME)
-{}
-
-CommandLineFastParsingAction::~CommandLineFastParsingAction()
-{}
-
-void CommandFastParsing(bool fastparsing) {
-  ValueStorage::getInstance().setCurrentValue(CommandLineFastParsingAction::NAME, fastparsing);
-  ActionRegistry::getInstance().getActionByName(CommandLineFastParsingAction::NAME)->call(Action::NonInteractive);
-};
-
-void CommandLineFastParsingAction::getParametersfromValueStorage()
-{};
-
-Dialog* CommandLineFastParsingAction::fillDialog(Dialog *dialog) {
-  ASSERT(dialog,"No Dialog given when filling action dialog");
-
-  dialog->queryBoolean(NAME, ValueStorage::getInstance().getDescription(NAME));
-
-  return dialog;
-}
-
-Action::state_ptr CommandLineFastParsingAction::performCall() {
-  config *configuration = World::getInstance().getConfig();
-  bool oldvalue = configuration->FastParsing;
-  bool newvalue;
-  ValueStorage::getInstance().queryCurrentValue(NAME, newvalue);
-  configuration->FastParsing = newvalue;
-  if (configuration->FastParsing)
-    DoLog(0) && (Log() << Verbose(0) << "I won't parse trajectories." << endl);
-  else
-    DoLog(0) && (Log() << Verbose(0) << "I will parse trajectories." << endl);
-  return Action::state_ptr(new CommandLineFastParsingState(oldvalue, newvalue));
-}
-
-Action::state_ptr CommandLineFastParsingAction::performUndo(Action::state_ptr _state) {
-  CommandLineFastParsingState *state = assert_cast<CommandLineFastParsingState*>(_state.get());
-
-  config *configuration = World::getInstance().getConfig();
-  configuration->FastParsing = state->oldvalue;
-  if (configuration->FastParsing)
-    DoLog(0) && (Log() << Verbose(0) << "I won't parse trajectories." << endl);
-  else
-    DoLog(0) && (Log() << Verbose(0) << "I will parse trajectories." << endl);
-
-  return Action::state_ptr(_state);
-}
-
-Action::state_ptr CommandLineFastParsingAction::performRedo(Action::state_ptr _state){
-  CommandLineFastParsingState *state = assert_cast<CommandLineFastParsingState*>(_state.get());
-
-  config *configuration = World::getInstance().getConfig();
-  configuration->FastParsing = state->newvalue;
-  if (configuration->FastParsing)
-    DoLog(0) && (Log() << Verbose(0) << "I won't parse trajectories." << endl);
-  else
-    DoLog(0) && (Log() << Verbose(0) << "I will parse trajectories." << endl);
-
-  return Action::state_ptr(_state);
-}
-
-bool CommandLineFastParsingAction::canUndo() {
-  return true;
-}
-
-bool CommandLineFastParsingAction::shouldUndo() {
-  return true;
-}
-
-const string CommandLineFastParsingAction::getName() {
-  return NAME;
-}
Index: src/Actions/CmdAction/FastParsingAction.hpp
===================================================================
--- src/Actions/CmdAction/FastParsingAction.hpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,37 +1,0 @@
-/*
- * FastParsingAction.hpp
- *
- *  Created on: May 9, 2010
- *      Author: heber
- */
-
-#ifndef FASTPARSINGACTION_HPP_
-#define FASTPARSINGACTION_HPP_
-
-#include "Actions/Action.hpp"
-
-void CommandFastParsing(bool fastparsing);
-
-class CommandLineFastParsingAction : public Action {
-  friend void CommandFastParsing(bool fastparsing);
-
-public:
-  CommandLineFastParsingAction();
-  virtual ~CommandLineFastParsingAction();
-
-  bool canUndo();
-  bool shouldUndo();
-
-  virtual const std::string getName();
-protected:
-  virtual Dialog * fillDialog(Dialog *dialog);
-private:
-  virtual void getParametersfromValueStorage();
-  virtual Action::state_ptr performCall();
-  virtual Action::state_ptr performUndo(Action::state_ptr);
-  virtual Action::state_ptr performRedo(Action::state_ptr);
-
-  static const char NAME[];
-};
-
-#endif /* FASTPARSINGACTION_HPP_ */
Index: src/Actions/CmdAction/HelpAction.cpp
===================================================================
--- src/Actions/CmdAction/HelpAction.cpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,83 +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.
- */
-
-/*
- * HelpAction.cpp
- *
- *  Created on: May 8, 2010
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "Helpers/MemDebug.hpp"
-
-#include "Actions/CmdAction/HelpAction.hpp"
-#include "Actions/ActionRegistry.hpp"
-#include "CommandLineParser.hpp"
-
-#include <iostream>
-#include <string>
-
-using namespace std;
-
-#include "UIElements/UIFactory.hpp"
-#include "UIElements/Dialog.hpp"
-#include "Actions/ValueStorage.hpp"
-
-const char CommandLineHelpAction::NAME[] = "help";
-
-CommandLineHelpAction::CommandLineHelpAction() :
-  Action(NAME)
-{}
-
-CommandLineHelpAction::~CommandLineHelpAction()
-{}
-
-void CommandHelp() {
-  ActionRegistry::getInstance().getActionByName(CommandLineHelpAction::NAME)->call(Action::NonInteractive);
-};
-
-void CommandLineHelpAction::getParametersfromValueStorage()
-{};
-
-Dialog* CommandLineHelpAction::fillDialog(Dialog *dialog) {
-  ASSERT(dialog,"No Dialog given when filling action dialog");
-
-  ostringstream usage;
-  usage << CommandLineParser::getInstance().visible << endl;
-  dialog->queryEmpty(NAME, usage.str());
-
-  return dialog;
-}
-
-Action::state_ptr CommandLineHelpAction::performCall() {
-  return Action::success;
-}
-
-Action::state_ptr CommandLineHelpAction::performUndo(Action::state_ptr _state) {
-  return Action::success;
-}
-
-Action::state_ptr CommandLineHelpAction::performRedo(Action::state_ptr _state){
-  return Action::success;
-}
-
-bool CommandLineHelpAction::canUndo() {
-  return true;
-}
-
-bool CommandLineHelpAction::shouldUndo() {
-  return false;
-}
-
-const string CommandLineHelpAction::getName() {
-  return NAME;
-}
Index: src/Actions/CmdAction/HelpAction.hpp
===================================================================
--- src/Actions/CmdAction/HelpAction.hpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,37 +1,0 @@
-/*
- * HelpAction.hpp
- *
- *  Created on: May 8, 2010
- *      Author: heber
- */
-
-#ifndef HELPACTION_HPP_
-#define HELPACTION_HPP_
-
-#include "Actions/Action.hpp"
-
-void CommandHelp();
-
-class CommandLineHelpAction : public Action {
-  friend void CommandHelp();
-
-public:
-  CommandLineHelpAction();
-  virtual ~CommandLineHelpAction();
-
-  bool canUndo();
-  bool shouldUndo();
-
-  virtual const std::string getName();
-protected:
-  virtual Dialog * fillDialog(Dialog *dialog);
-private:
-  virtual void getParametersfromValueStorage();
-  virtual Action::state_ptr performCall();
-  virtual Action::state_ptr performUndo(Action::state_ptr);
-  virtual Action::state_ptr performRedo(Action::state_ptr);
-
-  static const char NAME[];
-};
-
-#endif /* HELPACTION_HPP_ */
Index: src/Actions/CmdAction/VerboseAction.cpp
===================================================================
--- src/Actions/CmdAction/VerboseAction.cpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,119 +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.
- */
-
-/*
- * VerboseAction.cpp
- *
- *  Created on: May 9, 2010
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "Helpers/MemDebug.hpp"
-
-#include "Actions/CmdAction/VerboseAction.hpp"
-#include "Actions/ActionRegistry.hpp"
-#include "Helpers/Log.hpp"
-#include "Helpers/Verbose.hpp"
-
-#include <iostream>
-#include <string>
-
-using namespace std;
-
-#include "UIElements/UIFactory.hpp"
-#include "UIElements/Dialog.hpp"
-#include "Actions/ValueStorage.hpp"
-
-// memento to remember the state when undoing
-
-class CommandLineVerboseState : public ActionState {
-public:
-  CommandLineVerboseState(const int _oldverbosity, const int _newverbosity) :
-    oldverbosity(_oldverbosity),
-    newverbosity(_newverbosity)
-  {}
-  int oldverbosity;
-  int newverbosity;
-};
-
-
-const char CommandLineVerboseAction::NAME[] = "verbose";
-
-CommandLineVerboseAction::CommandLineVerboseAction() :
-  Action(NAME)
-{}
-
-CommandLineVerboseAction::~CommandLineVerboseAction()
-{}
-
-void CommandVerbose(int verbosity) {
-  ValueStorage::getInstance().setCurrentValue(CommandLineVerboseAction::NAME, verbosity);
-  ActionRegistry::getInstance().getActionByName(CommandLineVerboseAction::NAME)->call(Action::NonInteractive);
-};
-
-void CommandLineVerboseAction::getParametersfromValueStorage()
-{};
-
-Dialog* CommandLineVerboseAction::fillDialog(Dialog *dialog) {
-  ASSERT(dialog,"No Dialog given when filling action dialog");
-
-  dialog->queryInt(NAME, ValueStorage::getInstance().getDescription(NAME));
-
-  return dialog;
-}
-
-Action::state_ptr CommandLineVerboseAction::performCall() {
-  int oldverbosity = getVerbosity();
-  int newverbosity = 2;
-
-  ValueStorage::getInstance().queryCurrentValue(NAME, newverbosity);
-
-  if (oldverbosity != newverbosity) {
-    CommandLineVerboseState *UndoState = new CommandLineVerboseState(oldverbosity, newverbosity);
-    setVerbosity(newverbosity);
-    DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << oldverbosity << " to " << newverbosity << "." << endl);
-    return Action::state_ptr(UndoState);
-  } else {
-    DoLog(0) && (Log() << Verbose(0) << "Verbosity remains unchanged at " << oldverbosity << "." << endl);
-    return Action::failure;
-  }
-}
-
-Action::state_ptr CommandLineVerboseAction::performUndo(Action::state_ptr _state) {
-  CommandLineVerboseState *state = assert_cast<CommandLineVerboseState*>(_state.get());
-
-  DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << state->newverbosity << " to " << state->oldverbosity << "." << endl);
-  setVerbosity(state->oldverbosity);
-
-  return Action::state_ptr(_state);
-}
-
-Action::state_ptr CommandLineVerboseAction::performRedo(Action::state_ptr _state){
-  CommandLineVerboseState *state = assert_cast<CommandLineVerboseState*>(_state.get());
-
-  DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << state->oldverbosity << " to " << state->newverbosity << "." << endl);
-  setVerbosity(state->newverbosity);
-
-  return Action::state_ptr(_state);
-}
-
-bool CommandLineVerboseAction::canUndo() {
-  return true;
-}
-
-bool CommandLineVerboseAction::shouldUndo() {
-  return true;
-}
-
-const string CommandLineVerboseAction::getName() {
-  return NAME;
-}
Index: src/Actions/CmdAction/VerboseAction.hpp
===================================================================
--- src/Actions/CmdAction/VerboseAction.hpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,37 +1,0 @@
-/*
- * VerboseAction.hpp
- *
- *  Created on: May 9, 2010
- *      Author: heber
- */
-
-#ifndef VERBOSEACTION_HPP_
-#define VERBOSEACTION_HPP_
-
-#include "Actions/Action.hpp"
-
-void CommandVerbose(int verbosity);
-
-class CommandLineVerboseAction : public Action {
-  friend void CommandVerbose(int verbosity);
-
-public:
-  CommandLineVerboseAction();
-  virtual ~CommandLineVerboseAction();
-
-  bool canUndo();
-  bool shouldUndo();
-
-  virtual const std::string getName();
-protected:
-  virtual Dialog * fillDialog(Dialog *dialog);
-private:
-  virtual void getParametersfromValueStorage();
-  virtual Action::state_ptr performCall();
-  virtual Action::state_ptr performUndo(Action::state_ptr);
-  virtual Action::state_ptr performRedo(Action::state_ptr);
-
-  static const char NAME[];
-};
-
-#endif /* VERBOSEACTION_HPP_ */
Index: src/Actions/CmdAction/VersionAction.cpp
===================================================================
--- src/Actions/CmdAction/VersionAction.cpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,81 +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.
- */
-
-/*
- * VersionAction.cpp
- *
- *  Created on: May 8, 2010
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "Helpers/MemDebug.hpp"
-
-#include "Actions/CmdAction/VersionAction.hpp"
-#include "Actions/ActionRegistry.hpp"
-#include "version.h"
-
-#include <iostream>
-#include <string>
-
-using namespace std;
-
-#include "UIElements/UIFactory.hpp"
-#include "UIElements/Dialog.hpp"
-#include "Actions/ValueStorage.hpp"
-
-const char CommandLineVersionAction::NAME[] = "version";
-
-CommandLineVersionAction::CommandLineVersionAction() :
-  Action(NAME)
-{}
-
-CommandLineVersionAction::~CommandLineVersionAction()
-{}
-
-void CommandVersion() {
-  ActionRegistry::getInstance().getActionByName(CommandLineVersionAction::NAME)->call(Action::NonInteractive);
-};
-
-void CommandLineVersionAction::getParametersfromValueStorage()
-{};
-
-Dialog* CommandLineVersionAction::fillDialog(Dialog *dialog) {
-  ASSERT(dialog,"No Dialog given when filling action dialog");
-
-  dialog->queryEmpty(NAME, MOLECUILDERVERSION);
-
-  return dialog;
-}
-
-Action::state_ptr CommandLineVersionAction::performCall() {
-  return Action::success;
-}
-
-Action::state_ptr CommandLineVersionAction::performUndo(Action::state_ptr _state) {
-  return Action::success;
-}
-
-Action::state_ptr CommandLineVersionAction::performRedo(Action::state_ptr _state){
-  return Action::success;
-}
-
-bool CommandLineVersionAction::canUndo() {
-  return true;
-}
-
-bool CommandLineVersionAction::shouldUndo() {
-  return false;
-}
-
-const string CommandLineVersionAction::getName() {
-  return NAME;
-}
Index: src/Actions/CmdAction/VersionAction.hpp
===================================================================
--- src/Actions/CmdAction/VersionAction.hpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ 	(revision )
@@ -1,38 +1,0 @@
-/*
- * VersionAction.hpp
- *
- *  Created on: May 8, 2010
- *      Author: heber
- */
-
-#ifndef VERSIONACTION_HPP_
-#define VERSIONACTION_HPP_
-
-#include "Actions/Action.hpp"
-#include "version.h"
-
-void CommandVersion();
-
-class CommandLineVersionAction : public Action {
-  friend void CommandVersion();
-
-public:
-  CommandLineVersionAction();
-  virtual ~CommandLineVersionAction();
-
-  bool canUndo();
-  bool shouldUndo();
-
-  virtual const std::string getName();
-protected:
-  virtual Dialog * fillDialog(Dialog *dialog);
-private:
-  virtual void getParametersfromValueStorage();
-  virtual Action::state_ptr performCall();
-  virtual Action::state_ptr performUndo(Action::state_ptr);
-  virtual Action::state_ptr performRedo(Action::state_ptr);
-
-  static const char NAME[];
-};
-
-#endif /* VERSIONACTION_HPP_ */
Index: src/Actions/CommandAction/BondLengthTableAction.cpp
===================================================================
--- src/Actions/CommandAction/BondLengthTableAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/BondLengthTableAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,110 @@
+/*
+ * 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.
+ */
+
+/*
+ * BondLengthTableAction.cpp
+ *
+ *  Created on: May 9, 2010
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "Helpers/MemDebug.hpp"
+
+#include "Actions/CommandAction/BondLengthTableAction.hpp"
+#include "Actions/ActionRegistry.hpp"
+#include "bondgraph.hpp"
+#include "config.hpp"
+#include "Helpers/Log.hpp"
+#include "Helpers/Verbose.hpp"
+#include "World.hpp"
+
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+#include "UIElements/UIFactory.hpp"
+#include "UIElements/Dialog.hpp"
+#include "Actions/ValueStorage.hpp"
+
+const char CommandBondLengthTableAction::NAME[] = "bond-table";
+
+CommandBondLengthTableAction::CommandBondLengthTableAction() :
+  Action(NAME)
+{}
+
+CommandBondLengthTableAction::~CommandBondLengthTableAction()
+{}
+
+void CommandBondLengthTable(std::string &BondGraphFileName) {
+  ValueStorage::getInstance().setCurrentValue(CommandBondLengthTableAction::NAME, BondGraphFileName);
+  ActionRegistry::getInstance().getActionByName(CommandBondLengthTableAction::NAME)->call(Action::NonInteractive);
+};
+
+void CommandBondLengthTableAction::getParametersfromValueStorage()
+{};
+
+Dialog* CommandBondLengthTableAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
+
+  dialog->queryString(NAME, ValueStorage::getInstance().getDescription(NAME));
+
+  return dialog;
+}
+
+Action::state_ptr CommandBondLengthTableAction::performCall() {
+  ostringstream usage;
+  string BondGraphFileName;
+
+  ValueStorage::getInstance().queryCurrentValue(NAME, BondGraphFileName);
+  DoLog(0) && (Log() << Verbose(0) << "Using " << BondGraphFileName << " as bond length table." << endl);
+  config *configuration = World::getInstance().getConfig();
+  if (configuration->BG == NULL) {
+    configuration->BG = new BondGraph(configuration->GetIsAngstroem());
+    if ((!BondGraphFileName.empty()) && (configuration->BG->LoadBondLengthTable(BondGraphFileName))) {
+      DoLog(0) && (Log() << Verbose(0) << "Bond length table loaded successfully." << endl);
+      return Action::success;
+    } else {
+      DoeLog(1) && (eLog()<< Verbose(1) << "Bond length table loading failed." << endl);
+      return Action::failure;
+    }
+  } else {
+    DoLog(0) && (Log() << Verbose(0) << "Bond length table already present." << endl);
+    return Action::failure;
+  }
+}
+
+Action::state_ptr CommandBondLengthTableAction::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 CommandBondLengthTableAction::performRedo(Action::state_ptr _state){
+  return Action::failure;
+}
+
+bool CommandBondLengthTableAction::canUndo() {
+  return false;
+}
+
+bool CommandBondLengthTableAction::shouldUndo() {
+  return false;
+}
+
+const string CommandBondLengthTableAction::getName() {
+  return NAME;
+}
Index: src/Actions/CommandAction/BondLengthTableAction.hpp
===================================================================
--- src/Actions/CommandAction/BondLengthTableAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/BondLengthTableAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,37 @@
+/*
+ * BondLengthTableAction.hpp
+ *
+ *  Created on: May 9, 2010
+ *      Author: heber
+ */
+
+#ifndef BONDLENGTHTABLEACTION_HPP_
+#define BONDLENGTHTABLEACTION_HPP_
+
+#include "Actions/Action.hpp"
+
+void CommandBondLengthTable(std::string &BondGraphFileName);
+
+class CommandBondLengthTableAction : public Action {
+  friend void CommandBondLengthTable(std::string &BondGraphFileName);
+
+public:
+  CommandBondLengthTableAction();
+  virtual ~CommandBondLengthTableAction();
+
+  bool canUndo();
+  bool shouldUndo();
+
+  virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
+private:
+  virtual void getParametersfromValueStorage();
+  virtual Action::state_ptr performCall();
+  virtual Action::state_ptr performUndo(Action::state_ptr);
+  virtual Action::state_ptr performRedo(Action::state_ptr);
+
+  static const char NAME[];
+};
+
+#endif /* BONDLENGTHTABLEACTION_HPP_ */
Index: src/Actions/CommandAction/ElementDbAction.cpp
===================================================================
--- src/Actions/CommandAction/ElementDbAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/ElementDbAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,111 @@
+/*
+ * 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.
+ */
+
+/*
+ * ElementDbAction.cpp
+ *
+ *  Created on: May 9, 2010
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "Helpers/MemDebug.hpp"
+
+#include "Actions/CommandAction/ElementDbAction.hpp"
+#include "Actions/ActionRegistry.hpp"
+#include "config.hpp"
+#include "Helpers/Log.hpp"
+#include "periodentafel.hpp"
+#include "Helpers/Verbose.hpp"
+#include "World.hpp"
+
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+#include "UIElements/UIFactory.hpp"
+#include "UIElements/Dialog.hpp"
+#include "Actions/ValueStorage.hpp"
+
+const char CommandElementDbAction::NAME[] = "element-db";
+
+CommandElementDbAction::CommandElementDbAction() :
+  Action(NAME)
+{}
+
+CommandElementDbAction::~CommandElementDbAction()
+{}
+
+void CommandElementDb(std::string &databasepath) {
+  ValueStorage::getInstance().setCurrentValue(CommandElementDbAction::NAME, databasepath);
+  ActionRegistry::getInstance().getActionByName(CommandElementDbAction::NAME)->call(Action::NonInteractive);
+};
+
+void CommandElementDbAction::getParametersfromValueStorage()
+{};
+
+Dialog* CommandElementDbAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
+
+  dialog->queryString(NAME, ValueStorage::getInstance().getDescription(NAME));
+
+  return dialog;
+}
+
+Action::state_ptr CommandElementDbAction::performCall() {
+  ostringstream usage;
+  string databasepath;
+
+  // get the path
+  // TODO: Make databasepath a std::string
+  config *configuration = World::getInstance().getConfig();
+  ValueStorage::getInstance().queryCurrentValue(NAME, databasepath);
+  strcpy(configuration->databasepath, databasepath.c_str());
+
+  // load table
+  periodentafel *periode = World::getInstance().getPeriode();
+  if (periode->LoadPeriodentafel(configuration->databasepath)) {
+    DoLog(0) && (Log() << Verbose(0) << "Element list loaded successfully." << endl);
+    //periode->Output();
+    return Action::success;
+  } else {
+    DoLog(0) && (Log() << Verbose(0) << "Element list loading failed." << endl);
+    return Action::failure;
+  }
+
+}
+
+Action::state_ptr CommandElementDbAction::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 CommandElementDbAction::performRedo(Action::state_ptr _state){
+  return Action::failure;
+}
+
+bool CommandElementDbAction::canUndo() {
+  return false;
+}
+
+bool CommandElementDbAction::shouldUndo() {
+  return false;
+}
+
+const string CommandElementDbAction::getName() {
+  return NAME;
+}
Index: src/Actions/CommandAction/ElementDbAction.hpp
===================================================================
--- src/Actions/CommandAction/ElementDbAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/ElementDbAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,37 @@
+/*
+ * ElementDbAction.hpp
+ *
+ *  Created on: May 9, 2010
+ *      Author: heber
+ */
+
+#ifndef ELEMENTDBACTION_HPP_
+#define ELEMENTDBACTION_HPP_
+
+#include "Actions/Action.hpp"
+
+void CommandElementDb(std::string &databasepath);
+
+class CommandElementDbAction : public Action {
+  friend void CommandElementDb(std::string &databasepath);
+
+public:
+  CommandElementDbAction();
+  virtual ~CommandElementDbAction();
+
+  bool canUndo();
+  bool shouldUndo();
+
+  virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
+private:
+  virtual void getParametersfromValueStorage();
+  virtual Action::state_ptr performCall();
+  virtual Action::state_ptr performUndo(Action::state_ptr);
+  virtual Action::state_ptr performRedo(Action::state_ptr);
+
+  static const char NAME[];
+};
+
+#endif /* ELEMENTDBACTION_HPP_ */
Index: src/Actions/CommandAction/FastParsingAction.cpp
===================================================================
--- src/Actions/CommandAction/FastParsingAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/FastParsingAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,125 @@
+/*
+ * 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.
+ */
+
+/*
+ * FastParsingAction.cpp
+ *
+ *  Created on: May 9, 2010
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "Helpers/MemDebug.hpp"
+
+#include "Actions/CommandAction/FastParsingAction.hpp"
+#include "Actions/ActionRegistry.hpp"
+#include "config.hpp"
+#include "Helpers/Log.hpp"
+#include "Helpers/Verbose.hpp"
+#include "World.hpp"
+
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+#include "UIElements/UIFactory.hpp"
+#include "UIElements/Dialog.hpp"
+#include "Actions/ValueStorage.hpp"
+
+// memento to remember the state when undoing
+
+class CommandFastParsingState : public ActionState {
+public:
+  CommandFastParsingState(const bool _oldvalue, const bool _newvalue) :
+    oldvalue(_oldvalue),
+    newvalue(_newvalue)
+  {}
+  bool oldvalue;
+  bool newvalue;
+};
+
+
+const char CommandFastParsingAction::NAME[] = "fastparsing";
+
+CommandFastParsingAction::CommandFastParsingAction() :
+  Action(NAME)
+{}
+
+CommandFastParsingAction::~CommandFastParsingAction()
+{}
+
+void CommandFastParsing(bool fastparsing) {
+  ValueStorage::getInstance().setCurrentValue(CommandFastParsingAction::NAME, fastparsing);
+  ActionRegistry::getInstance().getActionByName(CommandFastParsingAction::NAME)->call(Action::NonInteractive);
+};
+
+void CommandFastParsingAction::getParametersfromValueStorage()
+{};
+
+Dialog* CommandFastParsingAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
+
+  dialog->queryBoolean(NAME, ValueStorage::getInstance().getDescription(NAME));
+
+  return dialog;
+}
+
+Action::state_ptr CommandFastParsingAction::performCall() {
+  config *configuration = World::getInstance().getConfig();
+  bool oldvalue = configuration->FastParsing;
+  bool newvalue;
+  ValueStorage::getInstance().queryCurrentValue(NAME, newvalue);
+  configuration->FastParsing = newvalue;
+  if (configuration->FastParsing)
+    DoLog(0) && (Log() << Verbose(0) << "I won't parse trajectories." << endl);
+  else
+    DoLog(0) && (Log() << Verbose(0) << "I will parse trajectories." << endl);
+  return Action::state_ptr(new CommandFastParsingState(oldvalue, newvalue));
+}
+
+Action::state_ptr CommandFastParsingAction::performUndo(Action::state_ptr _state) {
+  CommandFastParsingState *state = assert_cast<CommandFastParsingState*>(_state.get());
+
+  config *configuration = World::getInstance().getConfig();
+  configuration->FastParsing = state->oldvalue;
+  if (configuration->FastParsing)
+    DoLog(0) && (Log() << Verbose(0) << "I won't parse trajectories." << endl);
+  else
+    DoLog(0) && (Log() << Verbose(0) << "I will parse trajectories." << endl);
+
+  return Action::state_ptr(_state);
+}
+
+Action::state_ptr CommandFastParsingAction::performRedo(Action::state_ptr _state){
+  CommandFastParsingState *state = assert_cast<CommandFastParsingState*>(_state.get());
+
+  config *configuration = World::getInstance().getConfig();
+  configuration->FastParsing = state->newvalue;
+  if (configuration->FastParsing)
+    DoLog(0) && (Log() << Verbose(0) << "I won't parse trajectories." << endl);
+  else
+    DoLog(0) && (Log() << Verbose(0) << "I will parse trajectories." << endl);
+
+  return Action::state_ptr(_state);
+}
+
+bool CommandFastParsingAction::canUndo() {
+  return true;
+}
+
+bool CommandFastParsingAction::shouldUndo() {
+  return true;
+}
+
+const string CommandFastParsingAction::getName() {
+  return NAME;
+}
Index: src/Actions/CommandAction/FastParsingAction.hpp
===================================================================
--- src/Actions/CommandAction/FastParsingAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/FastParsingAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,37 @@
+/*
+ * FastParsingAction.hpp
+ *
+ *  Created on: May 9, 2010
+ *      Author: heber
+ */
+
+#ifndef FASTPARSINGACTION_HPP_
+#define FASTPARSINGACTION_HPP_
+
+#include "Actions/Action.hpp"
+
+void CommandFastParsing(bool fastparsing);
+
+class CommandFastParsingAction : public Action {
+  friend void CommandFastParsing(bool fastparsing);
+
+public:
+  CommandFastParsingAction();
+  virtual ~CommandFastParsingAction();
+
+  bool canUndo();
+  bool shouldUndo();
+
+  virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
+private:
+  virtual void getParametersfromValueStorage();
+  virtual Action::state_ptr performCall();
+  virtual Action::state_ptr performUndo(Action::state_ptr);
+  virtual Action::state_ptr performRedo(Action::state_ptr);
+
+  static const char NAME[];
+};
+
+#endif /* FASTPARSINGACTION_HPP_ */
Index: src/Actions/CommandAction/HelpAction.cpp
===================================================================
--- src/Actions/CommandAction/HelpAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/HelpAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,83 @@
+/*
+ * 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.
+ */
+
+/*
+ * HelpAction.cpp
+ *
+ *  Created on: May 8, 2010
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "Helpers/MemDebug.hpp"
+
+#include "Actions/CommandAction/HelpAction.hpp"
+#include "Actions/ActionRegistry.hpp"
+#include "CommandLineParser.hpp"
+
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+#include "UIElements/UIFactory.hpp"
+#include "UIElements/Dialog.hpp"
+#include "Actions/ValueStorage.hpp"
+
+const char CommandHelpAction::NAME[] = "help";
+
+CommandHelpAction::CommandHelpAction() :
+  Action(NAME)
+{}
+
+CommandHelpAction::~CommandHelpAction()
+{}
+
+void CommandHelp() {
+  ActionRegistry::getInstance().getActionByName(CommandHelpAction::NAME)->call(Action::NonInteractive);
+};
+
+void CommandHelpAction::getParametersfromValueStorage()
+{};
+
+Dialog* CommandHelpAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
+
+  ostringstream usage;
+  usage << CommandLineParser::getInstance().visible << endl;
+  dialog->queryEmpty(NAME, usage.str());
+
+  return dialog;
+}
+
+Action::state_ptr CommandHelpAction::performCall() {
+  return Action::success;
+}
+
+Action::state_ptr CommandHelpAction::performUndo(Action::state_ptr _state) {
+  return Action::success;
+}
+
+Action::state_ptr CommandHelpAction::performRedo(Action::state_ptr _state){
+  return Action::success;
+}
+
+bool CommandHelpAction::canUndo() {
+  return true;
+}
+
+bool CommandHelpAction::shouldUndo() {
+  return false;
+}
+
+const string CommandHelpAction::getName() {
+  return NAME;
+}
Index: src/Actions/CommandAction/HelpAction.hpp
===================================================================
--- src/Actions/CommandAction/HelpAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/HelpAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,37 @@
+/*
+ * HelpAction.hpp
+ *
+ *  Created on: May 8, 2010
+ *      Author: heber
+ */
+
+#ifndef HELPACTION_HPP_
+#define HELPACTION_HPP_
+
+#include "Actions/Action.hpp"
+
+void CommandHelp();
+
+class CommandHelpAction : public Action {
+  friend void CommandHelp();
+
+public:
+  CommandHelpAction();
+  virtual ~CommandHelpAction();
+
+  bool canUndo();
+  bool shouldUndo();
+
+  virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
+private:
+  virtual void getParametersfromValueStorage();
+  virtual Action::state_ptr performCall();
+  virtual Action::state_ptr performUndo(Action::state_ptr);
+  virtual Action::state_ptr performRedo(Action::state_ptr);
+
+  static const char NAME[];
+};
+
+#endif /* HELPACTION_HPP_ */
Index: src/Actions/CommandAction/VerboseAction.cpp
===================================================================
--- src/Actions/CommandAction/VerboseAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/VerboseAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+/*
+ * VerboseAction.cpp
+ *
+ *  Created on: May 9, 2010
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "Helpers/MemDebug.hpp"
+
+#include "Actions/CommandAction/VerboseAction.hpp"
+#include "Actions/ActionRegistry.hpp"
+#include "Helpers/Log.hpp"
+#include "Helpers/Verbose.hpp"
+
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+#include "UIElements/UIFactory.hpp"
+#include "UIElements/Dialog.hpp"
+#include "Actions/ValueStorage.hpp"
+
+// memento to remember the state when undoing
+
+class CommandVerboseState : public ActionState {
+public:
+  CommandVerboseState(const int _oldverbosity, const int _newverbosity) :
+    oldverbosity(_oldverbosity),
+    newverbosity(_newverbosity)
+  {}
+  int oldverbosity;
+  int newverbosity;
+};
+
+
+const char CommandVerboseAction::NAME[] = "verbose";
+
+CommandVerboseAction::CommandVerboseAction() :
+  Action(NAME)
+{}
+
+CommandVerboseAction::~CommandVerboseAction()
+{}
+
+void CommandVerbose(int verbosity) {
+  ValueStorage::getInstance().setCurrentValue(CommandVerboseAction::NAME, verbosity);
+  ActionRegistry::getInstance().getActionByName(CommandVerboseAction::NAME)->call(Action::NonInteractive);
+};
+
+void CommandVerboseAction::getParametersfromValueStorage()
+{};
+
+Dialog* CommandVerboseAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
+
+  dialog->queryInt(NAME, ValueStorage::getInstance().getDescription(NAME));
+
+  return dialog;
+}
+
+Action::state_ptr CommandVerboseAction::performCall() {
+  int oldverbosity = getVerbosity();
+  int newverbosity = 2;
+
+  ValueStorage::getInstance().queryCurrentValue(NAME, newverbosity);
+
+  if (oldverbosity != newverbosity) {
+    CommandVerboseState *UndoState = new CommandVerboseState(oldverbosity, newverbosity);
+    setVerbosity(newverbosity);
+    DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << oldverbosity << " to " << newverbosity << "." << endl);
+    return Action::state_ptr(UndoState);
+  } else {
+    DoLog(0) && (Log() << Verbose(0) << "Verbosity remains unchanged at " << oldverbosity << "." << endl);
+    return Action::failure;
+  }
+}
+
+Action::state_ptr CommandVerboseAction::performUndo(Action::state_ptr _state) {
+  CommandVerboseState *state = assert_cast<CommandVerboseState*>(_state.get());
+
+  DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << state->newverbosity << " to " << state->oldverbosity << "." << endl);
+  setVerbosity(state->oldverbosity);
+
+  return Action::state_ptr(_state);
+}
+
+Action::state_ptr CommandVerboseAction::performRedo(Action::state_ptr _state){
+  CommandVerboseState *state = assert_cast<CommandVerboseState*>(_state.get());
+
+  DoLog(0) && (Log() << Verbose(0) << "Setting verbosity from " << state->oldverbosity << " to " << state->newverbosity << "." << endl);
+  setVerbosity(state->newverbosity);
+
+  return Action::state_ptr(_state);
+}
+
+bool CommandVerboseAction::canUndo() {
+  return true;
+}
+
+bool CommandVerboseAction::shouldUndo() {
+  return true;
+}
+
+const string CommandVerboseAction::getName() {
+  return NAME;
+}
Index: src/Actions/CommandAction/VerboseAction.hpp
===================================================================
--- src/Actions/CommandAction/VerboseAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/VerboseAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,37 @@
+/*
+ * VerboseAction.hpp
+ *
+ *  Created on: May 9, 2010
+ *      Author: heber
+ */
+
+#ifndef VERBOSEACTION_HPP_
+#define VERBOSEACTION_HPP_
+
+#include "Actions/Action.hpp"
+
+void CommandVerbose(int verbosity);
+
+class CommandVerboseAction : public Action {
+  friend void CommandVerbose(int verbosity);
+
+public:
+  CommandVerboseAction();
+  virtual ~CommandVerboseAction();
+
+  bool canUndo();
+  bool shouldUndo();
+
+  virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
+private:
+  virtual void getParametersfromValueStorage();
+  virtual Action::state_ptr performCall();
+  virtual Action::state_ptr performUndo(Action::state_ptr);
+  virtual Action::state_ptr performRedo(Action::state_ptr);
+
+  static const char NAME[];
+};
+
+#endif /* VERBOSEACTION_HPP_ */
Index: src/Actions/CommandAction/VersionAction.cpp
===================================================================
--- src/Actions/CommandAction/VersionAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/VersionAction.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,81 @@
+/*
+ * 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.
+ */
+
+/*
+ * VersionAction.cpp
+ *
+ *  Created on: May 8, 2010
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "Helpers/MemDebug.hpp"
+
+#include "Actions/CommandAction/VersionAction.hpp"
+#include "Actions/ActionRegistry.hpp"
+#include "version.h"
+
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+#include "UIElements/UIFactory.hpp"
+#include "UIElements/Dialog.hpp"
+#include "Actions/ValueStorage.hpp"
+
+const char CommandVersionAction::NAME[] = "version";
+
+CommandVersionAction::CommandVersionAction() :
+  Action(NAME)
+{}
+
+CommandVersionAction::~CommandVersionAction()
+{}
+
+void CommandVersion() {
+  ActionRegistry::getInstance().getActionByName(CommandVersionAction::NAME)->call(Action::NonInteractive);
+};
+
+void CommandVersionAction::getParametersfromValueStorage()
+{};
+
+Dialog* CommandVersionAction::fillDialog(Dialog *dialog) {
+  ASSERT(dialog,"No Dialog given when filling action dialog");
+
+  dialog->queryEmpty(NAME, MOLECUILDERVERSION);
+
+  return dialog;
+}
+
+Action::state_ptr CommandVersionAction::performCall() {
+  return Action::success;
+}
+
+Action::state_ptr CommandVersionAction::performUndo(Action::state_ptr _state) {
+  return Action::success;
+}
+
+Action::state_ptr CommandVersionAction::performRedo(Action::state_ptr _state){
+  return Action::success;
+}
+
+bool CommandVersionAction::canUndo() {
+  return true;
+}
+
+bool CommandVersionAction::shouldUndo() {
+  return false;
+}
+
+const string CommandVersionAction::getName() {
+  return NAME;
+}
Index: src/Actions/CommandAction/VersionAction.hpp
===================================================================
--- src/Actions/CommandAction/VersionAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
+++ src/Actions/CommandAction/VersionAction.hpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -0,0 +1,38 @@
+/*
+ * VersionAction.hpp
+ *
+ *  Created on: May 8, 2010
+ *      Author: heber
+ */
+
+#ifndef VERSIONACTION_HPP_
+#define VERSIONACTION_HPP_
+
+#include "Actions/Action.hpp"
+#include "version.h"
+
+void CommandVersion();
+
+class CommandVersionAction : public Action {
+  friend void CommandVersion();
+
+public:
+  CommandVersionAction();
+  virtual ~CommandVersionAction();
+
+  bool canUndo();
+  bool shouldUndo();
+
+  virtual const std::string getName();
+protected:
+  virtual Dialog * fillDialog(Dialog *dialog);
+private:
+  virtual void getParametersfromValueStorage();
+  virtual Action::state_ptr performCall();
+  virtual Action::state_ptr performUndo(Action::state_ptr);
+  virtual Action::state_ptr performRedo(Action::state_ptr);
+
+  static const char NAME[];
+};
+
+#endif /* VERSIONACTION_HPP_ */
Index: src/Actions/Makefile.am
===================================================================
--- src/Actions/Makefile.am	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ src/Actions/Makefile.am	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -61,17 +61,17 @@
 
 CMDACTIONSOURCE = \
-  CmdAction/BondLengthTableAction.cpp \
-  CmdAction/ElementDbAction.cpp \
-  CmdAction/FastParsingAction.cpp \
-  CmdAction/HelpAction.cpp \
-  CmdAction/VerboseAction.cpp \
-  CmdAction/VersionAction.cpp
+  CommandAction/BondLengthTableAction.cpp \
+  CommandAction/ElementDbAction.cpp \
+  CommandAction/FastParsingAction.cpp \
+  CommandAction/HelpAction.cpp \
+  CommandAction/VerboseAction.cpp \
+  CommandAction/VersionAction.cpp
 CMDACTIONHEADER = \
-  CmdAction/BondLengthTableAction.hpp \
-  CmdAction/ElementDbAction.hpp \
-  CmdAction/FastParsingAction.hpp \
-  CmdAction/HelpAction.hpp \
-  CmdAction/VerboseAction.hpp \
-  CmdAction/VersionAction.hpp
+  CommandAction/BondLengthTableAction.hpp \
+  CommandAction/ElementDbAction.hpp \
+  CommandAction/FastParsingAction.hpp \
+  CommandAction/HelpAction.hpp \
+  CommandAction/VerboseAction.hpp \
+  CommandAction/VersionAction.hpp
 
 FRAGMENTATIONACTIONSOURCE = \
Index: src/Actions/MapOfActions.cpp
===================================================================
--- src/Actions/MapOfActions.cpp	(revision 8bb05ec5f3d1431cfd3d423bae88f557686697ef)
+++ src/Actions/MapOfActions.cpp	(revision 53d01c162db75173725d553f4f149598163822b5)
@@ -57,10 +57,10 @@
 #include "Actions/AtomAction/RotateAroundOriginByAngleAction.hpp"
 #include "Actions/AtomAction/TranslateAction.hpp"
-#include "Actions/CmdAction/BondLengthTableAction.hpp"
-#include "Actions/CmdAction/ElementDbAction.hpp"
-#include "Actions/CmdAction/FastParsingAction.hpp"
-#include "Actions/CmdAction/HelpAction.hpp"
-#include "Actions/CmdAction/VerboseAction.hpp"
-#include "Actions/CmdAction/VersionAction.hpp"
+#include "Actions/CommandAction/BondLengthTableAction.hpp"
+#include "Actions/CommandAction/ElementDbAction.hpp"
+#include "Actions/CommandAction/FastParsingAction.hpp"
+#include "Actions/CommandAction/HelpAction.hpp"
+#include "Actions/CommandAction/VerboseAction.hpp"
+#include "Actions/CommandAction/VersionAction.hpp"
 #include "Actions/FragmentationAction/DepthFirstSearchAction.hpp"
 #include "Actions/FragmentationAction/SubgraphDissectionAction.hpp"
@@ -928,10 +928,10 @@
   new AtomTranslateAction();
 
-  new CommandLineBondLengthTableAction();
-  new CommandLineElementDbAction();
-  new CommandLineFastParsingAction();
-  new CommandLineHelpAction();
-  new CommandLineVerboseAction();
-  new CommandLineVersionAction();
+  new CommandBondLengthTableAction();
+  new CommandElementDbAction();
+  new CommandFastParsingAction();
+  new CommandHelpAction();
+  new CommandVerboseAction();
+  new CommandVersionAction();
 
   new FragmentationDepthFirstSearchAction();
