Index: src/Parameters/Parameter.hpp
===================================================================
--- src/Parameters/Parameter.hpp	(revision 118f1e5c5502b98f4f1a0b14f0483e276a9a13c5)
+++ src/Parameters/Parameter.hpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -28,4 +28,5 @@
 {
 public:
+  Parameter(const Parameter<T> &instance);
   Parameter(const std::string &_name);
   Parameter(const std::string &_name, const T &_value);
@@ -45,5 +46,5 @@
   ParameterAsString* clone() const;
 
-private:
+//private: // TODO...
   Parameter();
 };
Index: src/Parameters/Parameter_impl.hpp
===================================================================
--- src/Parameters/Parameter_impl.hpp	(revision 118f1e5c5502b98f4f1a0b14f0483e276a9a13c5)
+++ src/Parameters/Parameter_impl.hpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -15,4 +15,23 @@
 
 #include "Parameter.hpp"
+
+
+
+template<typename T>
+Parameter<T>::Parameter(const Parameter<T> &instance) :
+  ParameterInterface<T>(instance.getName()),
+  Value<T>(instance.getValidator())
+{
+  Value<T>::set(instance.Value<T>::get());
+}
+
+/** Constructor for class Parameter.
+ *
+ */
+template<typename T>
+Parameter<T>::Parameter() :
+  ParameterInterface<T>("__no_name__"),
+  Value<T>()
+{};
 
 /** Constructor for class Parameter.
Index: src/Parameters/StreamOperators.hpp
===================================================================
--- src/Parameters/StreamOperators.hpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
+++ src/Parameters/StreamOperators.hpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -0,0 +1,167 @@
+/*
+ * StreamOperators.hpp
+ *
+ *  Created on: Apr 16, 2012
+ *      Author: ankele
+ */
+
+#ifndef STREAMOPERATORS_HPP_
+#define STREAMOPERATORS_HPP_
+
+
+
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <string>
+#include <iosfwd>
+
+#include "LinearAlgebra/Vector.hpp"
+#include "LinearAlgebra/RealSpaceMatrix.hpp"
+#include "Box.hpp"
+#include "Element/element.hpp"
+#include "molecule.hpp"
+
+#include "CodePatterns/Assert.hpp"
+
+class Vector;
+class Box;
+class RealSpaceMatrix;
+class molecule;
+class element;
+
+inline std::istream& operator>>(std::istream& ist, Vector& m)
+{
+
+  std::string line;
+  getline(ist,line);
+
+  if (!line.empty() && line[0] == '(')
+    line.erase(0, 1);
+  if (!line.empty() && line[line.size() - 1] == ')')
+    line.erase(line.size() - 1, 1);
+  Vector temp_vector;
+
+  // dissect by ","
+  double coord = 0.;
+  int counter = 0;
+  std::string::iterator olditer = line.begin();
+  for(std::string::iterator iter = line.begin(); (iter != line.end()) && (counter != 3); ++iter) {
+    if ((*iter == ',') || (*iter == ' ')) {
+      std::istringstream stream(std::string(olditer, iter));
+
+      stream >> coord;
+
+      temp_vector[counter++] = coord;
+
+      olditer = iter + 1;
+    }
+  }
+  if ((olditer != line.begin()) && (counter != 3)) { // insert last part also
+
+    std::istringstream stream(std::string(olditer, line.end()));
+    stream >> coord;
+    temp_vector[counter++] = coord;
+  }
+  m = temp_vector;
+  return ist;
+};
+
+inline std::istream& operator>>(std::istream& ist, RealSpaceMatrix& m)
+{
+
+  std::string line;
+  getline(ist,line);
+
+  if (!line.empty() && line[0] == '(')
+    line.erase(0, 1);
+  if (!line.empty() && line[line.size() - 1] == ')')
+    line.erase(line.size() - 1, 1);
+  double temp[6];
+
+  // dissect by ","
+  double coord = 0.;
+  int counter = 0;
+  std::string::iterator olditer = line.begin();
+  for(std::string::iterator iter = line.begin(); (iter != line.end()) && (counter != 6); ++iter) {
+    if ((*iter == ',') || (*iter == ' ')) {
+      std::istringstream stream(std::string(olditer, iter));
+
+      stream >> coord;
+
+      temp[counter++] = coord;
+
+      olditer = iter + 1;
+    }
+  }
+  if ((olditer != line.begin()) && (counter != 6)) { // insert last part also
+
+    std::istringstream stream(std::string(olditer, line.end()));
+    stream >> coord;
+    temp[counter++] = coord;
+  }
+  m.set(0,0, temp[0]);
+  m.set(0,1, temp[1]);
+  m.set(0,2, temp[2]);
+  m.set(1,0, temp[1]);
+  m.set(1,1, temp[3]);
+  m.set(1,2, temp[4]);
+  m.set(2,0, temp[2]);
+  m.set(2,1, temp[4]);
+  m.set(2,2, temp[5]);
+  return ist;
+};
+
+inline std::istream& operator>>(std::istream& ist, Box& m)
+{
+  RealSpaceMatrix M;
+  ist >> M;
+  m.setM(M);
+  return ist;
+};
+
+
+inline std::istream& operator>>(std::istream& ist, const molecule* & m)
+{
+  std::cout << "===============   operator >> (istream, const element *) not implemented!\n";
+  ASSERT(0, "operator >> (istream, const element *) not implemented!");
+  return ist;
+}
+
+
+inline std::istream& operator>>(std::istream& ist, const element* & m)
+{
+  std::cout << "===============   operator >> (istream, const element *) not implemented!\n";
+  ASSERT(0, "operator >> (istream, const element *) not implemented!");
+  return ist;
+}
+
+
+inline std::istream& operator>>(std::istream& ist, std::vector<const molecule*> & m)
+{
+  std::cout << "===============   operator >> (istream, std::vector<const element *>) not implemented!\n";
+  ASSERT(0, "operator >> (istream, std::vector<const element *>) not implemented!");
+  return ist;
+}
+
+
+inline std::istream& operator>>(std::istream& ist, std::vector<const element*> & m)
+{
+  std::cout << "===============   operator >> (istream, std::vector<const element *>) not implemented!\n";
+  ASSERT(0, "operator >> (istream, std::vector<const element *>) not implemented!");
+  return ist;
+}
+
+
+inline std::istream& operator>>(std::istream& ist, std::vector<std::string> & m)
+{
+  std::cout << "===============   operator >> (istream, std::vector<std::string>) not implemented!\n";
+  ASSERT(0, "operator >> (istream, std::vector<std::string>) not implemented!");
+  return ist;
+}
+
+
+#endif /* STREAMOPERATORS_HPP_ */
Index: src/Parameters/Value.hpp
===================================================================
--- src/Parameters/Value.hpp	(revision 118f1e5c5502b98f4f1a0b14f0483e276a9a13c5)
+++ src/Parameters/Value.hpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -21,8 +21,8 @@
 #include "Validators/Validator.hpp"
 
+#include "StreamOperators.hpp"
+
 #include "CodePatterns/Range.hpp"
 #include "CodePatterns/toString.hpp"
-
-#include "VectorFromString.hpp"
 
 class ValueTest;
@@ -58,6 +58,6 @@
 
   // comfortable setter
-  void operator=(const T &_value)
-  { set(_value);  }
+  Value<T> &operator=(const T &_value)
+  { set(_value);  return *this;  }
 
   // comparator
Index: src/Parameters/Value_impl.hpp
===================================================================
--- src/Parameters/Value_impl.hpp	(revision 118f1e5c5502b98f4f1a0b14f0483e276a9a13c5)
+++ src/Parameters/Value_impl.hpp	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -25,4 +25,6 @@
 #include "Validators/DiscreteValidator.hpp"
 #include "Validators/RangeValidator.hpp"
+
+
 
 // static member
Index: src/Parameters/VectorFromString.hpp
===================================================================
--- src/Parameters/VectorFromString.hpp	(revision 118f1e5c5502b98f4f1a0b14f0483e276a9a13c5)
+++ 	(revision )
@@ -1,42 +1,0 @@
-/*
- * VectorFromString.hpp
- *
- *  Created on: Apr 16, 2012
- *      Author: ankele
- */
-
-#ifndef VECTORFROMSTRING_HPP_
-#define VECTORFROMSTRING_HPP_
-
-
-
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <string>
-#include <iosfwd>
-
-#include "LinearAlgebra/Vector.hpp"
-
-#include "CodePatterns/Assert.hpp"
-
-class Vector;
-
-inline std::istream& operator>>(std::istream& ist, const Vector& m)
-{
-  ASSERT(0, "TODO:  implement istream >> Vector !!!");
-  /*ost << "(";
-  for (int i=0;i<NDIM;i++) {
-    ost << m[i];
-    if (i != 2)
-      ost << ",";
-  }
-  ost << ")";*/
-  return ist;
-};
-
-
-#endif /* VECTORFROMSTRING_HPP_ */
Index: src/Parameters/unittests/Makefile.am
===================================================================
--- src/Parameters/unittests/Makefile.am	(revision 118f1e5c5502b98f4f1a0b14f0483e276a9a13c5)
+++ src/Parameters/unittests/Makefile.am	(revision f10b0c73d4fb0ce5aaebc2bd886b4e6fad639dd0)
@@ -31,4 +31,5 @@
 	../Parameters/unittests/ContinuousValueTest.cpp \
 	../Parameters/unittests/ContinuousValueTest.hpp \
+	../Parameters/StreamOperators.hpp \
 	../Parameters/Validators/DiscreteValidator.hpp \
 	../Parameters/Validators/DiscreteValidator_impl.hpp \
@@ -40,6 +41,5 @@
 	../Parameters/Value_impl.hpp \
 	../Parameters/ValueAsString.hpp \
-	../Parameters/ValueInterface.hpp \
-	../Parameters/VectorFromString.hpp
+	../Parameters/ValueInterface.hpp
 ContinuousValueTest_LDADD = \
 	$(PARAMETERSLIBS) \
