Index: src/Actions/ParserAction/SetParserParametersAction.cpp
===================================================================
--- src/Actions/ParserAction/SetParserParametersAction.cpp	(revision 33e80133683ce15eb991faac6abc6d540afee182)
+++ src/Actions/ParserAction/SetParserParametersAction.cpp	(revision 0435989b70a2b793f218705f1cf498471af2bdd2)
@@ -66,5 +66,5 @@
   // obtain information
   std::stringstream newparamstream;
-  const std::vector< std::string > keyvalues = params.newparams.get();
+  const std::vector< KeyValuePair > keyvalues = params.newparams.get();
   std::for_each(keyvalues.begin(), keyvalues.end(), newparamstream << boost::lambda::_1 << ";");
   newparamstream >> *parameters;
@@ -90,5 +90,5 @@
   FormatParser_Parameters *parser = FormatParserStorage::getInstance().get(type).parameters;
   std::stringstream newparamstream;
-  const std::vector< std::string > keyvalues = state->params.newparams.get();
+  const std::vector< KeyValuePair > keyvalues = state->params.newparams.get();
   std::for_each(keyvalues.begin(), keyvalues.end(), newparamstream << boost::lambda::_1 << ";");
   newparamstream >> *parser;
Index: src/Actions/ParserAction/SetParserParametersAction.def
===================================================================
--- src/Actions/ParserAction/SetParserParametersAction.def	(revision 33e80133683ce15eb991faac6abc6d540afee182)
+++ src/Actions/ParserAction/SetParserParametersAction.def	(revision 0435989b70a2b793f218705f1cf498471af2bdd2)
@@ -13,9 +13,10 @@
 #include "Parameters/Validators/Specific/KeyValueValidator.hpp"
 #include "Parameters/Validators/Specific/ParserTypeValidator.hpp"
+#include "Parameters/Specifics/KeyValuePair.hpp"
 
 // i.e. there is an integer with variable name Z that can be found in
 // ValueStorage by the token "Z" -> first column: int, Z, "Z"
 // "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
-#define paramtypes (std::string)(std::vector<std::string>)
+#define paramtypes (std::string)(std::vector<KeyValuePair>)
 #define paramtokens ("set-parser-parameters")("parser-parameters")
 #define paramdescriptions ("name of the parser to change")("parameter (key = value;)")
@@ -24,5 +25,5 @@
 #define paramvalids \
 (ParserTypeValidator())\
-(STLVectorValidator< std::vector<std::string> >(1, 99, KeyValueValidator()))
+(STLVectorValidator< std::vector<KeyValuePair> >(1, 99, KeyValueValidator()))
 
 #define statetypes (std::string)
Index: src/Actions/RandomNumbersAction/SetRandomNumbersDistributionAction.def
===================================================================
--- src/Actions/RandomNumbersAction/SetRandomNumbersDistributionAction.def	(revision 33e80133683ce15eb991faac6abc6d540afee182)
+++ src/Actions/RandomNumbersAction/SetRandomNumbersDistributionAction.def	(revision 0435989b70a2b793f218705f1cf498471af2bdd2)
@@ -11,12 +11,13 @@
 #include "Parameters/Validators/Specific/RandomNumberValidators.hpp"
 #include "Parameters/Validators/Specific/KeyValueValidator.hpp"
+#include "Parameters/Specifics/KeyValuePair.hpp"
 
 // i.e. there is an integer with variable name Z that can be found in
 // ValueStorage by the token "Z" -> first column: int, Z, "Z"
 // "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
-#define paramtypes (std::string)(std::string)
+#define paramtypes (std::string)(KeyValuePair)
 #define paramtokens ("set-random-number-distribution")("random-number-distribution-parameters")
 #define paramdescriptions ("name of the distribution from boost::random")("parameter set for requested distribution")
-#define paramdefaults (NOPARAM_DEFAULT)(PARAM_DEFAULT(std::string("p=-1")))
+#define paramdefaults (NOPARAM_DEFAULT)(PARAM_DEFAULT(KeyValuePair("p=-1")))
 #define paramreferences (distribution_type)(parameters)
 #define paramvalids \
Index: src/Actions/RandomNumbersAction/SetRandomNumbersEngineAction.def
===================================================================
--- src/Actions/RandomNumbersAction/SetRandomNumbersEngineAction.def	(revision 33e80133683ce15eb991faac6abc6d540afee182)
+++ src/Actions/RandomNumbersAction/SetRandomNumbersEngineAction.def	(revision 0435989b70a2b793f218705f1cf498471af2bdd2)
@@ -10,12 +10,13 @@
 #include "Parameters/Validators/Specific/RandomNumberValidators.hpp"
 #include "Parameters/Validators/Specific/KeyValueValidator.hpp"
+#include "Parameters/Specifics/KeyValuePair.hpp"
 
 // i.e. there is an integer with variable name Z that can be found in
 // ValueStorage by the token "Z" -> first column: int, Z, "Z"
 // "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
-#define paramtypes (std::string)(std::string)
+#define paramtypes (std::string)(KeyValuePair)
 #define paramtokens ("set-random-number-engine")("random-number-engine-parameters")
 #define paramdescriptions ("name of the pseudo-random engine from boost::random")("seed of the pseudo-random number sequence")
-#define paramdefaults (NOPARAM_DEFAULT)(PARAM_DEFAULT(std::string("seed=-1")))
+#define paramdefaults (NOPARAM_DEFAULT)(PARAM_DEFAULT(KeyValuePair("seed=-1")))
 #define paramreferences (engine_type)(parameters)
 #define paramvalids \
Index: src/Parameters/Validators/Specific/KeyValueValidator.cpp
===================================================================
--- src/Parameters/Validators/Specific/KeyValueValidator.cpp	(revision 33e80133683ce15eb991faac6abc6d540afee182)
+++ src/Parameters/Validators/Specific/KeyValueValidator.cpp	(revision 0435989b70a2b793f218705f1cf498471af2bdd2)
@@ -38,5 +38,5 @@
 #include "KeyValueValidator.hpp"
 
-bool KeyValueValidator::isValid(const std::string & _value) const
+bool KeyValueValidator::isValid(const KeyValuePair & _value) const
 {
   size_t keyvaluestart = 0;
@@ -66,5 +66,5 @@
 }
 
-bool KeyValueValidator::operator==(const Validator<std::string> &_instance) const
+bool KeyValueValidator::operator==(const Validator<KeyValuePair> &_instance) const
 {
   const KeyValueValidator *inst =
@@ -76,7 +76,7 @@
 }
 
-Validator< std::string >* KeyValueValidator::clone() const
+Validator< KeyValuePair >* KeyValueValidator::clone() const
 {
-  Validator< std::string > *inst =
+  Validator< KeyValuePair > *inst =
       new KeyValueValidator();
   return inst;
Index: src/Parameters/Validators/Specific/KeyValueValidator.hpp
===================================================================
--- src/Parameters/Validators/Specific/KeyValueValidator.hpp	(revision 33e80133683ce15eb991faac6abc6d540afee182)
+++ src/Parameters/Validators/Specific/KeyValueValidator.hpp	(revision 0435989b70a2b793f218705f1cf498471af2bdd2)
@@ -15,6 +15,5 @@
 #endif
 
-#include <string>
-
+#include "Parameters/Specifics/KeyValuePair.hpp"
 #include "Parameters/Validators/Validator.hpp"
 
@@ -22,9 +21,9 @@
  * concatenation of the following pattern "...=...;"
  */
-class KeyValueValidator : public Validator<std::string>
+class KeyValueValidator : public Validator<KeyValuePair>
 {
-  bool isValid(const std::string & _value) const;
-  bool operator==(const Validator<std::string> &_instance) const;
-  Validator< std::string >* clone() const;
+  bool isValid(const KeyValuePair & _value) const;
+  bool operator==(const Validator<KeyValuePair> &_instance) const;
+  Validator< KeyValuePair >* clone() const;
 };
 
