diff --git a/VECTO.sln b/VECTO.sln
index 229fc267a786be62817c49b1440a9c9eb4cbcc42..0e85ad9850ff95373ce5f59a34623cb6dd2fb7fa 100644
--- a/VECTO.sln
+++ b/VECTO.sln
@@ -71,6 +71,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Article10Notifications", ".
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VECTO_GIT", "..\STUDENTEN_PROJEKTE\Kober_VectoGIT\VECTO_GIT\VECTO_GIT\VECTO_GIT.csproj", "{A684BC49-C9B3-4C0C-8D2E-A13077853EDA}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StandaloneApplication", "..\VECTO_API\StandaloneApplication\StandaloneApplication.csproj", "{C234077C-F81E-42FA-9367-1319753678A6}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VECTO-GIT", "VECTO-GIT", "{5DDEEEC2-743F-4395-B058-687B5773E3D2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VECTO_GIT_TEST", "..\STUDENTEN_PROJEKTE\Kober_VectoGIT\VECTO_GIT\VECTO_GIT_TEST\VECTO_GIT_TEST.csproj", "{52430C51-892A-4D8E-9189-B6C9D09791C0}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug PerformanceStats|Any CPU = Debug PerformanceStats|Any CPU
@@ -768,6 +774,90 @@ Global
 		{A684BC49-C9B3-4C0C-8D2E-A13077853EDA}.ReleaseTUG|x64.Build.0 = Release|Any CPU
 		{A684BC49-C9B3-4C0C-8D2E-A13077853EDA}.ReleaseTUG|x86.ActiveCfg = Release|Any CPU
 		{A684BC49-C9B3-4C0C-8D2E-A13077853EDA}.ReleaseTUG|x86.Build.0 = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|Any CPU.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|Any CPU.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|x64.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|x64.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|x86.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceStats|x86.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|Any CPU.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|Any CPU.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|x64.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|x64.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|x86.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug PerformanceTrace|x86.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug|x64.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Debug|x86.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|Any CPU.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|Any CPU.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|x64.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|x64.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|x86.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.DebugTUG|x86.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|Any CPU.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|Any CPU.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|x64.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|x64.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|x86.ActiveCfg = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Deploy|x86.Build.0 = Debug|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Release|x64.ActiveCfg = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Release|x64.Build.0 = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Release|x86.ActiveCfg = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.Release|x86.Build.0 = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|Any CPU.ActiveCfg = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|Any CPU.Build.0 = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|x64.ActiveCfg = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|x64.Build.0 = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|x86.ActiveCfg = Release|Any CPU
+		{C234077C-F81E-42FA-9367-1319753678A6}.ReleaseTUG|x86.Build.0 = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|Any CPU.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|Any CPU.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|x64.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|x64.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|x86.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceStats|x86.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|Any CPU.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|Any CPU.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|x64.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|x64.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|x86.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug PerformanceTrace|x86.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|x64.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Debug|x86.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|Any CPU.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|Any CPU.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|x64.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|x64.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|x86.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.DebugTUG|x86.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|Any CPU.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|Any CPU.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|x64.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|x64.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|x86.ActiveCfg = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Deploy|x86.Build.0 = Debug|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|Any CPU.Build.0 = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|x64.ActiveCfg = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|x64.Build.0 = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|x86.ActiveCfg = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.Release|x86.Build.0 = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|Any CPU.ActiveCfg = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|Any CPU.Build.0 = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|x64.ActiveCfg = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|x64.Build.0 = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|x86.ActiveCfg = Release|Any CPU
+		{52430C51-892A-4D8E-9189-B6C9D09791C0}.ReleaseTUG|x86.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -791,5 +881,8 @@ Global
 		{7C364099-9B85-473A-8A42-BBEBE4798FF5} = {CC93EA68-F3FE-4BCB-9292-1101F94A4D09}
 		{B673E12F-D323-4C4C-8805-9915B2C72D3D} = {73A5BF70-6168-456F-95E5-A1402BFA488C}
 		{760C1C5B-A767-463E-BA85-F0BCFC23A550} = {73A5BF70-6168-456F-95E5-A1402BFA488C}
+		{A684BC49-C9B3-4C0C-8D2E-A13077853EDA} = {5DDEEEC2-743F-4395-B058-687B5773E3D2}
+		{C234077C-F81E-42FA-9367-1319753678A6} = {D29E62A2-CF08-469F-B29F-1B25DCB35386}
+		{52430C51-892A-4D8E-9189-B6C9D09791C0} = {5DDEEEC2-743F-4395-B058-687B5773E3D2}
 	EndGlobalSection
 EndGlobal
diff --git a/VectoCore/VectoCore/Utils/XMLDefinitions.cs b/VectoCore/VectoCore/Utils/XMLDefinitions.cs
index d54fa72ecb1e079f6a643a578d53ff349b529e8d..6ad119ac04a1a138c2c4871ecd939dbd355aeed7 100644
--- a/VectoCore/VectoCore/Utils/XMLDefinitions.cs
+++ b/VectoCore/VectoCore/Utils/XMLDefinitions.cs
@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Xml;
 
 namespace TUGraz.VectoCore.Utils
 {
@@ -81,14 +82,25 @@ namespace TUGraz.VectoCore.Utils
 
 
 
-		public static string GetSchemaFilename(XmlDocumentType type, string version)
+		public static string GetSchemaFilename(XmlDocumentType type, string xsdType)
 		{
 			if (!schemaFilenames.ContainsKey(type)) {
 				throw new Exception(string.Format("Invalid argument {0} - only use single flags", type));
 			}
 			var entry = schemaFilenames[type];
+			var version = GetSchemaVersion(xsdType);
 			return string.Format(entry, string.IsNullOrWhiteSpace(version) ? "" : "." + version);
 		}
 
+
+		public static string GetSchemaVersion(string nodeType)
+		{
+			var parts = nodeType?.Split(':');
+			if (parts?.Length == 2) {
+				return XMLHelper.GetVersionFromNamespaceUri(parts[0]);
+			}
+
+			return null;
+		}
 	}
 }
diff --git a/VectoCore/VectoCore/Utils/XMLHelper.cs b/VectoCore/VectoCore/Utils/XMLHelper.cs
index 8202eb1ddae03d868ffb9cb73406fbc1f1529c80..64abf035b0b0a064fd8314ac1360fab5c2f8ff5e 100644
--- a/VectoCore/VectoCore/Utils/XMLHelper.cs
+++ b/VectoCore/VectoCore/Utils/XMLHelper.cs
@@ -68,18 +68,6 @@ namespace TUGraz.VectoCore.Utils
 		//	return GetVersionFromNamespaceUri(node.NamespaceURI);
 		//}
 
-		public static string GetSchemaVersion(XmlNode node)
-		{
-			var nodeType = node.Attributes?.GetNamedItem("type", "http://www.w3.org/2001/XMLSchema-instance");
-			if (nodeType != null) {
-				var parts = nodeType.InnerText.Split(':');
-				if (parts.Length == 2) {
-					return GetVersionFromNamespaceUri(nodeType.GetNamespaceOfPrefix(parts[0]));
-				}
-			}
-			return GetVersionFromNamespaceUri(node.NamespaceURI);
-		}
-
 		public static string GetVersionFromNamespaceUri(XNamespace namespaceUri)
 		{
 			const string versionPrefix = "v";
diff --git a/VectoCore/VectoCore/Utils/XMLValidator.cs b/VectoCore/VectoCore/Utils/XMLValidator.cs
index 1956b61f67486d587f7fb3b5d8e7f0c50733a3c6..6d0ece005a4199374dd97034a56e7e2fa4950c0a 100644
--- a/VectoCore/VectoCore/Utils/XMLValidator.cs
+++ b/VectoCore/VectoCore/Utils/XMLValidator.cs
@@ -78,26 +78,12 @@ namespace TUGraz.VectoCore.Utils
 				throw new Exception("empty XML document");
 			}
 
-			var version = XMLHelper.GetSchemaVersion(_doc.DocumentElement);
+			var xsdType = _doc.DocumentElement.Attributes?.GetNamedItem("type", "http://www.w3.org/2001/XMLSchema-instance")
+							?.InnerText;
 
-			_doc.Schemas = GetXMLSchema(docType, version);
+			_doc.Schemas = GetXMLSchema(docType, xsdType);
 			_doc.Validate(ValidationCallBack);
-			//var settings = new XmlReaderSettings();
-			//settings.Schemas = GetXMLSchema(docType, version);
-			//settings.ValidationType = ValidationType.Schema;
-			//settings.ValidationFlags =
-			//	XmlSchemaValidationFlags.ReportValidationWarnings | XmlSchemaValidationFlags.AllowXmlAttributes;
-			//settings.ValidationEventHandler += ValidationCallBack;
-			//var m = new MemoryStream();
-			//var w = new XmlTextWriter(m, Encoding.UTF8);
-			//_doc.WriteTo(w);
-			//w.Flush();
-			//m.Flush();
-			//m.Seek(0, SeekOrigin.Begin);
-			//var r = new XmlTextReader(m);
-			//var reader = XmlReader.Create(r, settings);
-			//_doc = new XmlDocument();
-			//_doc.Load(reader);
+			
 			return _valid;
 		}
 
@@ -115,7 +101,7 @@ namespace TUGraz.VectoCore.Utils
 			}
 		}
 
-		private static XmlSchemaSet GetXMLSchema(XmlDocumentType docType, string version)
+		private static XmlSchemaSet GetXMLSchema(XmlDocumentType docType, string xsdType)
 		{
 			var xset = new XmlSchemaSet() { XmlResolver = new XmlResourceResolver() };
 
@@ -124,7 +110,7 @@ namespace TUGraz.VectoCore.Utils
 					continue;
 				}
 
-				var schemaFile = XMLDefinitions.GetSchemaFilename(entry, version);
+				var schemaFile = XMLDefinitions.GetSchemaFilename(entry, xsdType);
 				if (schemaFile == null) {
 					continue;
 				}
@@ -134,7 +120,7 @@ namespace TUGraz.VectoCore.Utils
 					resource = RessourceHelper.LoadResourceAsStream(RessourceHelper.ResourceType.XMLSchema, schemaFile);
 				} catch (Exception e) {
 					throw new Exception(
-						string.Format("Unknown XML schema! version: {0}, xml document type: {1} ({2})", entry, version, schemaFile), e);
+						string.Format("Unknown XML schema! version: {0}, xml document type: {1} ({2})", entry, xsdType, schemaFile), e);
 				}
 
 				var reader = XmlReader.Create(resource, new XmlReaderSettings(), "schema://");
diff --git a/VectoCore/VectoCoreTest/FileIO/JsonWriteTest.cs b/VectoCore/VectoCoreTest/FileIO/JsonWriteTest.cs
index a12d7a7f3021de1e32df601ba98e30d0c03c6298..f23bdd9ebd54235c969451c68aa44aba53bf4420 100644
--- a/VectoCore/VectoCoreTest/FileIO/JsonWriteTest.cs
+++ b/VectoCore/VectoCoreTest/FileIO/JsonWriteTest.cs
@@ -31,7 +31,6 @@
 
 using System.IO;
 using NUnit.Framework;
-using NUnit.Framework.Internal;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCore.InputData.FileIO.JSON;
 using TUGraz.VectoCore.Tests.Utils;