diff --git a/create_workspace_dialog.h b/create_workspace_dialog.h
index e164a92..4c761fd 100644
--- a/create_workspace_dialog.h
+++ b/create_workspace_dialog.h
@@ -13,6 +13,8 @@ class CreateWorkspaceDialog : public QWidget {
 public:
     explicit CreateWorkspaceDialog(QWidget *parent = 0);
     ~CreateWorkspaceDialog();
+private slots:
+    void createWorkspace(void);
 private:
     Ui::CreateWorkspaceDialog *create_workspace_dialog_ui_;
 };
diff --git a/create_workspace_dialog_slots.cpp b/create_workspace_dialog_slots.cpp
index e69de29..2162db7 100644
--- a/create_workspace_dialog_slots.cpp
+++ b/create_workspace_dialog_slots.cpp
@@ -0,0 +1,6 @@
+#include "create_workspace_dialog.h"
+#include "ui_create_workspace_dialog.h"
+
+void CreateWorkspaceDialog::createWorkspace(void) {
+    this->show();
+}
diff --git a/main_window.cpp b/main_window.cpp
index b4bae31..e426b26 100644
--- a/main_window.cpp
+++ b/main_window.cpp
@@ -15,18 +15,24 @@ MainWindow::MainWindow(QWidget *parent) :
 }

 void MainWindow::setFileMenu(void) {
-    connect(main_ui_->actionNewEmptySession, SIGNAL(triggered()), this, SLOT(newEmptySession()));
-    connect(main_ui_->actionNewSessionFromScript, SIGNAL(triggered()), this, SLOT(newSessionFromScript()));
-    connect(main_ui_->actionOpenCheckpoint, SIGNAL(triggered()), this, SLOT(openCheckpoint()));
-    connect(main_ui_->actionAppendFromScript, SIGNAL(triggered()), this, SLOT(appendFromScript()));
-    connect(main_ui_->actionAppendFromCheckpoint, SIGNAL(triggered()), this, SLOT(appendFromCheckpoint()));
-    connect(main_ui_->actionRunPythonFile, SIGNAL(triggered()), this, SLOT(runPythonFile()));
-    connect(main_ui_->actionExit, SIGNAL(triggered()), simApp, SLOT(closeAllWindows()));
+    connect(main_ui_->actionNewEmptySession, SIGNAL(triggered()),
+            this, SLOT(newEmptySession()));
+    connect(main_ui_->actionNewSessionFromScript, SIGNAL(triggered()),
+            this, SLOT(newSessionFromScript()));
+    connect(main_ui_->actionOpenCheckpoint, SIGNAL(triggered()),
+            this, SLOT(openCheckpoint()));
+    connect(main_ui_->actionAppendFromScript, SIGNAL(triggered()),
+            this, SLOT(appendFromScript()));
+    connect(main_ui_->actionAppendFromCheckpoint, SIGNAL(triggered()),
+            this, SLOT(appendFromCheckpoint()));
+    connect(main_ui_->actionRunPythonFile, SIGNAL(triggered()),
+            this, SLOT(runPythonFile()));
+    connect(main_ui_->actionCreateWorkspace, SIGNAL(triggered()),
+            &this->create_workspace_dialog, SLOT(createWorkspace()));
+    connect(main_ui_->actionExit, SIGNAL(triggered()),
+            simApp, SLOT(closeAllWindows()));
 }

-
-
-MainWindow::~MainWindow()
-{
+MainWindow::~MainWindow() {
     delete main_ui_;
 }
diff --git a/main_window.h b/main_window.h
index 062704c..6ed4796 100644
--- a/main_window.h
+++ b/main_window.h
@@ -2,6 +2,7 @@
 #define MAIN_WINDOW_H

 #include <QMainWindow>
+#include "create_workspace_dialog.h"

 namespace Ui {
     class MainWindow;
@@ -27,10 +28,9 @@ private slots:
     bool loadPresistentState(void);
     bool savePresitentState(void);
     void runPythonFile(void);
-    void createWorkspace(void);
-    void changeWorkspace(void);
 private:
     Ui::MainWindow *main_ui_;
+    CreateWorkspaceDialog create_workspace_dialog;
 };

 #endif
diff --git a/main_window_file_slots.cpp b/main_window_file_slots.cpp
index 898bd02..587a5e8 100644
--- a/main_window_file_slots.cpp
+++ b/main_window_file_slots.cpp
@@ -55,11 +55,3 @@ void MainWindow::runPythonFile(void) {
                                                       tr("Python files (*.py)"));
 }

-void MainWindow::createWorkspace(void) {
-
-}
-
-void MainWindow::changeWorkspace(void) {
-
-}
-
diff --git a/sim-qt.pro b/sim-qt.pro
index e2424a8..b8ab8a5 100644
--- a/sim-qt.pro
+++ b/sim-qt.pro
@@ -16,9 +16,12 @@ CONFIG  +=  console plugin link_pkgconfig
 SOURCES += main.cpp\
 		   main_window.cpp\
            main_window_file_slots.cpp\
+           create_workspace_dialog.cpp\
+           create_workspace_dialog_slots.cpp\
            sim_application.cpp

 HEADERS += main_window.h\
            sim_application.h\
+           create_workspace_dialog.h

-FORMS += cli.ui main_window.ui
+FORMS += cli.ui main_window.ui create_workspace_dialog.ui