diff --git a/cli.ui b/cli.ui
index e69de29..7c308bb 100644
--- a/cli.ui
+++ b/cli.ui
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>widget</class>
+ <widget class="QWidget" name="widget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>694</width>
+    <height>423</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Sim Command Line</string>
+  </property>
+  <property name="layoutDirection">
+   <enum>Qt::LeftToRight</enum>
+  </property>
+  <layout class="QGridLayout" name="gridLayout">
+   <item row="0" column="0">
+    <widget class="QPlainTextEdit" name="plainTextEdit">
+     <property name="layoutDirection">
+      <enum>Qt::LeftToRight</enum>
+     </property>
+     <property name="autoFillBackground">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/main.cpp b/main.cpp
index e69de29..a9a208b 100644
--- a/main.cpp
+++ b/main.cpp
@@ -0,0 +1,14 @@
+#include "sim_application.h"
+#include "main_window.h"
+
+int main(int argc, char *argv[])
+{
+    SimApplication sim_app(argc, argv);
+    MainWindow *main_w;
+
+    main_w = new(MainWindow);
+    main_w->show();
+
+    return simApp->exec();
+}
+
diff --git a/main_window.cpp b/main_window.cpp
index e69de29..b7379a3 100644
--- a/main_window.cpp
+++ b/main_window.cpp
@@ -0,0 +1,19 @@
+#include "main_window.h"
+#include "ui_main_window.h"
+
+#include <QAction>
+#include <QTreeWidget>
+
+static MainWindow *gbl_cur_main_window = NULL;
+
+MainWindow::MainWindow(QWidget *parent) :
+    QMainWindow(parent),
+    main_ui_(new Ui::MainWindow) {
+    gbl_cur_main_window = this;
+    main_ui_->setupUi(this);
+}
+
+MainWindow::~MainWindow()
+{
+    delete main_ui_;
+}
diff --git a/main_window.h b/main_window.h
index e69de29..318d84e 100644
--- a/main_window.h
+++ b/main_window.h
@@ -0,0 +1,22 @@
+#ifndef MAIN_WINDOW_H
+#define MAIN_WINDOW_H
+
+#include <QMainWindow>
+
+namespace Ui {
+    class MainWindow;
+}
+
+class MainWindow : public QMainWindow {
+    Q_OBJECT
+
+public:
+    explicit MainWindow(QWidget *parent = 0);
+    ~MainWindow();
+signals:
+
+private:
+    Ui::MainWindow *main_ui_;
+};
+
+#endif
diff --git a/main_window.ui b/main_window.ui
index e69de29..4bf2c78 100644
--- a/main_window.ui
+++ b/main_window.ui
@@ -0,0 +1,546 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>407</width>
+    <height>268</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Sim Control</string>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <layout class="QGridLayout" name="gridLayout">
+    <item row="0" column="0">
+     <widget class="QFrame" name="frame">
+      <property name="frameShape">
+       <enum>QFrame::StyledPanel</enum>
+      </property>
+      <property name="frameShadow">
+       <enum>QFrame::Raised</enum>
+      </property>
+     </widget>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QMenuBar" name="menubar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>407</width>
+     <height>27</height>
+    </rect>
+   </property>
+   <widget class="QMenu" name="menuFile">
+    <property name="title">
+     <string>File</string>
+    </property>
+    <addaction name="actionNew_Empty_Session"/>
+    <addaction name="actionNew_Session_from_Script"/>
+    <addaction name="actionOpen_Checkpoint"/>
+    <addaction name="actionSave_Checkpoint"/>
+    <addaction name="separator"/>
+    <addaction name="actionAppend_from_Script"/>
+    <addaction name="actionAppend_from_Checkpoint"/>
+    <addaction name="separator"/>
+    <addaction name="actionLoad_Presistent_State"/>
+    <addaction name="actionSave_Persistent_State"/>
+    <addaction name="separator"/>
+    <addaction name="actionRun_Python_File"/>
+    <addaction name="separator"/>
+    <addaction name="actionCreate_Workspace"/>
+    <addaction name="actionChange_Workspace"/>
+    <addaction name="separator"/>
+    <addaction name="actionExit"/>
+   </widget>
+   <widget class="QMenu" name="menuEdit">
+    <property name="title">
+     <string>Edit</string>
+    </property>
+    <addaction name="actionPreferences"/>
+   </widget>
+   <widget class="QMenu" name="menuRun">
+    <property name="title">
+     <string>Run</string>
+    </property>
+    <addaction name="actionRun_Forward"/>
+    <addaction name="actionStop"/>
+    <addaction name="actionRun_Reverse"/>
+    <addaction name="separator"/>
+    <addaction name="actionMultithreading_Enabled"/>
+    <addaction name="actionReverse_Execution_Enabled"/>
+    <addaction name="actionClear_Input_Recording"/>
+   </widget>
+   <widget class="QMenu" name="menuDebug">
+    <property name="title">
+     <string>Debug</string>
+    </property>
+    <addaction name="actionDisassembly"/>
+    <addaction name="actionStack_Trace"/>
+    <addaction name="actionSource_View"/>
+    <addaction name="actionCPU_Registers"/>
+    <addaction name="actionDevice_Registers"/>
+    <addaction name="actionMemory_Contents"/>
+   </widget>
+   <widget class="QMenu" name="menuTools">
+    <property name="title">
+     <string>Tools</string>
+    </property>
+    <addaction name="actionCommand_Line_Window"/>
+    <addaction name="actionCommand_Browser"/>
+    <addaction name="actionHaps_Brower"/>
+    <addaction name="actionObject_Brower"/>
+    <addaction name="actionConfiguration_Brower"/>
+    <addaction name="actionNew_Statistics_Plot"/>
+    <addaction name="actionMemory_Mappings_Browser"/>
+   </widget>
+   <widget class="QMenu" name="menuWindow">
+    <property name="title">
+     <string>Window</string>
+    </property>
+    <addaction name="actionMinimize_All_Consoles"/>
+    <addaction name="actionRestore_All_Consoles"/>
+    <addaction name="separator"/>
+    <addaction name="actionOpen_All_Consoles"/>
+    <addaction name="actionClose_All_Consoles"/>
+    <addaction name="separator"/>
+    <addaction name="action_No_Console_Windows"/>
+   </widget>
+   <widget class="QMenu" name="menuHelp">
+    <property name="title">
+     <string>Help</string>
+    </property>
+    <addaction name="actionContents"/>
+    <addaction name="separator"/>
+    <addaction name="actionGetting_Started"/>
+    <addaction name="separator"/>
+    <addaction name="actionTechnical_Support"/>
+    <addaction name="actionBug_Report_Forum"/>
+    <addaction name="actionUser_Registration"/>
+    <addaction name="actionVirtutech_Website"/>
+    <addaction name="separator"/>
+    <addaction name="actionLicense"/>
+    <addaction name="actionAbout"/>
+   </widget>
+   <addaction name="menuFile"/>
+   <addaction name="menuEdit"/>
+   <addaction name="menuRun"/>
+   <addaction name="menuDebug"/>
+   <addaction name="menuTools"/>
+   <addaction name="menuWindow"/>
+   <addaction name="menuHelp"/>
+  </widget>
+  <widget class="QStatusBar" name="statusBar"/>
+  <widget class="QToolBar" name="toolBar">
+   <property name="windowTitle">
+    <string>toolBar</string>
+   </property>
+   <attribute name="toolBarArea">
+    <enum>TopToolBarArea</enum>
+   </attribute>
+   <attribute name="toolBarBreak">
+    <bool>false</bool>
+   </attribute>
+   <addaction name="actionNew_Session_from_Script"/>
+   <addaction name="actionOpen_Checkpoint"/>
+   <addaction name="actionSave_Checkpoint"/>
+   <addaction name="separator"/>
+   <addaction name="actionRun_Reverse"/>
+   <addaction name="actionStop"/>
+   <addaction name="actionRun_Forward"/>
+   <addaction name="separator"/>
+   <addaction name="actionMultithreading_Enabled"/>
+   <addaction name="actionReverse_Execution_Enabled"/>
+  </widget>
+  <action name="actionNew_Empty_Session">
+   <property name="text">
+    <string>New Empty Session</string>
+   </property>
+   <property name="menuRole">
+    <enum>QAction::ApplicationSpecificRole</enum>
+   </property>
+  </action>
+  <action name="New_session_from_script">
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/24/im-message-new.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/24/im-message-new.png</iconset>
+   </property>
+   <property name="text">
+    <string/>
+   </property>
+  </action>
+  <action name="actionOpen_Checkpoint">
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/document-open.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/document-open.png</iconset>
+   </property>
+   <property name="text">
+    <string>Open Checkpoint...                       </string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+O</string>
+   </property>
+  </action>
+  <action name="actionSave_Checkpoint">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/document-save.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/document-save.png</iconset>
+   </property>
+   <property name="text">
+    <string>Save Checkpoint...                        </string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+S</string>
+   </property>
+  </action>
+  <action name="actionAppend_from_Script">
+   <property name="text">
+    <string>Append from Script...</string>
+   </property>
+  </action>
+  <action name="actionAppend_from_Checkpoint">
+   <property name="text">
+    <string>Append from Checkpoint...</string>
+   </property>
+  </action>
+  <action name="actionLoad_Presistent_State">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Load Presistent State...</string>
+   </property>
+  </action>
+  <action name="actionSave_Persistent_State">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Save Persistent State...</string>
+   </property>
+  </action>
+  <action name="actionRun_Python_File">
+   <property name="text">
+    <string>Run Python File...</string>
+   </property>
+  </action>
+  <action name="actionCreate_Workspace">
+   <property name="text">
+    <string>Create Workspace...</string>
+   </property>
+  </action>
+  <action name="actionChange_Workspace">
+   <property name="text">
+    <string>Change Workspace...</string>
+   </property>
+  </action>
+  <action name="actionExit">
+   <property name="text">
+    <string>Exit                                             </string>
+   </property>
+   <property name="shortcut">
+    <string>Alt+F4</string>
+   </property>
+  </action>
+  <action name="actionPreferences">
+   <property name="text">
+    <string>Preferences</string>
+   </property>
+  </action>
+  <action name="actionRun_Forward">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-go-back-rtl.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-go-back-rtl.png</iconset>
+   </property>
+   <property name="text">
+    <string>Run the simulation forwards</string>
+   </property>
+  </action>
+  <action name="actionStop">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-media-stop.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-media-stop.png</iconset>
+   </property>
+   <property name="text">
+    <string>Stop the simulation</string>
+   </property>
+  </action>
+  <action name="actionRun_Reverse">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-go-back-ltr.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-go-back-ltr.png</iconset>
+   </property>
+   <property name="text">
+    <string>Run the simulation backwards</string>
+   </property>
+  </action>
+  <action name="actionMultithreading_Enabled">
+   <property name="checkable">
+    <bool>true</bool>
+   </property>
+   <property name="checked">
+    <bool>true</bool>
+   </property>
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/format-justify-right.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/format-justify-right.png</iconset>
+   </property>
+   <property name="text">
+    <string>Multithreading Enabled</string>
+   </property>
+  </action>
+  <action name="actionReverse_Execution_Enabled">
+   <property name="checkable">
+    <bool>true</bool>
+   </property>
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/object-rotate-left.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/object-rotate-left.png</iconset>
+   </property>
+   <property name="text">
+    <string>Reverse Execution Enabled</string>
+   </property>
+  </action>
+  <action name="actionDisassembly">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Disassembly</string>
+   </property>
+  </action>
+  <action name="actionStack_Trace">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Stack Trace</string>
+   </property>
+  </action>
+  <action name="actionSource_View">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Source View</string>
+   </property>
+  </action>
+  <action name="actionCPU_Registers">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>CPU Registers</string>
+   </property>
+  </action>
+  <action name="actionDevice_Registers">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Device Registers</string>
+   </property>
+  </action>
+  <action name="actionMemory_Contents">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Memory Contents</string>
+   </property>
+  </action>
+  <action name="actionCommand_Line_Window">
+   <property name="text">
+    <string>Command Line Window</string>
+   </property>
+  </action>
+  <action name="actionCommand_Browser">
+   <property name="text">
+    <string>Command Browser</string>
+   </property>
+  </action>
+  <action name="actionHaps_Brower">
+   <property name="text">
+    <string>Haps Brower</string>
+   </property>
+  </action>
+  <action name="actionObject_Brower">
+   <property name="text">
+    <string>Object Brower</string>
+   </property>
+  </action>
+  <action name="actionConfiguration_Brower">
+   <property name="text">
+    <string>Configuration Brower</string>
+   </property>
+  </action>
+  <action name="actionNew_Statistics_Plot">
+   <property name="text">
+    <string>New Statistics Plot</string>
+   </property>
+  </action>
+  <action name="actionMemory_Mappings_Browser">
+   <property name="text">
+    <string>Memory Mappings Browser</string>
+   </property>
+  </action>
+  <action name="actionMinimize_All_Consoles">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Minimize All Consoles</string>
+   </property>
+  </action>
+  <action name="actionRestore_All_Consoles">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Restore All Consoles</string>
+   </property>
+  </action>
+  <action name="actionOpen_All_Consoles">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Open All Consoles</string>
+   </property>
+  </action>
+  <action name="actionClose_All_Consoles">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Close All Consoles</string>
+   </property>
+  </action>
+  <action name="action_No_Console_Windows">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>&lt;No Console Windows&gt;</string>
+   </property>
+  </action>
+  <action name="actionContents">
+   <property name="text">
+    <string>Contents</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+F1</string>
+   </property>
+  </action>
+  <action name="actionGetting_Started">
+   <property name="text">
+    <string>Getting Started</string>
+   </property>
+  </action>
+  <action name="actionTechnical_Support">
+   <property name="text">
+    <string>Technical Support</string>
+   </property>
+  </action>
+  <action name="actionBug_Report_Forum">
+   <property name="text">
+    <string>Bug Report Forum</string>
+   </property>
+  </action>
+  <action name="actionUser_Registration">
+   <property name="text">
+    <string>User Registration</string>
+   </property>
+  </action>
+  <action name="actionVirtutech_Website">
+   <property name="text">
+    <string>AMS Website</string>
+   </property>
+  </action>
+  <action name="actionLicense">
+   <property name="text">
+    <string>License</string>
+   </property>
+  </action>
+  <action name="actionAbout">
+   <property name="text">
+    <string>About</string>
+   </property>
+  </action>
+  <action name="actionNew_Session_from_Script">
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/add.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/add.png</iconset>
+   </property>
+   <property name="text">
+    <string>New session from script</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+N</string>
+   </property>
+   <property name="visible">
+    <bool>true</bool>
+   </property>
+   <property name="menuRole">
+    <enum>QAction::TextHeuristicRole</enum>
+   </property>
+  </action>
+  <action name="actionRun_the_simulation_backwards">
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-go-back-ltr.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-go-back-ltr.png</iconset>
+   </property>
+   <property name="text">
+    <string>Run the simulation backwards</string>
+   </property>
+  </action>
+  <action name="actionStop_the_simulation">
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-media-stop.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-media-stop.png</iconset>
+   </property>
+   <property name="text">
+    <string>Stop the simulation</string>
+   </property>
+  </action>
+  <action name="actionRun_the_simulation_forwards">
+   <property name="icon">
+    <iconset>
+     <normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-go-back-rtl.png</normaloff>../../.icons/Mac-X-Lion-reload/actions/gtk/gtk-go-back-rtl.png</iconset>
+   </property>
+   <property name="text">
+    <string>Run the simulation forwards</string>
+   </property>
+  </action>
+  <action name="actionClear_Input_Recording">
+   <property name="enabled">
+    <bool>false</bool>
+   </property>
+   <property name="text">
+    <string>Clear Input Recording</string>
+   </property>
+  </action>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/sim-qt.pro b/sim-qt.pro
index e69de29..f81c087 100644
--- a/sim-qt.pro
+++ b/sim-qt.pro
@@ -0,0 +1,23 @@
+######################################################################
+# Automatically generated by qmake (3.0) ?? 9? 19 21:20:40 2013
+######################################################################
+
+QT       += core gui
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+TEMPLATE = app
+TARGET = sim-qt
+INCLUDEPATH += .
+
+DEFINES += QT_DLL
+CONFIG  +=  console plugin link_pkgconfig
+
+SOURCES += main.cpp\
+		   main_window.cpp\
+           sim_application.cpp
+
+HEADERS += main_window.h\
+           sim_application.h\
+
+FORMS += cli.ui main_window.ui
diff --git a/sim_application.cpp b/sim_application.cpp
index e69de29..ed78339 100644
--- a/sim_application.cpp
+++ b/sim_application.cpp
@@ -0,0 +1,17 @@
+#include "sim_application.h"
+
+#include <QDesktopServices>
+#include <QDir>
+#include <QEvent>
+#include <QFileOpenEvent>
+#include <QFontMetrics>
+#include <QTimer>
+#include <QUrl>
+
+SimApplication *simApp = NULL;
+
+SimApplication::SimApplication(int &argc,  char **argv) :
+    QApplication(argc, argv) {
+    simApp = this;
+}
+
diff --git a/sim_application.h b/sim_application.h
index e69de29..6522913 100644
--- a/sim_application.h
+++ b/sim_application.h
@@ -0,0 +1,20 @@
+#ifndef SIMICT_APPLICATION_H
+#define SIMICT_APPLICATION_H
+
+#include <QApplication>
+
+class SimApplication : public QApplication {
+    Q_OBJECT
+public:
+    explicit SimApplication(int &argc, char **argv);
+
+private:
+
+signals:
+    void newSessionFromScript(QString &ss_path);
+
+};
+
+extern SimApplication *simApp;
+
+#endif