Index: code/branches/console/src/core/CommandExecutor.cc
===================================================================
--- code/branches/console/src/core/CommandExecutor.cc	(revision 1197)
+++ code/branches/console/src/core/CommandExecutor.cc	(revision 1198)
@@ -36,4 +36,5 @@
 #include "Executor.h"
 #include "ConfigValueContainer.h"
+#include "TclBind.h"
 
 #define COMMAND_EXECUTOR_KEYWORD_SET_CONFIG_VALUE "set"
@@ -379,10 +380,17 @@
     }
 
-    bool CommandExecutor::execute(const std::string& command)
-    {
-        if ((CommandExecutor::getEvaluation().processedCommand_ != command) || (CommandExecutor::getEvaluation().state_ == CS_Uninitialized))
-            CommandExecutor::parse(command);
-
-        return CommandExecutor::execute(CommandExecutor::getEvaluation());
+    bool CommandExecutor::execute(const std::string& command, bool useTcl)
+    {
+        if (useTcl)
+        {
+            return TclBind::eval(command);
+        }
+        else
+        {
+            if ((CommandExecutor::getEvaluation().processedCommand_ != command) || (CommandExecutor::getEvaluation().state_ == CS_Uninitialized))
+                CommandExecutor::parse(command);
+
+            return CommandExecutor::execute(CommandExecutor::getEvaluation());
+        }
     }
 
Index: code/branches/console/src/core/CommandExecutor.h
===================================================================
--- code/branches/console/src/core/CommandExecutor.h	(revision 1197)
+++ code/branches/console/src/core/CommandExecutor.h	(revision 1198)
@@ -131,5 +131,5 @@
     {
         public:
-            static bool execute(const std::string& command);
+            static bool execute(const std::string& command, bool useTcl = true);
             static bool execute(const CommandEvaluation& evaluation);
 
Index: code/branches/console/src/core/CorePrereqs.h
===================================================================
--- code/branches/console/src/core/CorePrereqs.h	(revision 1197)
+++ code/branches/console/src/core/CorePrereqs.h	(revision 1198)
@@ -139,4 +139,5 @@
   template <class T>
   class SubclassIdentifier;
+  class TclBind;
   class Tickable;
   template <class T, class O>
Index: code/branches/console/src/core/TclBind.cc
===================================================================
--- code/branches/console/src/core/TclBind.cc	(revision 1197)
+++ code/branches/console/src/core/TclBind.cc	(revision 1198)
@@ -71,6 +71,8 @@
             this->interpreter_ = new Tcl::interpreter(this->tclLibPath_);
             this->interpreter_->def("puts", TclBind::puts, Tcl::variadic());
+            this->interpreter_->def("orxonox", TclBind::orxonox, Tcl::variadic());
             this->interpreter_->def("execute", TclBind::execute, Tcl::variadic());
-            this->interpreter_->eval("proc unknown {args} { return [execute $args] }");
+            this->interpreter_->eval("proc unknown {args} { return [orxonox $args] }");
+            this->interpreter_->eval("rename exit tclexit; proc exit {} { orxonox exit }");
         }
     }
@@ -92,5 +94,5 @@
     }
 
-    std::string TclBind::execute(Tcl::object const &args)
+    std::string TclBind::orxonox(Tcl::object const &args)
     {
 std::cout << "Tcl_execute: args: " << args.get() << std::endl;
@@ -100,5 +102,5 @@
             command = command.substr(1, command.size() - 2);
 
-        if (!CommandExecutor::execute(command))
+        if (!CommandExecutor::execute(command, false))
             COUT(1) << "Error: Can't execute command \"" << command << "\"!" << std::endl;
 
@@ -107,4 +109,8 @@
 
         return "";
+    }
+
+    void TclBind::execute(Tcl::object const &args)
+    {
     }
 
@@ -129,3 +135,22 @@
         return "";
     }
+
+    bool TclBind::eval(const std::string& tclcode)
+    {
+        try
+        {
+            TclBind::getInstance().interpreter_->eval(tclcode);
+            return true;
+        }
+        catch (Tcl::tcl_error const &e)
+        {
+            COUT(1) << "Error: " << e.what() << std::endl;
+        }
+        catch (std::exception const &e)
+        {
+            COUT(1) << "Error while executing tcl: " << e.what() << std::endl;
+        }
+
+        return false;
+    }
 }
Index: code/branches/console/src/core/TclBind.h
===================================================================
--- code/branches/console/src/core/TclBind.h	(revision 1197)
+++ code/branches/console/src/core/TclBind.h	(revision 1198)
@@ -30,4 +30,6 @@
 #define _TclBind_H__
 
+#include "CorePrereqs.h"
+
 #include "cpptcl/CppTcl.h"
 
@@ -44,6 +46,8 @@
 
             static void puts(Tcl::object const &args);
-            static std::string execute(Tcl::object const &args);
+            static void execute(Tcl::object const &args);
+            static std::string orxonox(Tcl::object const &args);
             static std::string tcl(const std::string& tclcode);
+            static bool TclBind::eval(const std::string& tclcode);
 
         private:
