diff --git a/.gitignore b/.gitignore
index 85a6baa..7a5df63 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,6 +12,13 @@
 
 # Qt-es
 
+/parts/*
+/prime/*
+/snap/.snapcraft/*
+/stage/*
+
+/source/android/*
+!/source/android/AndroidManifest.xml
 /.qmake.cache
 /.qmake.stash
 *.pro.user
@@ -20,15 +27,26 @@
 *.qbs.user.*
 *.moc
 moc_*.cpp
+moc_*.h
 qrc_*.cpp
 ui_*.h
 Makefile*
-*-build-*
+*build-*
 
 # QtCreator
 
 *.autosave
 
-#QtCtreator Qml
+# QtCtreator Qml
 *.qmlproject.user
 *.qmlproject.user.*
+
+# QtCtreator CMake
+CMakeLists.txt.user*
+
+
+snap/plugins/__pycache__/
+
+*.snap
+
+\.buildconfig
diff --git a/snap/gui/QtDeployr.png b/snap/gui/QtDeployr.png
new file mode 100644
index 0000000..f2cef99
Binary files /dev/null and b/snap/gui/QtDeployr.png differ
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
new file mode 100755
index 0000000..cef07e4
--- /dev/null
+++ b/snap/snapcraft.yaml
@@ -0,0 +1,28 @@
+name: qt-deployer
+version: '1.0'
+summary: Deploy Qt Project
+description: |
+ Deploy Qt Projects
+
+grade: stable # must be 'stable' to release into candidate/stable channels
+confinement: strict # use 'strict' once you have the right plugs and slots
+
+icon: snap/gui/icon.png
+
+apps:
+  qt-deployer:
+    command: bin/QtDeployer
+#    desktop: usr/share/applications/desc.desktop
+    plugs: [desktop, unity7, home, opengl, x11, wayland]
+    environment:
+      LD_LIBRARY_PATH: $SNAP/lib
+      QML_IMPORT_PATH: $SNAP/qml
+      QML2_IMPORT_PATH: $SNAP/qml
+      QT_PLUGIN_PATH: $SNAP/plugins
+      QT_QPA_PLATFORM_PLUGIN_PATH: $SNAP/plugins/platforms
+
+parts:
+  qt-deployer:
+    plugin: dump
+    source: .
+
diff --git a/CPP/baseclass.cpp b/source/CPP/baseclass.cpp
similarity index 100%
rename from CPP/baseclass.cpp
rename to source/CPP/baseclass.cpp
diff --git a/CPP/baseclass.h b/source/CPP/baseclass.h
similarity index 100%
rename from CPP/baseclass.h
rename to source/CPP/baseclass.h
diff --git a/CPP/cppmanager.cpp b/source/CPP/cppmanager.cpp
similarity index 94%
rename from CPP/cppmanager.cpp
rename to source/CPP/cppmanager.cpp
index 18441bf..52fc981 100755
--- a/CPP/cppmanager.cpp
+++ b/source/CPP/cppmanager.cpp
@@ -24,6 +24,10 @@ void CppManager::setNotFoundLibs(const QStringList &notFoundLibs)
 	emit notFoundLibsChanged(m_notFoundLibs);
 }
 
+bool CppManager::isQtLib(const QString &lib) const{
+    return lib.indexOf(m_qtdir) == 0;
+}
+
 void CppManager::extractAllLibs(const QStringList &execfiles)
 {
 	for (const QString &execfile : execfiles)
@@ -72,7 +76,7 @@ void CppManager::divideLibraries()
 		QFileInfo libInfo(lib);
 		name = libInfo.fileName();
 
-		if (!name.isEmpty() && name.startsWith("libQt"))
+        if (!name.isEmpty() && isQtLib(libInfo.path()))
 		{
 			m_qtLibraries << name;
 			m_cppLibraries.removeOne(lib);
diff --git a/CPP/cppmanager.h b/source/CPP/cppmanager.h
similarity index 97%
rename from CPP/cppmanager.h
rename to source/CPP/cppmanager.h
index 3272940..7e027bf 100755
--- a/CPP/cppmanager.h
+++ b/source/CPP/cppmanager.h
@@ -19,6 +19,8 @@ class CppManager : public BaseClass
 	QStringList m_cppLibraries;
 	QStringList m_notFoundLibs;
 
+    bool isQtLib(const QString&) const;
+
 public:  // TODO remove this line
 	void extractAllLibs(const QStringList &execfiles);
 	QStringList extractLibsFromExecutable(const QString &execpath);
diff --git a/CPP/mainmanager.cpp b/source/CPP/mainmanager.cpp
similarity index 100%
rename from CPP/mainmanager.cpp
rename to source/CPP/mainmanager.cpp
diff --git a/CPP/mainmanager.h b/source/CPP/mainmanager.h
similarity index 100%
rename from CPP/mainmanager.h
rename to source/CPP/mainmanager.h
diff --git a/CPP/outputmanager.cpp b/source/CPP/outputmanager.cpp
similarity index 100%
rename from CPP/outputmanager.cpp
rename to source/CPP/outputmanager.cpp
diff --git a/CPP/outputmanager.h b/source/CPP/outputmanager.h
similarity index 100%
rename from CPP/outputmanager.h
rename to source/CPP/outputmanager.h
diff --git a/CPP/pluginmanager.cpp b/source/CPP/pluginmanager.cpp
similarity index 100%
rename from CPP/pluginmanager.cpp
rename to source/CPP/pluginmanager.cpp
diff --git a/CPP/pluginmanager.h b/source/CPP/pluginmanager.h
similarity index 100%
rename from CPP/pluginmanager.h
rename to source/CPP/pluginmanager.h
diff --git a/CPP/qmlmanager.cpp b/source/CPP/qmlmanager.cpp
similarity index 100%
rename from CPP/qmlmanager.cpp
rename to source/CPP/qmlmanager.cpp
diff --git a/CPP/qmlmanager.h b/source/CPP/qmlmanager.h
similarity index 100%
rename from CPP/qmlmanager.h
rename to source/CPP/qmlmanager.h
diff --git a/LICENSE.md b/source/LICENSE.md
similarity index 100%
rename from LICENSE.md
rename to source/LICENSE.md
diff --git a/QML/ExtendableView.qml b/source/QML/ExtendableView.qml
similarity index 100%
rename from QML/ExtendableView.qml
rename to source/QML/ExtendableView.qml
diff --git a/QML/PathChooser.qml b/source/QML/PathChooser.qml
similarity index 100%
rename from QML/PathChooser.qml
rename to source/QML/PathChooser.qml
diff --git a/QML/PreparePage.qml b/source/QML/PreparePage.qml
similarity index 100%
rename from QML/PreparePage.qml
rename to source/QML/PreparePage.qml
diff --git a/QML/ProcessPage.qml b/source/QML/ProcessPage.qml
similarity index 96%
rename from QML/ProcessPage.qml
rename to source/QML/ProcessPage.qml
index fd2eb28..2f52526 100755
--- a/QML/ProcessPage.qml
+++ b/source/QML/ProcessPage.qml
@@ -11,7 +11,7 @@ Page {
 	property int state: MainManager.state
 
 	header: TopBar {
-		text: "Qt Linux Deployer"
+        text: "Qt Deployer"
 
 		ToolButton {
 			text: "➔"
diff --git a/QML/ResultPage.qml b/source/QML/ResultPage.qml
similarity index 100%
rename from QML/ResultPage.qml
rename to source/QML/ResultPage.qml
diff --git a/QML/StartPage.qml b/source/QML/StartPage.qml
similarity index 97%
rename from QML/StartPage.qml
rename to source/QML/StartPage.qml
index fa5cca6..3f55a40 100755
--- a/QML/StartPage.qml
+++ b/source/QML/StartPage.qml
@@ -9,7 +9,7 @@ Page {
 	clip: true
 
 	header: TopBar {
-		text: "Qt Linux Deployer"
+		text: "Qt Deployer"
 	}
 
 	Settings {
diff --git a/QML/TopBar.qml b/source/QML/TopBar.qml
similarity index 100%
rename from QML/TopBar.qml
rename to source/QML/TopBar.qml
diff --git a/QML/main.qml b/source/QML/main.qml
similarity index 94%
rename from QML/main.qml
rename to source/QML/main.qml
index 275edfa..9fbb8db 100755
--- a/QML/main.qml
+++ b/source/QML/main.qml
@@ -5,7 +5,7 @@ import QtQuick.Controls.Material 2.0
 ApplicationWindow {
 	id: window
 	visible: true
-	title: qsTr("Qt Linux Deployer")
+    title: qsTr("Qt Deployer")
 
 	width: 600
 	height: sp.implicitHeight + 30
diff --git a/QtLinuxDeployer.pro b/source/QtDeployer.pro
similarity index 93%
rename from QtLinuxDeployer.pro
rename to source/QtDeployer.pro
index 049a7e8..76e7110 100755
--- a/QtLinuxDeployer.pro
+++ b/source/QtDeployer.pro
@@ -1,6 +1,6 @@
 QT += qml quick
 
-CONFIG += c++11
+CONFIG += c++14
 
 RESOURCES += qml.qrc
 
@@ -26,6 +26,12 @@ qnx: target.path = /tmp/$${TARGET}/bin
 else: unix:!android: target.path = /opt/$${TARGET}/bin
 !isEmpty(target.path): INSTALLS += target
 
+
+VERSION = 1.0.0.0
+TARGET = QtDeployer
+TEMPLATE = app
+RC_ICONS = res/QtDeployr.ico
+
 SOURCES += \
     main.cpp \
     CPP/baseclass.cpp \
diff --git a/main.cpp b/source/main.cpp
similarity index 100%
rename from main.cpp
rename to source/main.cpp
diff --git a/qml.qrc b/source/qml.qrc
similarity index 100%
rename from qml.qrc
rename to source/qml.qrc
diff --git a/qtquickcontrols2.conf b/source/qtquickcontrols2.conf
similarity index 100%
rename from qtquickcontrols2.conf
rename to source/qtquickcontrols2.conf
diff --git a/source/res/QtDeployr.ico b/source/res/QtDeployr.ico
new file mode 100644
index 0000000..be29650
Binary files /dev/null and b/source/res/QtDeployr.ico differ