diff --git a/.gitignore b/.gitignore
index 56ee19e..e02e1c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
*.mm
*.pro.user
+build
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..6269361
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,28 @@
+cmake_minimum_required(VERSION 2.8.12)
+project(network_packet_composer)
+
+set(CMAKE_CXX_FLAGS "--std=c++14 -g -Wall")
+
+
+# Find includes in corresponding build directories
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+# Instruct CMake to run moc automatically when needed.
+set(CMAKE_AUTOMOC ON)
+
+
+
+# Find the QtWidgets library
+find_package(Qt5Core)
+find_package(Qt5Widgets)
+find_package(Qt5Gui)
+
+
+add_subdirectory(src)
+
+add_executable(npc main.cpp)
+target_link_libraries(npc src)
+
+target_link_libraries(npc Qt5::Widgets)
+target_link_libraries(npc Qt5::Core)
+target_link_libraries(npc Qt5::Gui)
+
diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user
new file mode 100644
index 0000000..7a2f43f
--- /dev/null
+++ b/CMakeLists.txt.user
@@ -0,0 +1,285 @@
+
+
+
+
+
+ EnvironmentId
+ {8fe85189-3226-423c-bccf-c2236465442c}
+
+
+ ProjectExplorer.Project.ActiveTarget
+ 0
+
+
+ ProjectExplorer.Project.EditorSettings
+
+ true
+ false
+ true
+
+ Cpp
+
+ CppGlobal
+
+
+
+ QmlJS
+
+ QmlJSGlobal
+
+
+ 2
+ UTF-8
+ false
+ 4
+ false
+ 80
+ true
+ true
+ 1
+ true
+ false
+ 0
+ true
+ 0
+ 8
+ true
+ 1
+ true
+ true
+ true
+ false
+
+
+
+ ProjectExplorer.Project.PluginSettings
+
+
+
+ 1
+
+
+
+
+ ProjectExplorer.Project.Target.0
+
+ Desktop
+ Desktop
+ {211a0c20-f25f-4bf4-b929-1284740fe4d9}
+ 0
+ 0
+ 0
+
+
+ false
+ /home/qwc/source/npc/build
+
+
+
+
+ false
+
+ true
+ Make
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ clean
+
+ true
+
+ true
+ Make
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Vorgabe
+ Vorgabe
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+ -DCMAKE_BUILD_TYPE=Debug
+ false
+ /home/qwc/source/npc/build/debug
+
+
+
+
+ false
+
+ true
+ Make
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ clean
+
+ true
+
+ true
+ Make
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+ Debug
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+ -DCMAKE_BUILD_TYPE=Release
+ false
+ /home/qwc/source/npc/build/release
+
+
+
+
+ false
+
+ true
+ Make
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ clean
+
+ true
+
+ true
+ Make
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Bereinigen
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+ Release
+ CMakeProjectManager.CMakeBuildConfiguration
+
+ 3
+
+
+ 0
+ Deployment
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Lokales Deployment
+
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ npc
+
+
+ 2
+
+ npc
+
+ CMakeProjectManager.CMakeRunConfiguration.npc
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ 1
+
+
+
+ ProjectExplorer.Project.TargetCount
+ 1
+
+
+ ProjectExplorer.Project.Updater.FileVersion
+ 18
+
+
+ Version
+ 18
+
+
diff --git a/classdiagram.graphml b/classdiagram.graphml
new file mode 100644
index 0000000..a91ed6e
--- /dev/null
+++ b/classdiagram.graphml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Editor
+
+
+
+
+
+
+
+ - List of Elements
+- EditorPane
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Element
+
+
+
+
+
+
+
+ - Layer
+- Input
+- Name
+- Hint
+- SyntaxHint
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..d43b70d
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,20 @@
+set(HEADERS abstractguidededitormodel.h
+ flowlayout.h
+ guidededitorelement.h
+ guidededitorelementview.h
+ guidededitorlayer.h
+ guidededitorview.h
+ mainwindow.h
+)
+
+set(SOURCES abstractguidededitormodel.cpp
+ flowlayout.cpp
+ guidededitorelement.cpp
+ guidededitorelementview.cpp
+ guidededitorlayer.cpp
+ guidededitorview.cpp
+ mainwindow.cpp
+)
+
+add_library(src ${HEADERS} ${SOURCES})
+
diff --git a/abstractguidededitormodel.cpp b/src/abstractguidededitormodel.cpp
similarity index 100%
rename from abstractguidededitormodel.cpp
rename to src/abstractguidededitormodel.cpp
diff --git a/abstractguidededitormodel.h b/src/abstractguidededitormodel.h
similarity index 100%
rename from abstractguidededitormodel.h
rename to src/abstractguidededitormodel.h
diff --git a/flowlayout.cpp b/src/flowlayout.cpp
similarity index 100%
rename from flowlayout.cpp
rename to src/flowlayout.cpp
diff --git a/flowlayout.h b/src/flowlayout.h
similarity index 100%
rename from flowlayout.h
rename to src/flowlayout.h
diff --git a/guidededitorelement.cpp b/src/guidededitorelement.cpp
similarity index 100%
rename from guidededitorelement.cpp
rename to src/guidededitorelement.cpp
diff --git a/guidededitorelement.h b/src/guidededitorelement.h
similarity index 100%
rename from guidededitorelement.h
rename to src/guidededitorelement.h
diff --git a/guidededitorelementview.cpp b/src/guidededitorelementview.cpp
similarity index 100%
rename from guidededitorelementview.cpp
rename to src/guidededitorelementview.cpp
diff --git a/guidededitorelementview.h b/src/guidededitorelementview.h
similarity index 100%
rename from guidededitorelementview.h
rename to src/guidededitorelementview.h
diff --git a/guidededitorlayer.cpp b/src/guidededitorlayer.cpp
similarity index 100%
rename from guidededitorlayer.cpp
rename to src/guidededitorlayer.cpp
diff --git a/guidededitorlayer.h b/src/guidededitorlayer.h
similarity index 100%
rename from guidededitorlayer.h
rename to src/guidededitorlayer.h
diff --git a/guidededitorview.cpp b/src/guidededitorview.cpp
similarity index 100%
rename from guidededitorview.cpp
rename to src/guidededitorview.cpp
diff --git a/guidededitorview.h b/src/guidededitorview.h
similarity index 100%
rename from guidededitorview.h
rename to src/guidededitorview.h
diff --git a/mainwindow.cpp b/src/mainwindow.cpp
similarity index 100%
rename from mainwindow.cpp
rename to src/mainwindow.cpp
diff --git a/mainwindow.h b/src/mainwindow.h
similarity index 100%
rename from mainwindow.h
rename to src/mainwindow.h