diff --git a/src/cmd/console.cpp b/src/cmd/console.cpp
index 1968fdf573c82da00d3e86378b2c3790359bf39d..19b662c358c4f69384d768c53f94a950da527f70 100644
--- a/src/cmd/console.cpp
+++ b/src/cmd/console.cpp
@@ -55,21 +55,15 @@ void Console::printList(const QStringList& list )
 	}
 }
 
-Controller::Controller()
+// ###############################
+// Controller
+Controller::Controller() : console(new Console())
 {
-	Console* console = new Console;
 	console->moveToThread(&thread);
 	connect(&thread, &QThread::finished, console, &QObject::deleteLater);
 	connect(this, &Controller::operate, console, &Console::listenKeys);
 	connect(console, &Console::keyPressed, this, &Controller::keyPress);
 
-	//just delegate to console
-	// connect(this, &Controller::err, console, &Console::err, Qt::DirectConnection);
-	connect(this, SIGNAL(error(const QString&,const int&)), console, SLOT(error(const QString&,const int&)), Qt::DirectConnection);
-	connect(this, SIGNAL(error(const int&)), console, SLOT(error(const int&)), Qt::DirectConnection);
-	connect(this, &Controller::print, console, &Console::print, Qt::DirectConnection);
-	connect(this, &Controller::printList, console, &Console::printList, Qt::DirectConnection);
-
 	thread.start();
 }
 
diff --git a/src/cmd/console.h b/src/cmd/console.h
index 4d34cd9385907258ecebda27d99b1da6e7b09d7f..31736fd6721bd254b16714c810a2a7b655cd9214 100644
--- a/src/cmd/console.h
+++ b/src/cmd/console.h
@@ -31,6 +31,7 @@ class Controller : public QObject
 	public:
 		Controller();
 		~Controller();
+		Console* console;
 
 	public slots:
 		void keyPress(const QChar &);
diff --git a/src/cmd/core.cpp b/src/cmd/core.cpp
index 129352cf1cf583c3383c33bfb355f49467143402..f8d8103187a821bfd3a0c1d8086decc8d087aa21 100644
--- a/src/cmd/core.cpp
+++ b/src/cmd/core.cpp
@@ -238,7 +238,7 @@ void Core::record()
 	// pFeature ->
 
 	// Program runtime
-	QThread::sleep(3);
+	QThread::sleep(2);
 
 
 	// Stop the acquisition engine ( curCam)
diff --git a/src/cmd/main.cpp b/src/cmd/main.cpp
index eacc5c0442f67c711eac74caa8e4a1742e9c9834..00d57da038ffe2c4838515f8e1be03f22c2597cd 100644
--- a/src/cmd/main.cpp
+++ b/src/cmd/main.cpp
@@ -1,6 +1,7 @@
 #include "../utils.h"
 #include "console.h"
 #include "core.h"
+#include "qnamespace.h"
 
 #include <QCoreApplication>
 #include <QCommandLineParser>
@@ -26,11 +27,11 @@ int main(int argc, char *argv[])
 	QObject::connect(&controller, &Controller::record, &core, &Core::record);
 	// XXX add new func
 
-	//vmb (core) -> ui (controller)
-	QObject::connect(&core, SIGNAL(error(const QString&, const int&)), &controller, SIGNAL(error(const QString&, const int&)));
-	QObject::connect(&core, SIGNAL(error(const int&)), &controller, SIGNAL(error(const int&)));
-	QObject::connect(&core, &Core::print, &controller, &Controller::print);
-	QObject::connect(&core, &Core::printList, &controller, &Controller::printList);
+	//vmb (core) -> ui (controller.console)
+	QObject::connect(&core, SIGNAL(error(const QString&, const int&)), controller.console, SLOT(error(const QString&, const int&)),Qt::DirectConnection);
+	QObject::connect(&core, SIGNAL(error(const int&)), controller.console, SLOT(error(const int&)),Qt::DirectConnection);
+	QObject::connect(&core, SIGNAL(print(const QString&)), controller.console, SLOT(print(const QString&)),Qt::DirectConnection);
+	QObject::connect(&core, SIGNAL(printList(const QStringList&)), controller.console, SLOT(printList(const QStringList&)),Qt::DirectConnection);
 	// sa Controller() for delegating to Console
 
 	QTimer::singleShot(0, &controller, SIGNAL(operate()));