Index: src/Actions/ShapeAction/SetShapeAction.def
===================================================================
--- src/Actions/ShapeAction/SetShapeAction.def	(revision 70bce952fe074f8df663ea61ed19170aefbb6afd)
+++ src/Actions/ShapeAction/SetShapeAction.def	(revision 4cd00e67cb46cf0670241717c29dc3f29f0ed5eb)
@@ -10,5 +10,5 @@
 
 #include "Parameters/Validators/DummyValidator.hpp"
-#include "Parameters/Validators/Specific/ShapeNameValidator.hpp"
+#include "Parameters/Validators/Specific/ShapeTypeValidator.hpp"
 #include "Parameters/Validators/Specific/VectorPositiveComponentsValidator.hpp"
 
@@ -22,5 +22,5 @@
 #define paramreferences (shape_type)(translation)(stretch)(angle_x)(angle_y)(angle_z)
 #define paramvalids \
-(ShapeNameValidator()) \
+(ShapeTypeValidator()) \
 (DummyValidator<Vector>()) \
 (VectorPositiveComponentsValidator()) \
Index: src/Parameters/Makefile.am
===================================================================
--- src/Parameters/Makefile.am	(revision 70bce952fe074f8df663ea61ed19170aefbb6afd)
+++ src/Parameters/Makefile.am	(revision 4cd00e67cb46cf0670241717c29dc3f29f0ed5eb)
@@ -20,4 +20,5 @@
 	Parameters/Validators/Specific/RealSpaceMatrixSymmetricValidator.cpp \
 	Parameters/Validators/Specific/ShapeNameValidator.cpp \
+	Parameters/Validators/Specific/ShapeTypeValidator.cpp \
 	Parameters/Validators/Specific/TimeStepPresentValidator.cpp \
 	Parameters/Validators/Specific/VectorNotZeroValidator.cpp \
@@ -60,4 +61,5 @@
 	Parameters/Validators/Specific/RotationAngleValidator.hpp \
 	Parameters/Validators/Specific/ShapeNameValidator.hpp \
+	Parameters/Validators/Specific/ShapeTypeValidator.hpp \
 	Parameters/Validators/Specific/TimeStepPresentValidator.hpp \
 	Parameters/Validators/Specific/VectorNotZeroValidator.hpp \
Index: src/Parameters/Validators/Specific/ShapeNameValidator.cpp
===================================================================
--- src/Parameters/Validators/Specific/ShapeNameValidator.cpp	(revision 70bce952fe074f8df663ea61ed19170aefbb6afd)
+++ src/Parameters/Validators/Specific/ShapeNameValidator.cpp	(revision 4cd00e67cb46cf0670241717c29dc3f29f0ed5eb)
@@ -38,9 +38,9 @@
 #include "ShapeNameValidator.hpp"
 
-#include "Shapes/ShapeFactory.hpp"
+#include "Shapes/ShapeRegistry.hpp"
 
 bool ShapeNameValidator::isValid(const std::string & _value) const
 {
-  return ShapeFactory::getInstance().isValidShapeName(_value);
+  return ShapeRegistry::getInstance().isPresentByName(_value);
 }
 
Index: src/Parameters/Validators/Specific/ShapeNameValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/ShapeNameValidator.hpp	(revision 70bce952fe074f8df663ea61ed19170aefbb6afd)
+++ src/Parameters/Validators/Specific/ShapeNameValidator.hpp	(revision 4cd00e67cb46cf0670241717c29dc3f29f0ed5eb)
@@ -2,5 +2,5 @@
  * ShapeNameValidator.hpp
  *
- *  Created on: Sep 6, 2012
+ *  Created on: Sep 14, 2012
  *      Author: ankele
  */
@@ -20,6 +20,6 @@
 #include "Parameters/Validators/Validator.hpp"
 
-/** This validator checks whether the given \ref Vector's components are
- * all in [0,1].
+/** This validator checks whether the given string equals a name
+ * inside the ShapeRegistry.
  */
 class ShapeNameValidator : public Validator<std::string>
Index: src/Parameters/Validators/Specific/ShapeTypeValidator.cpp
===================================================================
--- src/Parameters/Validators/Specific/ShapeTypeValidator.cpp	(revision 4cd00e67cb46cf0670241717c29dc3f29f0ed5eb)
+++ src/Parameters/Validators/Specific/ShapeTypeValidator.cpp	(revision 4cd00e67cb46cf0670241717c29dc3f29f0ed5eb)
@@ -0,0 +1,67 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2012 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/>.
+ */
+
+/*
+ * ShapeTypeValidator.cpp
+ *
+ *  Created on: Sep 6, 2012
+ *      Author: ankele
+ */
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "ShapeTypeValidator.hpp"
+
+#include "Shapes/ShapeFactory.hpp"
+
+bool ShapeTypeValidator::isValid(const std::string & _value) const
+{
+  return ShapeFactory::getInstance().isValidShapeName(_value);
+}
+
+bool ShapeTypeValidator::operator==(const Validator<std::string> &_instance) const
+{
+  const ShapeTypeValidator *inst =
+      dynamic_cast<const ShapeTypeValidator *>(&_instance);
+  if (inst)
+    return true;
+  else
+    return false;
+}
+
+Validator< std::string >* ShapeTypeValidator::clone() const
+{
+  Validator< std::string > *inst =
+      new ShapeTypeValidator();
+  return inst;
+}
+
+
+
+
+
Index: src/Parameters/Validators/Specific/ShapeTypeValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/ShapeTypeValidator.hpp	(revision 4cd00e67cb46cf0670241717c29dc3f29f0ed5eb)
+++ src/Parameters/Validators/Specific/ShapeTypeValidator.hpp	(revision 4cd00e67cb46cf0670241717c29dc3f29f0ed5eb)
@@ -0,0 +1,34 @@
+/*
+ * ShapeTypeValidator.hpp
+ *
+ *  Created on: Sep 6, 2012
+ *      Author: ankele
+ */
+
+#ifndef SHAPETYPEVALIDATOR_HPP_
+#define SHAPETYPEVALIDATOR_HPP_
+
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+
+#include "Parameters/Validators/Validator.hpp"
+
+/** This validator checks whether the given string is a shape type
+ * (i.e. "sphere" etc).
+ */
+class ShapeTypeValidator : public Validator<std::string>
+{
+  bool isValid(const std::string & _value) const;
+  bool operator==(const Validator<std::string> &_instance) const;
+  Validator< std::string >* clone() const;
+};
+
+
+
+#endif /* SHAPETYPEVALIDATOR_HPP_ */
