diff --git a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/res/AsynchronousOpenCVRecorder.ui b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/res/AsynchronousOpenCVRecorder.ui
index d37354936b6e17cb45256f2635b3da5ee5ab6de6..20fc970d03e824baa7171c9c153f737336db6fae 100644
--- a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/res/AsynchronousOpenCVRecorder.ui
+++ b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/res/AsynchronousOpenCVRecorder.ui
@@ -101,19 +101,6 @@
      <string>ColorProcessing</string>
     </property>
    </widget>
-   <widget class="QPushButton" name="pushButton">
-    <property name="geometry">
-     <rect>
-      <x>520</x>
-      <y>540</y>
-      <width>89</width>
-      <height>25</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>PushButton</string>
-    </property>
-   </widget>
   </widget>
  </widget>
  <layoutdefault spacing="6" margin="11"/>
diff --git a/recorder/obj/moc_mainwindow.cpp b/recorder/obj/moc_mainwindow.cpp
index db7db12a53a9133719ba5b4db016801ace1a9653..299f62b9624cd40b02f06e72a4ed44d78c8c7dfd 100644
--- a/recorder/obj/moc_mainwindow.cpp
+++ b/recorder/obj/moc_mainwindow.cpp
@@ -23,7 +23,7 @@ QT_WARNING_PUSH
 QT_WARNING_DISABLE_DEPRECATED
 struct qt_meta_stringdata_MainWindow_t {
     const uint offsetsAndSize[8];
-    char stringdata0[43];
+    char stringdata0[26];
 };
 #define QT_MOC_LITERAL(ofs, len) \
     uint(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs), len 
@@ -32,10 +32,10 @@ static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = {
 QT_MOC_LITERAL(0, 10), // "MainWindow"
 QT_MOC_LITERAL(11, 3), // "log"
 QT_MOC_LITERAL(15, 0), // ""
-QT_MOC_LITERAL(16, 26) // "on_button_listcams_clicked"
+QT_MOC_LITERAL(16, 9) // "checkCams"
 
     },
-    "MainWindow\0log\0\0on_button_listcams_clicked"
+    "MainWindow\0log\0\0checkCams"
 };
 #undef QT_MOC_LITERAL
 
@@ -54,7 +54,7 @@ static const uint qt_meta_data_MainWindow[] = {
 
  // slots: name, argc, parameters, tag, flags, initial metatype offsets
        1,    1,   26,    2, 0x0a,    1 /* Public */,
-       3,    0,   29,    2, 0x08,    3 /* Private */,
+       3,    0,   29,    2, 0x0a,    3 /* Public */,
 
  // slots: parameters
     QMetaType::Void, QMetaType::QString,    2,
@@ -70,7 +70,7 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id,
         (void)_t;
         switch (_id) {
         case 0: _t->log((*reinterpret_cast< std::add_pointer_t<QString>>(_a[1]))); break;
-        case 1: _t->on_button_listcams_clicked(); break;
+        case 1: _t->checkCams(); break;
         default: ;
         }
     }
diff --git a/recorder/src/mainwindow.cpp b/recorder/src/mainwindow.cpp
index e90ce2248eea9ee0c67cef100cd2f80c7f476f26..72d4ebe26e23712f1d625c7579287e9f79d7cbe7 100644
--- a/recorder/src/mainwindow.cpp
+++ b/recorder/src/mainwindow.cpp
@@ -3,7 +3,7 @@
 
 #include "../obj/ui_mainwindow.h"
 #include <QDebug>
-#include <QPushButton>
+// #include <QPushButton>
 
 #include <unistd.h>
 #include <iostream>
@@ -14,22 +14,22 @@ using namespace AVT::VmbAPI;
 MainWindow::MainWindow(QWidget *parent)
 : QMainWindow(parent)
 , ui(new Ui::MainWindow)
-  , sys(VimbaSystem::GetInstance()) // Create and get Vimba singleton
-  {
+, sys(VimbaSystem::GetInstance()) // Create and get Vimba singleton
+, cameras(CameraPtrVector())
+{
     ui->setupUi(this);
-    // QMetaObject::connectSlotsByName(this); //sseems to be done automagically
-    // QObject::connect(&ui->button_listcams, &QPushButton::clicked(), list_cams);
-
+    QObject::connect(ui->b_update, SIGNAL(clicked()), this, SLOT(checkCams()));
     log(getVersionString());
 
     if ( VmbErrorSuccess == sys.Startup() )
     {
       log( " Started Vimba C++ Api" );
+      checkCams();
   }
   else
   {
-      log( " Failed to start Vimba C++ Api" );
-  }
+    log( " Failed to start Vimba C++ Api" );
+}
 }
 
 MainWindow::~MainWindow()
@@ -45,14 +45,20 @@ MainWindow::~MainWindow()
   delete ui;
 }
 
-// void MainWindow::foo()
+// void MainWindow::open()
 // {
-//     VimbaSystem::RegisterCameraListObserver
+//     //open 1rst cam in list
+//     if ( VmbErrorSuccess == (* iter)->Open( VmbAccessModeFull ) )
+//     {
+//         std :: cout << " Camera opened " << std :: endl;
+//     }
+// ID can be IP / MAC / ID
+//  sys->OpenCameraByID
 // }
 
-void MainWindow::on_button_listcams_clicked()
+// void MainWindow::on_b_listcams_clicked()
+void MainWindow::checkCams()
 {
-    CameraPtrVector cameras;                           // A vector of std::shared_ptr<AVT::VmbAPI::Camera> objects
     VmbErrorType err = sys.GetCameras( cameras );            // Fetch all cameras known to Vimba
     if( VmbErrorSuccess == err )
     {
@@ -100,12 +106,14 @@ void MainWindow::printCamInfo( const CameraPtr &camera )
     "\n/// @ Interface ID : " + strInterfaceID + "\n\n";
 
     log( QString::fromStdString(caminfo));
+
+    // ui->lw_cams->
 }
 
 
 void MainWindow::log(const QString& msg)
 {
     //for std::string, use: log(QString::fromStdString(msg))
-    ui->logWidget->insertItem( 0, msg );
+    ui->lw_log->insertItem( 0, msg );
     qDebug() << msg;
 }
diff --git a/recorder/src/mainwindow.h b/recorder/src/mainwindow.h
index f684e7590918594484ec7c78f2ffcc061156d899..0a8ed61b0bc83f3674a5fca3ed2d1a7e4cd46711 100644
--- a/recorder/src/mainwindow.h
+++ b/recorder/src/mainwindow.h
@@ -2,7 +2,9 @@
 #define MAINWINDOW_H
 
 #include <QMainWindow>
-#include "VimbaCPP/Include/VimbaCPP.h"
+#include <VimbaCPP/Include/VimbaCPP.h>
+#include <VimbaCPP/Include/SharedPointerDefines.h>
+// #include <VimbaCPP/Include/Camera.h>
 
 QT_BEGIN_NAMESPACE
 namespace Ui { class MainWindow; }
@@ -10,6 +12,7 @@ QT_END_NAMESPACE
 
 namespace AVT { namespace VmbAPI { class VimbaSystem; } }
 
+
 class MainWindow : public QMainWindow
 {
     Q_OBJECT
@@ -21,13 +24,14 @@ public:
 public slots:
     void log(const QString&);
 
-private slots:
-    void on_button_listcams_clicked();
+// private slots:
+    void checkCams();
 
 private:
     void printCamInfo( const AVT::VmbAPI::CameraPtr &camera );
 
     Ui::MainWindow *ui;
     AVT::VmbAPI::VimbaSystem &sys;
+    AVT::VmbAPI::CameraPtrVector cameras;
 };
 #endif // MAINWINDOW_H
diff --git a/recorder/src/mainwindow.ui b/recorder/src/mainwindow.ui
index 8789cfd9830a39101a5be4bdc07e23179e57edfa..8b0ce1fe27e61ea910d73b0766a483366aa31383 100644
--- a/recorder/src/mainwindow.ui
+++ b/recorder/src/mainwindow.ui
@@ -13,21 +13,7 @@
   <property name="windowTitle">
    <string>MainWindow</string>
   </property>
-  <widget class="QWidget" name="centralwidget">
-   <widget class="QPushButton" name="button_listcams">
-    <property name="geometry">
-     <rect>
-      <x>61</x>
-      <y>260</y>
-      <width>89</width>
-      <height>25</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>list cams</string>
-    </property>
-   </widget>
-  </widget>
+  <widget class="QWidget" name="centralwidget"/>
   <widget class="QMenuBar" name="menubar">
    <property name="geometry">
     <rect>
@@ -46,7 +32,26 @@
    <widget class="QWidget" name="dockWidgetContents">
     <layout class="QVBoxLayout" name="verticalLayout">
      <item>
-      <widget class="QListWidget" name="logWidget"/>
+      <widget class="QListWidget" name="lw_log"/>
+     </item>
+    </layout>
+   </widget>
+  </widget>
+  <widget class="QDockWidget" name="dockWidget_2">
+   <attribute name="dockWidgetArea">
+    <number>1</number>
+   </attribute>
+   <widget class="QWidget" name="dockWidgetContents_2">
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <item>
+      <widget class="QPushButton" name="b_update">
+       <property name="text">
+        <string>update</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QListWidget" name="lw_cams"/>
      </item>
     </layout>
    </widget>