diff --git a/cli.ui b/cli.ui
index 7c308bb..082e214 100644
--- a/cli.ui
+++ b/cli.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
- <class>widget</class>
- <widget class="QWidget" name="widget">
+ <class>OpenCommandLineWindowDialog</class>
+ <widget class="QWidget" name="OpenCommandLineWindowDialog">
   <property name="geometry">
    <rect>
     <x>0</x>
@@ -18,7 +18,7 @@
   </property>
   <layout class="QGridLayout" name="gridLayout">
    <item row="0" column="0">
-    <widget class="QPlainTextEdit" name="plainTextEdit">
+    <widget class="QPlainTextEdit" name="commandPlainTextEdit">
      <property name="layoutDirection">
       <enum>Qt::LeftToRight</enum>
      </property>
diff --git a/main_window.cpp b/main_window.cpp
index 10bbb6d..8f4f48d 100644
--- a/main_window.cpp
+++ b/main_window.cpp
@@ -33,6 +33,9 @@ void MainWindow::setFileMenu(void) {
             &this->create_workspace_dialog, SLOT(changeWorkspace()));
     connect(main_ui_->actionExit, SIGNAL(triggered()),
             simApp, SLOT(closeAllWindows()));
+
+    connect(main_ui_->actionCommandLineWindow, SIGNAL(triggered()),
+            &this->open_command_line_window_dialog, SLOT(openCommandLineWindow()));
 }

 MainWindow::~MainWindow() {
diff --git a/main_window.h b/main_window.h
index 48f7035..2ca7de9 100644
--- a/main_window.h
+++ b/main_window.h
@@ -4,6 +4,7 @@
 #include <QMainWindow>
 #include "open_checkpoint_dialog.h"
 #include "create_workspace_dialog.h"
+#include "open_command_line_window_dialog.h"

 namespace Ui {
     class MainWindow;
@@ -21,7 +22,6 @@ private:
     void setEditMenu(void);
     void setRunMenu(void);
     void setDebugMenu(void);
-    void setToolsMenu(void);
     void setWindowMenu(void);
     void setHelpMenu(void);
 signals:
@@ -35,10 +35,15 @@ private slots:
     void runPythonFile(void);

 private:
+    void setToolsMenu(void);
+signals:
+private slots:
+
+private:
     Ui::MainWindow *main_ui_;
     OpenCheckpointDialog open_checkpoint_dialog;
     CreateWorkspaceDialog create_workspace_dialog;
-
+    OpenCommandLineWindowDialog open_command_line_window_dialog;
 };

 #endif
diff --git a/main_window_tools_slots.cpp b/main_window_tools_slots.cpp
index 8b13789..491114b 100644
--- a/main_window_tools_slots.cpp
+++ b/main_window_tools_slots.cpp
@@ -1 +1,7 @@
+#include "main_window.h"
+#include "ui_cli.h"
+
+void MainWindow::openCommandLineWindow(void) {
+
+}

diff --git a/open_checkpoint_dialog_slots.cpp b/open_checkpoint_dialog_slots.cpp
index 98dfb66..307cc56 100644
--- a/open_checkpoint_dialog_slots.cpp
+++ b/open_checkpoint_dialog_slots.cpp
@@ -1,6 +1,5 @@
 #include "open_checkpoint_dialog.h"
 #include "ui_open_checkpoint_dialog.h"
-#include <cstdio>

 void OpenCheckpointDialog::openCheckpoint(void) {
     this->show();
diff --git a/open_command_line_window_dialog.cpp b/open_command_line_window_dialog.cpp
index e69de29..c004a85 100644
--- a/open_command_line_window_dialog.cpp
+++ b/open_command_line_window_dialog.cpp
@@ -0,0 +1,13 @@
+#include "open_command_line_window_dialog.h"
+#include "ui_cli.h"
+
+OpenCommandLineWindowDialog::OpenCommandLineWindowDialog(QWidget *parent) :
+    QWidget(parent),
+    open_command_line_window_dialog_ui_(new Ui::OpenCommandLineWindowDialog) {
+    open_command_line_window_dialog_ui_->setupUi(this);
+}
+
+OpenCommandLineWindowDialog::~OpenCommandLineWindowDialog() {
+    delete open_command_line_window_dialog_ui_;
+}
+
diff --git a/open_command_line_window_dialog.h b/open_command_line_window_dialog.h
index e69de29..39817f9 100644
--- a/open_command_line_window_dialog.h
+++ b/open_command_line_window_dialog.h
@@ -0,0 +1,24 @@
+#ifndef OPEN_COMMAND_WINDOW_DIALOG_H
+#define OPEN_COMMAND_WINDOW_DIALOG_H
+
+#include <QWidget>
+
+namespace Ui {
+    class OpenCommandLineWindowDialog;
+}
+
+class OpenCommandLineWindowDialog : public QWidget {
+    Q_OBJECT
+
+public:
+    explicit OpenCommandLineWindowDialog(QWidget *parent = 0);
+    ~OpenCommandLineWindowDialog();
+
+private slots:
+    void openCommandLineWindow(void);
+
+private:
+    Ui::OpenCommandLineWindowDialog *open_command_line_window_dialog_ui_;
+};
+
+#endif
diff --git a/open_command_line_window_dialog_slots.cpp b/open_command_line_window_dialog_slots.cpp
index e69de29..eed1f09 100644
--- a/open_command_line_window_dialog_slots.cpp
+++ b/open_command_line_window_dialog_slots.cpp
@@ -0,0 +1,6 @@
+#include "open_command_line_window_dialog.h"
+#include "ui_cli.h"
+
+void OpenCommandLineWindowDialog::openCommandLineWindow(void) {
+    this->show();
+}
diff --git a/sim-qt.pro b/sim-qt.pro
index df3bf47..86257e3 100644
--- a/sim-qt.pro
+++ b/sim-qt.pro
@@ -20,11 +20,14 @@ SOURCES += main.cpp\
            open_checkpoint_dialog_slots.cpp\
            create_workspace_dialog.cpp\
            create_workspace_dialog_slots.cpp\
+           open_command_line_window_dialog.cpp\
+           open_command_line_window_dialog_slots.cpp\
            sim_application.cpp

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

 FORMS += cli.ui main_window.ui open_checkpoint_dialog.ui create_workspace_dialog.ui
diff --git a/sim-qt.pro b/sim-qt.pro
index df3bf47..86257e3 100644
--- a/sim-qt.pro
+++ b/sim-qt.pro
@@ -20,11 +20,14 @@ SOURCES += main.cpp\
            open_checkpoint_dialog_slots.cpp\
            create_workspace_dialog.cpp\
            create_workspace_dialog_slots.cpp\
+           open_command_line_window_dialog.cpp\
+           open_command_line_window_dialog_slots.cpp\
            sim_application.cpp

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

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