Index: src/Parameters/Makefile.am
===================================================================
--- src/Parameters/Makefile.am	(revision e4036a78cd44e3a4931618bceb22d7ea0332a098)
+++ src/Parameters/Makefile.am	(revision 5f869d731c0e018ae107f17a253937a99d0c6c9b)
@@ -17,8 +17,10 @@
 	Parameters/Validators/Specific/FileSuffixValidator.cpp \
 	Parameters/Validators/Specific/FormulaValidator.cpp \
+	Parameters/Validators/Specific/GeometryNameValidator.cpp \
 	Parameters/Validators/Specific/KeyValueValidator.cpp \
 	Parameters/Validators/Specific/MoleculeIdValidator.cpp \
 	Parameters/Validators/Specific/ParserFileValidator.cpp \
 	Parameters/Validators/Specific/ParserTypeValidator.cpp \
+	Parameters/Validators/Specific/PresentGeometryNameValidator.cpp \
 	Parameters/Validators/Specific/RandomNumberValidators.cpp \
 	Parameters/Validators/Specific/RealSpaceMatrixInvertibleValidator.cpp \
@@ -74,8 +76,10 @@
 	Parameters/Validators/Specific/FileSuffixValidator.hpp \
 	Parameters/Validators/Specific/FormulaValidator.hpp \
+	Parameters/Validators/Specific/GeometryNameValidator.hpp \
 	Parameters/Validators/Specific/KeyValueValidator.hpp \
 	Parameters/Validators/Specific/MoleculeIdValidator.hpp \
 	Parameters/Validators/Specific/ParserFileValidator.hpp \
 	Parameters/Validators/Specific/ParserTypeValidator.hpp \
+	Parameters/Validators/Specific/PresentGeometryNameValidator.hpp \
 	Parameters/Validators/Specific/RandomNumberValidators.hpp \
 	Parameters/Validators/Specific/RealSpaceMatrixInvertibleValidator.hpp \
Index: src/Parameters/Validators/Specific/GeometryNameValidator.cpp
===================================================================
--- src/Parameters/Validators/Specific/GeometryNameValidator.cpp	(revision 5f869d731c0e018ae107f17a253937a99d0c6c9b)
+++ src/Parameters/Validators/Specific/GeometryNameValidator.cpp	(revision 5f869d731c0e018ae107f17a253937a99d0c6c9b)
@@ -0,0 +1,82 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2017 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/>.
+ */
+
+/*
+ * GeometryNameValidator.cpp
+ *
+ *  Created on: Mar 27, 2017
+ *      Author: heber
+ */
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+//#include "CodePatterns/MemDebug.hpp"
+
+#include "GeometryNameValidator.hpp"
+
+#include <boost/lexical_cast.hpp>
+
+#include "Geometry/GeometryRegistry.hpp"
+
+bool GeometryNameValidator::isValid(const std::string & _value) const
+{
+  // must not contain comma
+  bool status = (_value.find(",") == std::string::npos);
+
+  // must not contain white space
+  status &= (_value.find(" ") == std::string::npos);
+  status &= (_value.find("\t") == std::string::npos);
+
+  // must not contain digits only
+  if (status) {
+    status = false;
+    double tmp = 0.;
+    try {
+      tmp = boost::lexical_cast<double>(_value);
+    } catch(boost::bad_lexical_cast &e) {
+      status = true;
+    }
+  }
+
+  return status;
+}
+
+bool GeometryNameValidator::operator==(const Validator<std::string> &_instance) const
+{
+  const GeometryNameValidator *inst =
+      dynamic_cast<const GeometryNameValidator *>(&_instance);
+  if (inst)
+    return true;
+  else
+    return false;
+}
+
+Validator< std::string >* GeometryNameValidator::clone() const
+{
+  Validator< std::string > *inst =
+      new GeometryNameValidator();
+  return inst;
+}
Index: src/Parameters/Validators/Specific/GeometryNameValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/GeometryNameValidator.hpp	(revision 5f869d731c0e018ae107f17a253937a99d0c6c9b)
+++ src/Parameters/Validators/Specific/GeometryNameValidator.hpp	(revision 5f869d731c0e018ae107f17a253937a99d0c6c9b)
@@ -0,0 +1,33 @@
+/*
+ * GeometryNameValidator.hpp
+ *
+ *  Created on: Mar 27, 2017
+ *      Author: heber
+ */
+
+#ifndef GEOMETRYNAMEVALIDATOR_HPP_
+#define GEOMETRYNAMEVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Validators/Validator.hpp"
+
+/** This validators checks whether the geometry name is interpretable as regular vector,
+ * i.e. three numbers separated by comma.
+ */
+class GeometryNameValidator : public Validator<std::string>
+{
+protected:
+  bool isValid(const std::string & _value) const;
+  bool operator==(const Validator<std::string> &_instance) const;
+  Validator< std::string >* clone() const;
+};
+
+
+#endif /* GEOMETRYNAMEVALIDATOR_HPP_ */
Index: src/Parameters/Validators/Specific/PresentGeometryNameValidator.cpp
===================================================================
--- src/Parameters/Validators/Specific/PresentGeometryNameValidator.cpp	(revision 5f869d731c0e018ae107f17a253937a99d0c6c9b)
+++ src/Parameters/Validators/Specific/PresentGeometryNameValidator.cpp	(revision 5f869d731c0e018ae107f17a253937a99d0c6c9b)
@@ -0,0 +1,69 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2017 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/>.
+ */
+
+/*
+ * PresentGeometryNameValidator.cpp
+ *
+ *  Created on: Mar 30, 2017
+ *      Author: heber
+ */
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+//#include "CodePatterns/MemDebug.hpp"
+
+#include "PresentGeometryNameValidator.hpp"
+
+#include <boost/lexical_cast.hpp>
+
+#include "Geometry/GeometryRegistry.hpp"
+
+bool PresentGeometryNameValidator::isValid(const std::string & _value) const
+{
+  // must not be already present
+  bool status = !GeometryRegistry::getInstance().isPresentByName(_value);
+
+  status &= GeometryNameValidator::isValid(_value);
+
+  return status;
+}
+
+bool PresentGeometryNameValidator::operator==(const Validator<std::string> &_instance) const
+{
+  const PresentGeometryNameValidator *inst =
+      dynamic_cast<const PresentGeometryNameValidator *>(&_instance);
+  if (inst)
+    return true;
+  else
+    return false;
+}
+
+Validator< std::string >* PresentGeometryNameValidator::clone() const
+{
+  Validator< std::string > *inst =
+      new PresentGeometryNameValidator();
+  return inst;
+}
Index: src/Parameters/Validators/Specific/PresentGeometryNameValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/PresentGeometryNameValidator.hpp	(revision 5f869d731c0e018ae107f17a253937a99d0c6c9b)
+++ src/Parameters/Validators/Specific/PresentGeometryNameValidator.hpp	(revision 5f869d731c0e018ae107f17a253937a99d0c6c9b)
@@ -0,0 +1,33 @@
+/*
+ * PresentGeometryNameValidator.hpp
+ *
+ *  Created on: Mar 30, 2017
+ *      Author: heber
+ */
+
+#ifndef PRESENTGEOMETRYNAMEVALIDATOR_HPP_
+#define PRESENTGEOMETRYNAMEVALIDATOR_HPP_
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Validators/Validator.hpp"
+#include "Parameters/Validators/Specific/GeometryNameValidator.hpp"
+
+/** This validators checks whether the geometry name is interpretable as regular vector,
+ * i.e. three numbers separated by comma.
+ */
+class PresentGeometryNameValidator : public GeometryNameValidator
+{
+  bool isValid(const std::string & _value) const;
+  bool operator==(const Validator<std::string> &_instance) const;
+  Validator< std::string >* clone() const;
+};
+
+
+#endif /* PRESENTGEOMETRYNAMEVALIDATOR_HPP_ */
