Index: /code/branches/core/src/orxonox/core/XMLPort.h
===================================================================
--- /code/branches/core/src/orxonox/core/XMLPort.h	(revision 853)
+++ /code/branches/core/src/orxonox/core/XMLPort.h	(revision 854)
@@ -108,22 +108,16 @@
                 if (loading)
                 {
-std::cout << "3_1: load param " << this->paramname_ << std::endl;
                     std::string attribute = xmlelement.GetAttribute(this->paramname_);
-std::cout << "3_2: attribute " << attribute << std::endl;
                     if (attribute.size() > 0)
                     {
                         SubString tokens(attribute, ",", SubString::WhiteSpaces, false, '\\', '"', '(', ')', '\0');
-std::cout << "3_3: tokens: " << tokens.size() << " params: " << this->loadfunction_->getParamCount() << std::endl;
                         if ((unsigned int)tokens.size() >= (unsigned int)this->loadfunction_->getParamCount())
                         {
                             if (this->loadfunction_->getParamCount() == 1)
                             {
-std::cout << "3_4 start: load with whole attribute as input" << std::endl;
                                 (*this->loadfunction_)(object, MultiTypeMath(attribute));
-std::cout << "3_5 end" << std::endl;
                             }
                             else
                             {
-std::cout << "3_4: load with tokens as input" << std::endl;
                                 MultiTypeMath param1, param2, param3, param4, param5;
                                 if (tokens.size() >= 1) param1 = tokens[0];
Index: /code/branches/core/src/util/Convert.h
===================================================================
--- /code/branches/core/src/util/Convert.h	(revision 853)
+++ /code/branches/core/src/util/Convert.h	(revision 854)
@@ -226,5 +226,5 @@
         return ConvertValue(output, input.getString());
       else
-        return false;
+        return ConvertValue(output, (MultiTypePrimitive)input);
     }
 };
@@ -240,5 +240,5 @@
         return ConvertValue(output, input.getString());
       else
-        return false;
+        return ConvertValue(output, (MultiTypePrimitive)input);
     }
 };
@@ -264,5 +264,5 @@
         return ConvertValue(output, input.getDegree());
       else
-        return false;
+        return ConvertValue(output, (MultiTypeString)input);
     }
 };
@@ -286,5 +286,5 @@
         return ConvertValue(output, input.getDegree());
       else
-        return false;
+        return ConvertValue(output, (MultiTypeString)input);
     }
 };
@@ -397,5 +397,8 @@
     bool operator()(orxonox::Vector2* output, const std::string& input) const
     {
-      SubString tokens(input, ",", SubString::WhiteSpaces, false, '\\', '"', '\0', '\0', '\0');
+      unsigned int opening_parenthesis, closing_parenthesis = input.find(')');
+      if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; }
+
+      SubString tokens(input.substr(opening_parenthesis, closing_parenthesis - opening_parenthesis), ",", SubString::WhiteSpaces, false, '\\', '"', '\0', '\0', '\0');
 
       if (tokens.size() >= 2)
@@ -420,5 +423,8 @@
     bool operator()(orxonox::Vector3* output, const std::string& input) const
     {
-      SubString tokens(input, ",", SubString::WhiteSpaces, false, '\\', '"', '\0', '\0', '\0');
+      unsigned int opening_parenthesis, closing_parenthesis = input.find(')');
+      if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; }
+
+      SubString tokens(input.substr(opening_parenthesis, closing_parenthesis - opening_parenthesis), ",", SubString::WhiteSpaces, false, '\\', '"', '\0', '\0', '\0');
 
       if (tokens.size() >= 3)
@@ -445,5 +451,8 @@
     bool operator()(orxonox::Vector4* output, const std::string& input) const
     {
-      SubString tokens(input, ",", SubString::WhiteSpaces, false, '\\', '"', '\0', '\0', '\0');
+      unsigned int opening_parenthesis, closing_parenthesis = input.find(')');
+      if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; }
+
+      SubString tokens(input.substr(opening_parenthesis, closing_parenthesis - opening_parenthesis), ",", SubString::WhiteSpaces, false, '\\', '"', '\0', '\0', '\0');
 
       if (tokens.size() >= 4)
@@ -472,5 +481,8 @@
     bool operator()(orxonox::Quaternion* output, const std::string& input) const
     {
-      SubString tokens(input, ",", SubString::WhiteSpaces, false, '\\', '"', '\0', '\0', '\0');
+      unsigned int opening_parenthesis, closing_parenthesis = input.find(')');
+      if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; }
+
+      SubString tokens(input.substr(opening_parenthesis, closing_parenthesis - opening_parenthesis), ",", SubString::WhiteSpaces, false, '\\', '"', '\0', '\0', '\0');
 
       if (tokens.size() >= 4)
@@ -499,5 +511,8 @@
     bool operator()(orxonox::ColourValue* output, const std::string& input) const
     {
-      SubString tokens(input, ",", SubString::WhiteSpaces, false, '\\', '"', '\0', '\0', '\0');
+      unsigned int opening_parenthesis, closing_parenthesis = input.find(')');
+      if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; }
+
+      SubString tokens(input.substr(opening_parenthesis, closing_parenthesis - opening_parenthesis), ",", SubString::WhiteSpaces, false, '\\', '"', '\0', '\0', '\0');
 
       if (tokens.size() >= 4)
Index: /code/branches/core/src/util/MultiTypeMath.cc
===================================================================
--- /code/branches/core/src/util/MultiTypeMath.cc	(revision 853)
+++ /code/branches/core/src/util/MultiTypeMath.cc	(revision 854)
@@ -95,23 +95,4 @@
 MultiTypeMath::operator orxonox::Vector3() const
 {
-std::cout << "4_2: Convert MultiTypeMath to Vector3:" << std::endl;
-std::cout << "     MultiTypeMath has type " << this->getType() << std::endl;
-std::cout << MT_vector3 << std::endl;
-std::cout << MT_string << std::endl;
-std::cout << MT_vector2 << std::endl;
-std::cout << MT_int << std::endl;
-std::cout << MT_uint << std::endl;
-std::cout << MT_null << std::endl;
-if (this->type_ == MT_vector3)
-{
-    std::cout << "     MultiTypeMath contains already a Vector3" << std::endl;
-    std::cout << "     Returnvalue is " << this->vector3_ << std::endl;
-}
-else
-{
-    std::cout << "     MultiTypeMath doesn't contain a Vector3" << std::endl;
-    std::cout << "     Returnvalue is " << ConvertValueAndReturn<MultiTypeMath, orxonox::Vector3>(*this) << std::endl;
-    std::cout << "     Returnvalue was " << ConvertValueAndReturn<MultiTypePrimitive, orxonox::Vector3>(*this) << std::endl;
-}
     return (this->type_ == MT_vector3) ? this->vector3_ : ConvertValueAndReturn<MultiTypeMath, orxonox::Vector3>(*this);
 }
Index: /code/branches/core/src/util/MultiTypeMath.h
===================================================================
--- /code/branches/core/src/util/MultiTypeMath.h	(revision 853)
+++ /code/branches/core/src/util/MultiTypeMath.h	(revision 854)
@@ -97,5 +97,5 @@
         using MultiTypeString::setValue;
         inline void setValue(const orxonox::Vector2&     value) { this->type_ = MT_vector2;     this->vector2_     = value; }
-        inline void setValue(const orxonox::Vector3&     value) { std::cout << "4_4: setValue Vector3: " << value << std::endl; this->type_ = MT_vector3;     this->vector3_     = value; }
+        inline void setValue(const orxonox::Vector3&     value) { this->type_ = MT_vector3;     this->vector3_     = value; }
         inline void setValue(const orxonox::ColourValue& value) { this->type_ = MT_colourvalue; this->colourvalue_ = value; }
         inline void setValue(const orxonox::Quaternion&  value) { this->type_ = MT_quaternion;  this->quaternion_  = value; }
Index: /code/branches/core/src/util/MultiTypePrimitive.cc
===================================================================
--- /code/branches/core/src/util/MultiTypePrimitive.cc	(revision 853)
+++ /code/branches/core/src/util/MultiTypePrimitive.cc	(revision 854)
@@ -32,5 +32,4 @@
 MultiTypePrimitive::MultiTypePrimitive(MultiType type)
 {
-std::cout << "4_5: Created MultiTypePrimitive with type " << type << std::endl;
     this->type_ = type;
 
@@ -191,5 +190,4 @@
 void MultiTypePrimitive::setValue(const MultiTypePrimitive& mtp)
 {
-    std::cout << "4_3: setValue in MultiTypePrimitive with other Multitype as parameter: " << mtp << std::endl;
     this->type_ = mtp.type_;
     this->value_ = mtp.value_;
Index: /code/branches/core/src/util/MultiTypeString.h
===================================================================
--- /code/branches/core/src/util/MultiTypeString.h	(revision 853)
+++ /code/branches/core/src/util/MultiTypeString.h	(revision 854)
@@ -53,5 +53,5 @@
         inline MultiTypeString(bool           value) : MultiTypePrimitive(value) {}
         inline MultiTypeString(const char*        value)   { this->setValue(value); }
-        inline MultiTypeString(const std::string& value)   { this->setValue(value); std::cout << "4_1: Created MultiTypeString with value " << value << " and type " << this->getType() << std::endl; }
+        inline MultiTypeString(const std::string& value)   { this->setValue(value); }
         inline MultiTypeString(const MultiTypeString& mts) { this->setValue(mts);   }
 
