Index: src/Parameters/Makefile.am
===================================================================
--- src/Parameters/Makefile.am	(revision 0741f4d175456b6ffd128ea624a7a20273533b6c)
+++ src/Parameters/Makefile.am	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
@@ -4,4 +4,8 @@
 
 PARAMETERSOURCE = \
+	Parameters/Specifics/Value_atom.cpp \
+	Parameters/Specifics/Value_element.cpp \
+	Parameters/Specifics/Value_molecule.cpp \
+	Parameters/Specifics/Value_string.cpp \
 	Parameters/Validators/Specific/ActionNameValidator.cpp \
 	Parameters/Validators/Specific/AtomDataValidator.cpp \
@@ -26,6 +30,5 @@
 	Parameters/Validators/Specific/VectorNotZeroValidator.cpp \
 	Parameters/Validators/Specific/VectorPositiveComponentsValidator.cpp \
-	Parameters/Validators/Specific/VectorZeroOneComponentsValidator.cpp \
-	Parameters/Value_string.cpp
+	Parameters/Validators/Specific/VectorZeroOneComponentsValidator.cpp
 
 PARAMETERHEADER = \
@@ -34,4 +37,14 @@
 	Parameters/ParameterInterface.hpp \
 	Parameters/StreamOperators.hpp \
+	Parameters/ContinuousValue.hpp \
+	Parameters/ContinuousValue_impl.hpp \
+	Parameters/Value.hpp \
+	Parameters/Value_impl.hpp \
+	Parameters/ValueAsString.hpp \
+	Parameters/ValueInterface.hpp \
+	Parameters/Specifics/Value_atom.hpp \
+	Parameters/Specifics/Value_element.hpp \
+	Parameters/Specifics/Value_molecule.hpp \
+	Parameters/Specifics/Value_string.hpp \
 	Parameters/Validators/DiscreteValidator.hpp \
 	Parameters/Validators/DiscreteValidator_impl.hpp \
@@ -73,12 +86,5 @@
 	Parameters/Validators/Specific/VectorNotZeroValidator.hpp \
 	Parameters/Validators/Specific/VectorPositiveComponentsValidator.hpp \
-	Parameters/Validators/Specific/VectorZeroOneComponentsValidator.hpp \
-	Parameters/ContinuousValue.hpp \
-	Parameters/ContinuousValue_impl.hpp \
-	Parameters/Value.hpp \
-	Parameters/Value_impl.hpp \
-	Parameters/Value_string.hpp \
-	Parameters/ValueAsString.hpp \
-	Parameters/ValueInterface.hpp
+	Parameters/Validators/Specific/VectorZeroOneComponentsValidator.hpp
 
 if CONDLEVMAR
Index: src/Parameters/Specifics/Value_atom.cpp
===================================================================
--- src/Parameters/Specifics/Value_atom.cpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
+++ src/Parameters/Specifics/Value_atom.cpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
@@ -0,0 +1,76 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2014 Frederik Heber. All rights reserved.
+ *
+ *
+ *   This file is part of MoleCuilder.
+ *
+ *    MoleCuilder is free software: you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation, either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    MoleCuilder is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * Value_atom.cpp
+ *
+ *  Created on: Sep 11, 2014
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "Value_atom.hpp"
+
+#include "Atom/atom.hpp"
+#include "World.hpp"
+
+static const atom * FindAtomByName(const std::string &_name)
+{
+  const atom * _atom = NULL;
+  const World::AtomComposite atoms = World::getInstance().getAllAtoms();
+  for (World::AtomComposite::const_iterator atomiter = atoms.begin();
+      atomiter != atoms.end(); ++atomiter) {
+    if ((*atomiter)->getName() == _name) {
+      _atom = *atomiter;
+      break;
+    }
+  }
+  return _atom;
+}
+
+template <>
+bool Value<const atom *>::isValidAsString(const std::string &_value) const throw(ParameterValidatorException)
+{
+  return (FindAtomByName(_value) != NULL);
+}
+
+template <>
+const std::string Value<const atom *>::getAsString() const throw(ParameterValueException)
+{
+  return get()->getName();
+}
+
+template <>
+void Value<const atom *>::setAsString(const std::string &_value) throw(ParameterException)
+{
+  const atom * temp = FindAtomByName(_value);
+  if (temp != NULL)
+    set(temp);
+}
+
+
Index: src/Parameters/Specifics/Value_atom.hpp
===================================================================
--- src/Parameters/Specifics/Value_atom.hpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
+++ src/Parameters/Specifics/Value_atom.hpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
@@ -0,0 +1,33 @@
+/*
+ * Value_atom.hpp
+ *
+ *  Created on: Sep 11, 2014
+ *      Author: heber
+ */
+
+#ifndef VALUE_ATOM_HPP_
+#define VALUE_ATOM_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include <string>
+
+#include "Parameters/Value.hpp"
+
+// This overrides string conversions for the type atom which need a specific function call.
+
+template <>
+bool Value<const atom *>::isValidAsString(const std::string &_value) const throw(ParameterValidatorException);
+
+template <>
+const std::string Value<const atom *>::getAsString() const throw(ParameterValueException);
+
+template <>
+void Value<const atom *>::setAsString(const std::string &_value) throw(ParameterException);
+
+
+#endif /* VALUE_ATOM_HPP_ */
Index: src/Parameters/Specifics/Value_element.cpp
===================================================================
--- src/Parameters/Specifics/Value_element.cpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
+++ src/Parameters/Specifics/Value_element.cpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
@@ -0,0 +1,73 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2014 Frederik Heber. All rights reserved.
+ *
+ *
+ *   This file is part of MoleCuilder.
+ *
+ *    MoleCuilder is free software: you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation, either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    MoleCuilder is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * Value_element.cpp
+ *
+ *  Created on: Sep 10, 2014
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "Value_element.hpp"
+
+#include "CodePatterns/toString.hpp"
+
+#include "Element/element.hpp"
+#include "Element/periodentafel.hpp"
+#include "World.hpp"
+
+static const element * FindElementByString(const std::string &_value)
+{
+  static ConvertTo<atomicNumber_t> converter;
+  const element * _element =
+      World::getInstance().getPeriode()->FindElement(converter(_value));
+  return _element;
+}
+
+template <>
+bool Value<const element *>::isValidAsString(const std::string &_value) const throw(ParameterValidatorException)
+{
+  return (FindElementByString(_value) != NULL);
+}
+
+template <>
+const std::string Value<const element *>::getAsString() const throw(ParameterValueException)
+{
+  return get()->getName();
+}
+
+template <>
+void Value<const element *>::setAsString(const std::string &_value) throw(ParameterException)
+{
+  const element * temp = FindElementByString(_value);
+  if (temp != NULL)
+    set(temp);
+}
+
+
Index: src/Parameters/Specifics/Value_element.hpp
===================================================================
--- src/Parameters/Specifics/Value_element.hpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
+++ src/Parameters/Specifics/Value_element.hpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
@@ -0,0 +1,33 @@
+/*
+ * Value_element.hpp
+ *
+ *  Created on: Sep 10, 2014
+ *      Author: heber
+ */
+
+#ifndef VALUE_ELEMENT_HPP_
+#define VALUE_ELEMENT_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include <string>
+
+#include "Parameters/Value.hpp"
+
+// This overrides string conversions for the type element which need a specific function call.
+
+template <>
+bool Value<const element *>::isValidAsString(const std::string &_value) const throw(ParameterValidatorException);
+
+template <>
+const std::string Value<const element *>::getAsString() const throw(ParameterValueException);
+
+template <>
+void Value<const element *>::setAsString(const std::string &_value) throw(ParameterException);
+
+
+#endif /* VALUE_ELEMENT_HPP_ */
Index: src/Parameters/Specifics/Value_molecule.cpp
===================================================================
--- src/Parameters/Specifics/Value_molecule.cpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
+++ src/Parameters/Specifics/Value_molecule.cpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
@@ -0,0 +1,76 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2014 Frederik Heber. All rights reserved.
+ *
+ *
+ *   This file is part of MoleCuilder.
+ *
+ *    MoleCuilder is free software: you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation, either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    MoleCuilder is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * Value_molecule.cpp
+ *
+ *  Created on: Sep 11, 2014
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "Value_molecule.hpp"
+
+#include "molecule.hpp"
+#include "World.hpp"
+
+static const molecule * FindMoleculeByName(const std::string &_name)
+{
+  const molecule * _mol = NULL;
+  const vector<molecule *> molecules = World::getInstance().getAllMolecules();
+  for (vector<molecule *>::const_iterator moliter = molecules.begin();
+      moliter != molecules.end(); ++moliter) {
+    if ((*moliter)->getName() == _name) {
+      _mol = *moliter;
+      break;
+    }
+  }
+  return _mol;
+}
+
+template <>
+bool Value<const molecule *>::isValidAsString(const std::string &_value) const throw(ParameterValidatorException)
+{
+  return (FindMoleculeByName(_value) != NULL);
+}
+
+template <>
+const std::string Value<const molecule *>::getAsString() const throw(ParameterValueException)
+{
+  return get()->getName();
+}
+
+template <>
+void Value<const molecule *>::setAsString(const std::string &_value) throw(ParameterException)
+{
+  const molecule * temp = FindMoleculeByName(_value);
+  if (temp != NULL)
+    set(temp);
+}
+
+
Index: src/Parameters/Specifics/Value_molecule.hpp
===================================================================
--- src/Parameters/Specifics/Value_molecule.hpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
+++ src/Parameters/Specifics/Value_molecule.hpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
@@ -0,0 +1,33 @@
+/*
+ * Value_molecule.hpp
+ *
+ *  Created on: Sep 11, 2014
+ *      Author: heber
+ */
+
+#ifndef VALUE_MOLECULE_HPP_
+#define VALUE_MOLECULE_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include <string>
+
+#include "Parameters/Value.hpp"
+
+// This overrides string conversions for the type molecule which need a specific function call.
+
+template <>
+bool Value<const molecule *>::isValidAsString(const std::string &_value) const throw(ParameterValidatorException);
+
+template <>
+const std::string Value<const molecule *>::getAsString() const throw(ParameterValueException);
+
+template <>
+void Value<const molecule *>::setAsString(const std::string &_value) throw(ParameterException);
+
+
+#endif /* VALUE_MOLECULE_HPP_ */
Index: src/Parameters/Specifics/Value_string.cpp
===================================================================
--- src/Parameters/Specifics/Value_string.cpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
+++ src/Parameters/Specifics/Value_string.cpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
@@ -0,0 +1,57 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2013 University of Bonn. All rights reserved.
+ *
+ *
+ *   This file is part of MoleCuilder.
+ *
+ *    MoleCuilder is free software: you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation, either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    MoleCuilder is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * Value_string.cpp
+ *
+ *  Created on: Jan 10, 2013
+ *      Author: heber
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "Value_string.hpp"
+
+template <>
+bool Value<std::string>::isValidAsString(const std::string &_value) const throw(ParameterValidatorException)
+{
+  return isValid(_value);
+}
+
+template <>
+const std::string Value<std::string>::getAsString() const throw(ParameterValueException)
+{
+  return get();
+}
+
+template <>
+void Value<std::string>::setAsString(const std::string &_value) throw(ParameterException)
+{
+  set(_value);
+//  LOG(0, "STATUS: Value is now set to " << value << ".");
+}
+
Index: src/Parameters/Specifics/Value_string.hpp
===================================================================
--- src/Parameters/Specifics/Value_string.hpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
+++ src/Parameters/Specifics/Value_string.hpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
@@ -0,0 +1,29 @@
+/*
+ * Value_string.hpp
+ *
+ *  Created on: Jan 10, 2013
+ *      Author: heber
+ */
+
+#ifndef VALUE_STRING_HPP_
+#define VALUE_STRING_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Value.hpp"
+
+template <>
+bool Value<std::string>::isValidAsString(const std::string &_value) const throw(ParameterValidatorException);
+
+template <>
+const std::string Value<std::string>::getAsString() const throw(ParameterValueException);
+
+template <>
+void Value<std::string>::setAsString(const std::string &_value) throw(ParameterException);
+
+#endif /* VALUE_STRING_HPP_ */
Index: src/Parameters/Value.hpp
===================================================================
--- src/Parameters/Value.hpp	(revision 0741f4d175456b6ffd128ea624a7a20273533b6c)
+++ src/Parameters/Value.hpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
@@ -119,5 +119,8 @@
 #include "Value_impl.hpp"
 
-#include "Value_string.hpp"
+#include "Specifics/Value_atom.hpp"
+#include "Specifics/Value_element.hpp"
+#include "Specifics/Value_molecule.hpp"
+#include "Specifics/Value_string.hpp"
 
 #endif /* VALUE_HPP_ */
Index: c/Parameters/Value_string.cpp
===================================================================
--- src/Parameters/Value_string.cpp	(revision 0741f4d175456b6ffd128ea624a7a20273533b6c)
+++ 	(revision )
@@ -1,51 +1,0 @@
-/*
- * Project: MoleCuilder
- * Description: creates and alters molecular systems
- * Copyright (C)  2013 University of Bonn. All rights reserved.
- *
- *
- *   This file is part of MoleCuilder.
- *
- *    MoleCuilder is free software: you can redistribute it and/or modify
- *    it under the terms of the GNU General Public License as published by
- *    the Free Software Foundation, either version 2 of the License, or
- *    (at your option) any later version.
- *
- *    MoleCuilder is distributed in the hope that it will be useful,
- *    but WITHOUT ANY WARRANTY; without even the implied warranty of
- *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *    GNU General Public License for more details.
- *
- *    You should have received a copy of the GNU General Public License
- *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-/*
- * Value_string.cpp
- *
- *  Created on: Jan 10, 2013
- *      Author: heber
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "CodePatterns/MemDebug.hpp"
-
-#include "Value_string.hpp"
-
-template <>
-bool Value<std::string>::isValidAsString(const std::string &_value) const throw(ParameterValidatorException)
-{
-  return isValid(_value);
-}
-
-template <>
-void Value<std::string>::setAsString(const std::string &_value) throw(ParameterException)
-{
-  set(_value);
-//  LOG(0, "STATUS: Value is now set to " << value << ".");
-}
-
Index: c/Parameters/Value_string.hpp
===================================================================
--- src/Parameters/Value_string.hpp	(revision 0741f4d175456b6ffd128ea624a7a20273533b6c)
+++ 	(revision )
@@ -1,26 +1,0 @@
-/*
- * Value_string.hpp
- *
- *  Created on: Jan 10, 2013
- *      Author: heber
- */
-
-#ifndef VALUE_STRING_HPP_
-#define VALUE_STRING_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <string>
-
-#include "Parameters/Value.hpp"
-
-template <>
-bool Value<std::string>::isValidAsString(const std::string &_value) const throw(ParameterValidatorException);
-
-template <>
-void Value<std::string>::setAsString(const std::string &_value) throw(ParameterException);
-
-#endif /* VALUE_STRING_HPP_ */
Index: src/UIElements/Qt4/Query/FileQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/FileQtQuery.cpp	(revision 0741f4d175456b6ffd128ea624a7a20273533b6c)
+++ src/UIElements/Qt4/Query/FileQtQuery.cpp	(revision f8bccc9d2f41fb1866651aadba4beab9fe0bea1d)
@@ -66,5 +66,5 @@
   filenameLineEdit->setReadOnly(true);
 
-  filenameLabel = new QLabel(QString("Input file:"));
+  filenameLabel = new QLabel(QString(_title.c_str()));
   filenameLabel->setBuddy(filenameLineEdit);
   filenameLabel->setToolTip(QString(getDescription().c_str()));
