Index: trunk/src/lib/util/executor/executor.cc
===================================================================
--- trunk/src/lib/util/executor/executor.cc	(revision 7720)
+++ trunk/src/lib/util/executor/executor.cc	(revision 7721)
@@ -33,5 +33,5 @@
                    const MultiType& param4)
 {
-//  this->setClassID(CL_EXECUTOR, "Executor");
+  this->setClassID(CL_EXECUTOR, "Executor");
 
   // What Parameters have we got
Index: trunk/src/lib/util/executor/executor_functional.h
===================================================================
--- trunk/src/lib/util/executor/executor_functional.h	(revision 7720)
+++ trunk/src/lib/util/executor/executor_functional.h	(revision 7721)
@@ -23,29 +23,31 @@
 #define __EXECUTOR_FUNCTIONAL_H_
 
-
+#include "base_object.h"
+#include "multi_type.h"
+#include "executor.h"
 
 template<typename type> MT_Type ExecutorParamType() { return MT_EXT1; };
-template<> MT_Type ExecutorParamType<bool>() { return MT_EXT1; };
-template<> MT_Type ExecutorParamType<int>() { return MT_INT; };
-template<> MT_Type ExecutorParamType<unsigned int>() { return MT_UINT; };
-template<> MT_Type ExecutorParamType<float>() { return MT_FLOAT; };
-template<> MT_Type ExecutorParamType<char>() { return MT_CHAR; };
-template<> MT_Type ExecutorParamType<const std::string&>() { return MT_STRING; };
+template<> MT_Type ExecutorParamType<bool>();
+template<> MT_Type ExecutorParamType<int>();
+template<> MT_Type ExecutorParamType<unsigned int>();
+template<> MT_Type ExecutorParamType<float>();
+template<> MT_Type ExecutorParamType<char>();
+template<> MT_Type ExecutorParamType<const std::string&>();
 
 template<typename type> type fromString(const std::string& input, type defaultValue) {return defaultValue; };
-template<> bool fromString<bool>(const std::string& input, bool defaultValue) { return isBool(input, defaultValue); };
-template<> int fromString<int>(const std::string& input, int defaultValue) { return isInt(input, defaultValue); };
-template<> unsigned int fromString<unsigned int>(const std::string& input, unsigned int defaultValue) { return isInt(input, defaultValue); };
-template<> float fromString<float>(const std::string& input, float defaultValue) { return isFloat(input, defaultValue); };
-template<> char fromString<char>(const std::string& input, char defaultValue) { return isInt(input, defaultValue); };
-template<> const std::string& fromString<const std::string&>(const std::string& input, const std::string& defaultValue) { static std::string retVal = isString(input, defaultValue); return retVal; };
+template<> bool fromString<bool>(const std::string& input, bool defaultValue);
+template<> int fromString<int>(const std::string& input, int defaultValue);
+template<> unsigned int fromString<unsigned int>(const std::string& input, unsigned int defaultValue);
+template<> float fromString<float>(const std::string& input, float defaultValue);
+template<> char fromString<char>(const std::string& input, char defaultValue);
+template<> const std::string& fromString<const std::string&>(const std::string& input, const std::string& defaultValue);
 
 template<typename type> type getDefault(const MultiType* const defaultValues, unsigned int i) { return (type)0; };
-template<> bool getDefault<bool>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getBool(); };
-template<> int getDefault<int>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getInt(); };
-template<> unsigned int getDefault<unsigned int>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getInt(); };
-template<> float getDefault<float>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getFloat(); };
-template<> char getDefault<char>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getChar(); };
-template<> const std::string& getDefault<const std::string&>(const MultiType* const defaultValues, unsigned int i) { static std::string retVal = defaultValues[i].getString(); return retVal; };
+template<> bool getDefault<bool>(const MultiType* const defaultValues, unsigned int i);
+template<> int getDefault<int>(const MultiType* const defaultValues, unsigned int i);
+template<> unsigned int getDefault<unsigned int>(const MultiType* const defaultValues, unsigned int i);
+template<> float getDefault<float>(const MultiType* const defaultValues, unsigned int i);
+template<> char getDefault<char>(const MultiType* const defaultValues, unsigned int i);
+template<> const std::string& getDefault<const std::string&>(const MultiType* const defaultValues, unsigned int i);
 
 #endif /* __EXECUTOR_FUNCTIONAL_H_ */
