From de64d37014bc2b8490fc26d8c8c5b73b46327449 Mon Sep 17 00:00:00 2001
From: "harald.martini@student.tugraz.at" <harald.martini@student.tugraz.at>
Date: Sun, 2 May 2021 10:54:10 +0200
Subject: [PATCH] Fixed an issue with non nullable enums

Added remove airdragdata button

fixed some formatting issues when writing an XML file

Added a new Error Template

Added Validation for mandatory fields in VehicleViewModel
---
 VECTO3GUI2020/App.xaml                        |   4 +-
 .../Converter/NullToVisibilityConverter.cs    |   7 +-
 .../Helper/Converter/SIToUnitString.cs        |   2 +-
 .../Converter/SIValueToStringConverter.cs     |   5 +-
 VECTO3GUI2020/Helper/Exceptions.cs            |  26 +
 VECTO3GUI2020/Helper/XMLExtension.cs          |   7 +
 VECTO3GUI2020/Helper/XmlHelper.cs             |  52 ++
 .../Ninject/IMultistageDependencies.cs        |   4 +
 .../Ninject/MultistageLazyDependencies.cs     |  13 +-
 .../Ninject/XMLWriterFactoryModule.cs         |   5 +
 VECTO3GUI2020/Resources/Converter.xaml        |   4 +-
 .../Resources/Icons/AddDocument_16x.xaml      |  27 +
 VECTO3GUI2020/Resources/Icons/Trash_16x.ico   | Bin 0 -> 10462 bytes
 VECTO3GUI2020/Resources/Icons/Trash_16x.xaml  |  20 +
 VECTO3GUI2020/Resources/Icons/drawables.xaml  |  50 ++
 .../Resources/Templates/ErrorTemplates.xaml   |  12 +
 VECTO3GUI2020/Test.xaml                       |   3 +-
 VECTO3GUI2020/TestViewModel.cs                |  13 +-
 .../ComponentWriter/XMLAirDragWriter.cs       |  10 +-
 .../XMLBusAuxiliariesWriter.cs                |  52 ++
 .../ComponentWriter/XMLVehicleWriter.cs       | 116 ++++
 VECTO3GUI2020/Util/XML/XMLNamespaces.cs       |  37 +-
 VECTO3GUI2020/VECTO3GUI2020.csproj            |  22 +
 .../InterimStageBusVehicleViewModel_v2_8.cs   |  89 ++-
 .../ManufacturingStageViewModel_v0_1.cs       |   2 +-
 .../MultistageAirdragViewModel.cs             |  37 +-
 .../MultistageJobViewModel_v0_1.cs            |  86 ++-
 .../CustomControlExtensionMethods.cs          |   6 +-
 .../Multistage/CustomControls/FilePicker.xaml |   8 +-
 .../LabledTextBoxMultistage.xaml.cs           |  12 +-
 .../CustomControls/MultiStageParameter.xaml   |   8 +-
 .../MultiStageParameter.xaml.cs               |  20 +-
 .../ManufacturingStageAuxiliariesView.xaml    |   1 +
 .../Views/Multistage/MultiStageView.xaml      |  17 +-
 .../Multistage/MultistageAirDragView.xaml     |  19 +-
 .../Views/Multistage/VehicleView_v2_8.xaml    |  87 +--
 VECTO3GUI2020/Views/SettingsView.xaml         |  25 +-
 .../TestData/XML/XMLReaderDeclaration/123.xml |  30 +
 .../vecto_vehicle-stage_input_full-sample.xml |  93 ++-
 .../SchemaVersionMultistage.0.1/123sadf.xml   |   7 +
 .../primary_heavyBus group41.RSLT_PIF.xml     | 552 ------------------
 41 files changed, 901 insertions(+), 689 deletions(-)
 create mode 100644 VECTO3GUI2020/Helper/Exceptions.cs
 create mode 100644 VECTO3GUI2020/Resources/Icons/AddDocument_16x.xaml
 create mode 100644 VECTO3GUI2020/Resources/Icons/Trash_16x.ico
 create mode 100644 VECTO3GUI2020/Resources/Icons/Trash_16x.xaml
 create mode 100644 VECTO3GUI2020/Resources/Icons/drawables.xaml
 create mode 100644 VECTO3GUI2020/Resources/Templates/ErrorTemplates.xaml
 create mode 100644 VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLBusAuxiliariesWriter.cs
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.xml
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/123sadf.xml
 delete mode 100644 VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group41.RSLT_PIF.xml

diff --git a/VECTO3GUI2020/App.xaml b/VECTO3GUI2020/App.xaml
index 0ca2289897..7f48e14516 100644
--- a/VECTO3GUI2020/App.xaml
+++ b/VECTO3GUI2020/App.xaml
@@ -13,7 +13,9 @@
                 <ResourceDictionary Source="Resources/Styles/Colors.xaml"/>
                 <ResourceDictionary Source="Resources/Styles/ButtonStyles.xaml"/>
                 <ResourceDictionary Source="DataGridStyles.xaml"/>
-            <ResourceDictionary Source="Resources/ObjectProvider.xaml"></ResourceDictionary>
+                <ResourceDictionary Source="Resources/Templates/ErrorTemplates.xaml"/>
+                <ResourceDictionary Source="Resources/ObjectProvider.xaml"/>
+                <ResourceDictionary Source="Resources/Icons/drawables.xaml"></ResourceDictionary>
             </ResourceDictionary.MergedDictionaries>
         </ResourceDictionary>
     </Application.Resources>
diff --git a/VECTO3GUI2020/Helper/Converter/NullToVisibilityConverter.cs b/VECTO3GUI2020/Helper/Converter/NullToVisibilityConverter.cs
index ff16a9cd18..156ca4552b 100644
--- a/VECTO3GUI2020/Helper/Converter/NullToVisibilityConverter.cs
+++ b/VECTO3GUI2020/Helper/Converter/NullToVisibilityConverter.cs
@@ -13,10 +13,9 @@ namespace VECTO3GUI2020.Helper.Converter
             {
                 return Visibility.Collapsed;
             }
-            else
-            {
-                return Binding.DoNothing;
-            }
+            else {
+				return Visibility.Visible;
+			}
         }
 
         public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
diff --git a/VECTO3GUI2020/Helper/Converter/SIToUnitString.cs b/VECTO3GUI2020/Helper/Converter/SIToUnitString.cs
index 57a72058e0..e84ca3d203 100644
--- a/VECTO3GUI2020/Helper/Converter/SIToUnitString.cs
+++ b/VECTO3GUI2020/Helper/Converter/SIToUnitString.cs
@@ -27,7 +27,7 @@ namespace VECTO3GUI2020.Helper.Converter
 				return convertedSI.Units;
 			}
 
-
+			return Binding.DoNothing;
 
             //TRY GET DYNAMIC UNIT STRING
 			try {
diff --git a/VECTO3GUI2020/Helper/Converter/SIValueToStringConverter.cs b/VECTO3GUI2020/Helper/Converter/SIValueToStringConverter.cs
index 7ce0d82a2a..7ed47de2dd 100644
--- a/VECTO3GUI2020/Helper/Converter/SIValueToStringConverter.cs
+++ b/VECTO3GUI2020/Helper/Converter/SIValueToStringConverter.cs
@@ -17,8 +17,6 @@ namespace VECTO3GUI2020.Helper.Converter
         public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 		{
 			if (value == null) {
-				_si = null;
-				_convertedSI = null;
 				return value;
 			}
             if(value is SI SIvalue) {
@@ -53,8 +51,7 @@ namespace VECTO3GUI2020.Helper.Converter
 				}
 
 			}
-			catch (Exception e)
-			{
+			catch (Exception e) {
 				return value;
 			}
 
diff --git a/VECTO3GUI2020/Helper/Exceptions.cs b/VECTO3GUI2020/Helper/Exceptions.cs
new file mode 100644
index 0000000000..6b8ce5755c
--- /dev/null
+++ b/VECTO3GUI2020/Helper/Exceptions.cs
@@ -0,0 +1,26 @@
+using System;
+
+namespace VECTO3GUI2020.Helper
+{
+	/// <summary>
+	/// Exception to notify the view that a field is not allowed to be empty. Should be ignored by the debugger
+	/// </summary>
+	public class VectoEmptyFieldException : Exception
+	{
+		public VectoEmptyFieldException()
+			: base("Field must not be empty")
+		{
+
+		}
+
+		public VectoEmptyFieldException(string message)
+			: base(message)
+		{
+		}
+
+		public VectoEmptyFieldException(string message, Exception inner)
+			: base(message, inner)
+		{
+		}
+    }
+}
\ No newline at end of file
diff --git a/VECTO3GUI2020/Helper/XMLExtension.cs b/VECTO3GUI2020/Helper/XMLExtension.cs
index f9ab57c71c..cac6839459 100644
--- a/VECTO3GUI2020/Helper/XMLExtension.cs
+++ b/VECTO3GUI2020/Helper/XMLExtension.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Diagnostics;
+using System.Windows.Forms;
 using System.Xml;
 using System.Xml.Linq;
 using System.Xml.Schema;
@@ -96,5 +97,11 @@ namespace VECTO3GUI2020.Helper
 			return version;
 		}
 
+
+		public static string ToXmlFormat(this DateTime dateTime)
+		{
+			return XmlConvert.ToString(dateTime, XmlDateTimeSerializationMode.Utc);
+		}
+
 }
 }
\ No newline at end of file
diff --git a/VECTO3GUI2020/Helper/XmlHelper.cs b/VECTO3GUI2020/Helper/XmlHelper.cs
index 0f3a71178e..2db50eed49 100644
--- a/VECTO3GUI2020/Helper/XmlHelper.cs
+++ b/VECTO3GUI2020/Helper/XmlHelper.cs
@@ -1,10 +1,16 @@
 using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
 using System.Xml;
 using System.Xml.Linq;
 using System.Xml.Schema;
 using Castle.Core.Internal;
 using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCore.Utils;
+using VECTO3GUI2020.Util.XML;
+using XmlDocumentType = TUGraz.VectoCore.Utils.XmlDocumentType;
 
 namespace VECTO3GUI2020.Helper
 {
@@ -56,5 +62,51 @@ namespace VECTO3GUI2020.Helper
 
 			return Uri.UnescapeDataString(new Uri(baseUri).AbsolutePath);
 		}
+
+		public static XDocument CreateWrapperDocument(this XElement xElement, XNamespace defaultNamespace,
+			XmlDocumentType docType = XmlDocumentType.DeclarationJobData)
+		{
+			var prefixMap = new Dictionary<string, XNamespace>();
+
+			var xDocument = new XDocument();
+			var rootElement = new XElement(XMLNamespaces.Tns_v20 + XMLNames.VectoInputDeclaration, new XAttribute(XNamespace.Xmlns + "tns",
+				XMLNamespaces.Tns_v20));
+			Debug.WriteLine(rootElement.ToString());
+
+			rootElement.Add(new XAttribute("xmlns", defaultNamespace));
+			rootElement.Add(new XAttribute("schemaVersion", XMLHelper.GetVersionFromNamespaceUri(defaultNamespace)));
+
+			xDocument.Add(rootElement);
+
+
+
+			Dictionary<string, XNamespace> nsAttributes = new Dictionary<string, XNamespace> {
+				["xsi"] = XMLNamespaces.Xsi
+			};
+
+			foreach (var element in xElement.DescendantsAndSelf()) {
+				var ns = element.Name.Namespace;
+				if (ns != defaultNamespace) {
+					var prefix = XMLNamespaces.GetPrefix(ns);
+					if(prefix != null)
+						nsAttributes[prefix] = ns;
+				}
+			}
+
+			
+			foreach (var nsAttribute in nsAttributes) {
+				rootElement.Add(new XAttribute(XNamespace.Xmlns + nsAttribute.Key, nsAttribute.Value));
+			}
+
+			var LocalSchemaLocation = @"V:\VectoCore\VectoCore\Resources\XSD\";
+
+			rootElement.Add(new XAttribute(XMLNamespaces.Xsi + "schemaLocation",
+				$"{XMLNamespaces.DeclarationRootNamespace} {LocalSchemaLocation}VectoDeclarationJob.xsd"));
+
+
+			rootElement.Add(xElement);
+
+			return xDocument;
+		}
 	}
 }
diff --git a/VECTO3GUI2020/Ninject/IMultistageDependencies.cs b/VECTO3GUI2020/Ninject/IMultistageDependencies.cs
index 78088869d1..bc5671491c 100644
--- a/VECTO3GUI2020/Ninject/IMultistageDependencies.cs
+++ b/VECTO3GUI2020/Ninject/IMultistageDependencies.cs
@@ -1,8 +1,10 @@
 using System;
+using System.Windows.Forms;
 using TUGraz.VectoCore.InputData.FileIO.XML;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory;
 using TUGraz.VectoCore.Utils;
 using VECTO3GUI2020.Helper;
+using VECTO3GUI2020.Util.XML.Interfaces;
 using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle.Components;
 
 namespace VECTO3GUI2020.Ninject
@@ -16,5 +18,7 @@ namespace VECTO3GUI2020.Ninject
 		IXMLInputDataReader InputDataReader { get; }
 		IDeclarationInjectFactory InjectFactory { get; }
 		IComponentViewModelFactory ComponentViewModelFactory { get; }
+
+		IXMLWriterFactory XMLWriterFactory { get;  }
 	}
 }
\ No newline at end of file
diff --git a/VECTO3GUI2020/Ninject/MultistageLazyDependencies.cs b/VECTO3GUI2020/Ninject/MultistageLazyDependencies.cs
index d21990434a..662738249b 100644
--- a/VECTO3GUI2020/Ninject/MultistageLazyDependencies.cs
+++ b/VECTO3GUI2020/Ninject/MultistageLazyDependencies.cs
@@ -3,6 +3,7 @@ using TUGraz.VectoCore.InputData.FileIO.XML;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory;
 using TUGraz.VectoCore.Utils;
 using VECTO3GUI2020.Helper;
+using VECTO3GUI2020.Util.XML.Interfaces;
 using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle.Components;
 
 namespace VECTO3GUI2020.Ninject
@@ -26,16 +27,26 @@ namespace VECTO3GUI2020.Ninject
 
 		public IDeclarationInjectFactory InjectFactory => _injectFactory.Value;
 		public IComponentViewModelFactory ComponentViewModelFactory => _componentViewModelFactory.Value;
+		public IXMLWriterFactory XMLWriterFactory => _xmlWriterFactory.Value;
+
+		private Lazy<IXMLWriterFactory> _xmlWriterFactory;
 
 
 		private readonly Lazy<IDeclarationInjectFactory> _injectFactory;
 		private readonly Lazy<IComponentViewModelFactory> _componentViewModelFactory;
-		public MultistageLazyDependencies(Lazy<IDialogHelper> dialogHelper, Lazy<IXMLInputDataReader> inputDataReader, Lazy<IDeclarationInjectFactory> injectFactory, Lazy<IComponentViewModelFactory> componentViewModelFactory)
+		public MultistageLazyDependencies(
+			Lazy<IDialogHelper> dialogHelper, 
+			Lazy<IXMLInputDataReader> inputDataReader, 
+			Lazy<IDeclarationInjectFactory> injectFactory, 
+			Lazy<IComponentViewModelFactory> componentViewModelFactory,
+			Lazy<IXMLWriterFactory> xmlWriterFactory)
 		{
 			_dialogHelper = dialogHelper;
 			_inputDataReader = inputDataReader;
 			_componentViewModelFactory = componentViewModelFactory;
 			_injectFactory = injectFactory;
+			_xmlWriterFactory = xmlWriterFactory;
+
 		}
 	}
 }
\ No newline at end of file
diff --git a/VECTO3GUI2020/Ninject/XMLWriterFactoryModule.cs b/VECTO3GUI2020/Ninject/XMLWriterFactoryModule.cs
index 9791fa3362..7d82dcb016 100644
--- a/VECTO3GUI2020/Ninject/XMLWriterFactoryModule.cs
+++ b/VECTO3GUI2020/Ninject/XMLWriterFactoryModule.cs
@@ -44,6 +44,11 @@ namespace VECTO3GUI2020.Ninject
 				sv =>
 					Bind<IXMLVehicleWriter>().To<XMLVehicleWriter_v2_0>().Named(sv));
 
+			Array.ForEach(
+				XMLVehicleWriter_v2_8.SUPPORTEDVERSIONS,
+				sv =>
+					Bind<IXMLVehicleWriter>().To<XMLVehicleWriter_v2_8>().Named(sv));
+
 			Array.ForEach(
 				XMLComponentsWriter_v1_0.SUPPORTED_VERSIONS,
 				sv => Bind<IXMLComponentsWriter>().To<XMLComponentsWriter_v1_0>().Named(sv));
diff --git a/VECTO3GUI2020/Resources/Converter.xaml b/VECTO3GUI2020/Resources/Converter.xaml
index 7fd7c4e3d1..d7865206f7 100644
--- a/VECTO3GUI2020/Resources/Converter.xaml
+++ b/VECTO3GUI2020/Resources/Converter.xaml
@@ -3,8 +3,8 @@
                     xmlns:converter="clr-namespace:VECTO3GUI2020.Helper.Converter">
     <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
 
-    <converter:SIToUnitString x:Key="SIToUnitStringConverter"/>
-    <converter:SIValueToStringConverter x:Key="SIValueToStringConverter"/>
+    <converter:SIToUnitString x:Shared="False" x:Key="SIToUnitStringConverter"/>
+    <converter:SIValueToStringConverter  x:Shared="False" x:Key="SIValueToStringConverter"/>
     <converter:NullToVisibilityConverter x:Key="NullToVisibilityConverter"/>
     <converter:AlwaysVisibleConverter x:Key="AlwaysVisibleConverter"/>
     <converter:LabledTextBoxConverter x:Key="LabledTextBoxConverter" x:Shared="false" />
diff --git a/VECTO3GUI2020/Resources/Icons/AddDocument_16x.xaml b/VECTO3GUI2020/Resources/Icons/AddDocument_16x.xaml
new file mode 100644
index 0000000000..6b3473284c
--- /dev/null
+++ b/VECTO3GUI2020/Resources/Icons/AddDocument_16x.xaml
@@ -0,0 +1,27 @@
+<!-- This file was generated by the AiToXaml tool.-->
+<!-- Tool Version: 14.0.22307.0 -->
+<Viewbox Width="16" Height="16" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+  <Rectangle Width="16" Height="16">
+    <Rectangle.Fill>
+      <DrawingBrush>
+        <DrawingBrush.Drawing>
+          <DrawingGroup>
+            <DrawingGroup.Children>
+              <GeometryDrawing Brush="#00FFFFFF" Geometry="F1M16,16L0,16 0,0 16,0z" />
+              <GeometryDrawing Brush="#FFF6F6F6" Geometry="F1M1.9998,-0.000199999999999534L1.9998,2.0188 0.9998,2.0188 0.9998,5.9998 1.9998,5.9998 1.9998,15.9998 15.0008,15.9998 15.0008,4.3788 10.6208,-0.000199999999999534z" />
+              <GeometryDrawing Brush="#FF424242" Geometry="F1M10,5L10,2.207 12.793,5z M10.207,1L7,1 7,2 9,2 9,2.018 9,6 13,6 13,14 4,14 4,8 3.019,8 3,15 14,15 14,4.793z" />
+              <GeometryDrawing Brush="#FF424242" Geometry="F1M10,5L10,2.207 12.793,5z M10.207,1L7,1 7,2 9,2 9,2.018 9,6 13,6 13,14 4,14 4,8 3.019,8 3,15 14,15 14,4.793z" />
+              <GeometryDrawing Brush="#FFF0EFF1" Geometry="F1M7,2.018L9,2.018 9,1.999 7,1.999z" />
+              <GeometryDrawing Brush="#FFF0EFF1" Geometry="F1M10,2.207L10,5 12.793,5z" />
+              <GeometryDrawing Brush="#FFF0EFF1" Geometry="F1M9,6L7,6 7,8 4,8 4,14 13,14 13,6z" />
+              <GeometryDrawing Brush="#FFEFEFF0" Geometry="F1M7,2.018L9,2.018 9,1.999 7,1.999z" />
+              <GeometryDrawing Brush="#FFEFEFF0" Geometry="F1M10,2.207L10,5 12.793,5z" />
+              <GeometryDrawing Brush="#FFEFEFF0" Geometry="F1M9,6L7,6 7,8 4,8 4,14 13,14 13,6z" />
+              <GeometryDrawing Brush="#FF388A34" Geometry="F1M8,3.0181L6,3.0181 6,1.0001 4.019,1.0001 4.019,3.0181 2,3.0181 2,5.0001 4.019,5.0001 4.019,7.0001 6,7.0001 6,5.0001 8,5.0001z" />
+            </DrawingGroup.Children>
+          </DrawingGroup>
+        </DrawingBrush.Drawing>
+      </DrawingBrush>
+    </Rectangle.Fill>
+  </Rectangle>
+</Viewbox>
\ No newline at end of file
diff --git a/VECTO3GUI2020/Resources/Icons/Trash_16x.ico b/VECTO3GUI2020/Resources/Icons/Trash_16x.ico
new file mode 100644
index 0000000000000000000000000000000000000000..9bba79cd42607f14c1e052e5e61c40863707236d
GIT binary patch
literal 10462
zcmeHNQAkr!7(Uix57kQ$5d{_X)Pp@0MBr<}K-PnTqFBBt^I?#^+0-VE5CmIfN|W*_
zk#sL&kb)piSP}H1u8i7NiLhn3%`pG|GdVw}-Mshi?#_iB<=?-1{_~&nedqk=zq>z|
zu`>KGFK769n$2He>=<JV6~iWW6NR_)za!@vJ9BYIvJECbHa0dcrBbP<D4$TaP@o9%
z6UTg?PNyGcGMTd`p_%T696UJwb`fyvt;HtJd&@LPgN}&(_8#Mxx$(7g8bCBO;}|DV
z(t<}M5&@6L19f$EP*YQ5yVTd$Lr+f+#N%<9%NGDRWC&KL1IFnc!66olfy3c|ii(P&
zOKoi}BoYak%MBfvh9=}NDtH6}fuiG=*JyHbQs&_^1gp~lIlK})y1ToHM`vdz%+Ai*
zE^fD*<`^0pA|80&pXk6eG$Ds+!NcqI(j1Qm2H<-lX}jF(>Y_OY2L~08oE=j8VJ+rV
zT;&8(&ZU{SdJ}#P5BmGFGWvX!&VKB3l-jvn&I`kVVX`eRE|IO2`!W7voN|oI<swXx
zrDba8_XU|pb#*n_=H}+erg-E8QqHBBxKjJE^E*w&RZj5eT&lQAg34Dr=Vq^eC#rm<
z@|8|%`m0IhE0wQAtwH50?GaJuL!FOOosX3dD^!o;&$!~bZ}r<Mwey;tXy-aKKTkIP
z{3~pwd>#}S?9hsbHb-GC)r)oZM_e#p#Zj{L$x_xu5yPT{$*o1LZ9$(EfnC-m=0UYy
z#5Ao%t!>$lJjTYx!0-2GrJ<pLYEI3~%~VGdH8?x8JV#4Q3(Y+>HC51lw6?Yqc9GXh
zp?OS8F`jo^?H3*+BO~DR`E*6*>U27F`--tDD=TTA+uGU;eI_O*3fd28FXeIm_|E4L
zvBo)>@saDhp-{+_k2G%HaV7cgI@dqU;~CxyU+M|+iwKUvV378sv9S?&ozqCFs;bCm
zVPS#R2=8_8^ycL@ocF%=Zegtj$8rfC;c%ERiTKJ#N25{VfjF;QLuAbhIb0DuaBkqa
zJ|FC&Z%0Q5alr9@;aJD5A+qL$?@1isF(A0Ct*t>{Umx(eGV{JhQ&SW0=kN9Pb(u%d
z8k)kqkjGWzu_?F|s1x{}(z(JAS@*^`a3KC41#<X`{+F$zu*VZIoIvSCSwzX8$g#59
zckGsWi|gP?CX+|)LBbf^W$Yl#Fu(!JP;c{rQEzeG{{QKZocG}wW|xK}W2gA~O8OeV
R&M=nMxX|tV8W$c={{{lf^*sOp

literal 0
HcmV?d00001

diff --git a/VECTO3GUI2020/Resources/Icons/Trash_16x.xaml b/VECTO3GUI2020/Resources/Icons/Trash_16x.xaml
new file mode 100644
index 0000000000..79f4d2fe3b
--- /dev/null
+++ b/VECTO3GUI2020/Resources/Icons/Trash_16x.xaml
@@ -0,0 +1,20 @@
+<!-- This file was generated by the AiToXaml tool.-->
+<!-- Tool Version: 14.0.22307.0 -->
+<Viewbox Width="16" Height="16" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+  <Rectangle  Width="16" Height="16">
+    <Rectangle.Fill>
+      <DrawingBrush>
+        <DrawingBrush.Drawing>
+          <DrawingGroup>
+            <DrawingGroup.Children>
+              <GeometryDrawing Brush="#00FFFFFF" Geometry="F1M16,16L0,16 0,0 16,0z" />
+              <GeometryDrawing Brush="#FFF6F6F6" Geometry="F1M4,16C2.897,16,2,15.103,2,14L2,5 1,5 1,2 4,2C4,0.897,4.897,0,6,0L9,0C10.103,0,11,0.897,11,2L14,2 14,5 13,5 13,14C13,15.103,12.103,16,11,16z" />
+              <GeometryDrawing Brush="#FFEFEFF0" Geometry="F1M10,12L9,12 9,6 10,6z M8,12L7,12 7,6 8,6z M6,12L5,12 5,6 6,6z M4,14L11,14 11,4 4,4z" />
+              <GeometryDrawing Brush="#FF424242" Geometry="F1M11,4L4,4 4,14 11,14z M6,3L9,3 9,2 6,2z M13,3L13,4 12,4 12,14C12,14.552,11.552,15,11,15L4,15C3.448,15,3,14.552,3,14L3,4 2,4 2,3 5,3 5,2C5,1.448,5.448,1,6,1L9,1C9.552,1,10,1.448,10,2L10,3z M10,6L9,6 9,12 10,12z M8,6L7,6 7,12 8,12z M6,12L5,12 5,6 6,6z" />
+            </DrawingGroup.Children>
+          </DrawingGroup>
+        </DrawingBrush.Drawing>
+      </DrawingBrush>
+    </Rectangle.Fill>
+  </Rectangle>
+</Viewbox>
\ No newline at end of file
diff --git a/VECTO3GUI2020/Resources/Icons/drawables.xaml b/VECTO3GUI2020/Resources/Icons/drawables.xaml
new file mode 100644
index 0000000000..80c941c266
--- /dev/null
+++ b/VECTO3GUI2020/Resources/Icons/drawables.xaml
@@ -0,0 +1,50 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+    <DataTemplate x:Key="TrashIcon">
+        <Viewbox  Stretch="Uniform"  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+            <Rectangle  Width="16" Height="16">
+                <Rectangle.Fill>
+                    <DrawingBrush>
+                        <DrawingBrush.Drawing>
+                            <DrawingGroup>
+                                <DrawingGroup.Children>
+                                    <GeometryDrawing Brush="#00FFFFFF" Geometry="F1M16,16L0,16 0,0 16,0z" />
+                                    <GeometryDrawing Brush="#FFF6F6F6" Geometry="F1M4,16C2.897,16,2,15.103,2,14L2,5 1,5 1,2 4,2C4,0.897,4.897,0,6,0L9,0C10.103,0,11,0.897,11,2L14,2 14,5 13,5 13,14C13,15.103,12.103,16,11,16z" />
+                                    <GeometryDrawing Brush="#FFEFEFF0" Geometry="F1M10,12L9,12 9,6 10,6z M8,12L7,12 7,6 8,6z M6,12L5,12 5,6 6,6z M4,14L11,14 11,4 4,4z" />
+                                    <GeometryDrawing Brush="#FF424242" Geometry="F1M11,4L4,4 4,14 11,14z M6,3L9,3 9,2 6,2z M13,3L13,4 12,4 12,14C12,14.552,11.552,15,11,15L4,15C3.448,15,3,14.552,3,14L3,4 2,4 2,3 5,3 5,2C5,1.448,5.448,1,6,1L9,1C9.552,1,10,1.448,10,2L10,3z M10,6L9,6 9,12 10,12z M8,6L7,6 7,12 8,12z M6,12L5,12 5,6 6,6z" />
+                                </DrawingGroup.Children>
+                            </DrawingGroup>
+                        </DrawingBrush.Drawing>
+                    </DrawingBrush>
+                </Rectangle.Fill>
+            </Rectangle>
+        </Viewbox>
+    </DataTemplate>
+    <DataTemplate x:Key="AddDocumentIcon">
+        <Viewbox Stretch="Uniform" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+            <Rectangle Width="16" Height="16">
+                <Rectangle.Fill>
+                    <DrawingBrush>
+                        <DrawingBrush.Drawing>
+                            <DrawingGroup>
+                                <DrawingGroup.Children>
+                                    <GeometryDrawing Brush="#00FFFFFF" Geometry="F1M16,16L0,16 0,0 16,0z" />
+                                    <GeometryDrawing Brush="#FFF6F6F6" Geometry="F1M1.9998,-0.000199999999999534L1.9998,2.0188 0.9998,2.0188 0.9998,5.9998 1.9998,5.9998 1.9998,15.9998 15.0008,15.9998 15.0008,4.3788 10.6208,-0.000199999999999534z" />
+                                    <GeometryDrawing Brush="#FF424242" Geometry="F1M10,5L10,2.207 12.793,5z M10.207,1L7,1 7,2 9,2 9,2.018 9,6 13,6 13,14 4,14 4,8 3.019,8 3,15 14,15 14,4.793z" />
+                                    <GeometryDrawing Brush="#FF424242" Geometry="F1M10,5L10,2.207 12.793,5z M10.207,1L7,1 7,2 9,2 9,2.018 9,6 13,6 13,14 4,14 4,8 3.019,8 3,15 14,15 14,4.793z" />
+                                    <GeometryDrawing Brush="#FFF0EFF1" Geometry="F1M7,2.018L9,2.018 9,1.999 7,1.999z" />
+                                    <GeometryDrawing Brush="#FFF0EFF1" Geometry="F1M10,2.207L10,5 12.793,5z" />
+                                    <GeometryDrawing Brush="#FFF0EFF1" Geometry="F1M9,6L7,6 7,8 4,8 4,14 13,14 13,6z" />
+                                    <GeometryDrawing Brush="#FFEFEFF0" Geometry="F1M7,2.018L9,2.018 9,1.999 7,1.999z" />
+                                    <GeometryDrawing Brush="#FFEFEFF0" Geometry="F1M10,2.207L10,5 12.793,5z" />
+                                    <GeometryDrawing Brush="#FFEFEFF0" Geometry="F1M9,6L7,6 7,8 4,8 4,14 13,14 13,6z" />
+                                    <GeometryDrawing Brush="#FF388A34" Geometry="F1M8,3.0181L6,3.0181 6,1.0001 4.019,1.0001 4.019,3.0181 2,3.0181 2,5.0001 4.019,5.0001 4.019,7.0001 6,7.0001 6,5.0001 8,5.0001z" />
+                                </DrawingGroup.Children>
+                            </DrawingGroup>
+                        </DrawingBrush.Drawing>
+                    </DrawingBrush>
+                </Rectangle.Fill>
+            </Rectangle>
+        </Viewbox>
+    </DataTemplate>
+</ResourceDictionary>
\ No newline at end of file
diff --git a/VECTO3GUI2020/Resources/Templates/ErrorTemplates.xaml b/VECTO3GUI2020/Resources/Templates/ErrorTemplates.xaml
new file mode 100644
index 0000000000..52b5e05bc2
--- /dev/null
+++ b/VECTO3GUI2020/Resources/Templates/ErrorTemplates.xaml
@@ -0,0 +1,12 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+                    xmlns:customControls="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls">
+    
+<ControlTemplate x:Key="multistageParameterControlErrorTemplate">
+    <Grid>
+        <AdornedElementPlaceholder></AdornedElementPlaceholder>
+            <TextBlock Text="!" Height="Auto" FontWeight="ExtraBold" Foreground="OrangeRed" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="4"></TextBlock>
+    </Grid>
+
+</ControlTemplate>
+</ResourceDictionary>
\ No newline at end of file
diff --git a/VECTO3GUI2020/Test.xaml b/VECTO3GUI2020/Test.xaml
index 883faca601..d82af086ae 100644
--- a/VECTO3GUI2020/Test.xaml
+++ b/VECTO3GUI2020/Test.xaml
@@ -15,8 +15,9 @@
         <StackPanel>
             <customControls:MultiStageParameter Content="{Binding ConvertedSI}" DummyContent="{Binding Source={StaticResource milimeterDummy}}"/>
             <customControls:MultiStageParameter Content="{Binding ConvertedSI1}" DummyContent="{Binding Source={StaticResource milimeterDummy}}"/>
+            <customControls:MultiStageParameter Content="{Binding Meter}"/>
             <customControls:MultiStageParameter Mode="COMBOBOX" Content="{Binding HeatPumpMode}"></customControls:MultiStageParameter>
-            <customControls:MultiStageParameter Mode="TEXTBOX" Content="{Binding TestString}"></customControls:MultiStageParameter>
+            <customControls:MultiStageParameter Mode="TEXTBOX" Content="{Binding TestString, ValidatesOnExceptions=True}"></customControls:MultiStageParameter>
         </StackPanel>
     </Grid>
 </UserControl>
diff --git a/VECTO3GUI2020/TestViewModel.cs b/VECTO3GUI2020/TestViewModel.cs
index c82ada14ba..f062f2e414 100644
--- a/VECTO3GUI2020/TestViewModel.cs
+++ b/VECTO3GUI2020/TestViewModel.cs
@@ -4,8 +4,10 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Castle.Core.Internal;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
+using VECTO3GUI2020.Helper;
 using VECTO3GUI2020.ViewModel.Implementation.Common;
 using VECTO3GUI2020.ViewModel.Interfaces;
 using VECTO3GUI2020.ViewModel.Interfaces.Common;
@@ -52,12 +54,19 @@ namespace VECTO3GUI2020
 		public String TestString
 		{
 			get => _testString;
-			set => SetProperty(ref _testString, value);
+			set
+			{
+				if (value.IsNullOrEmpty()) {
+					throw new VectoEmptyFieldException();
+				}
+				SetProperty(ref _testString, value);
+			}
 		}
 
+
 		public TestViewModel()
 		{
-			TestString = "Value loaded";
+			
 		}
     }
 }
diff --git a/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLAirDragWriter.cs b/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLAirDragWriter.cs
index 0156742325..6a61bcebf4 100644
--- a/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLAirDragWriter.cs
+++ b/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLAirDragWriter.cs
@@ -10,6 +10,7 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using VECTO3GUI2020.Helper;
 using VECTO3GUI2020.Util.XML.Interfaces;
 using VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle.Components;
+using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
 
 namespace VECTO3GUI2020.Util.XML.Implementation.ComponentWriter
 {
@@ -45,7 +46,8 @@ namespace VECTO3GUI2020.Util.XML.Implementation.ComponentWriter
 	public class XMLAirDragWriter_v2_0 : XMLAirDragWriter
 	{
 		public static readonly string[] SUPPORTED_VERSIONS = {
-			typeof(AirDragViewModel_v2_0).ToString()
+			typeof(AirDragViewModel_v2_0).ToString(),
+			typeof(MultistageAirdragViewModel).ToString()
 		};
 		public XMLAirDragWriter_v2_0(IAirdragDeclarationInputData inputData) : base(inputData) { }
 		protected override void CreateDataElements()
@@ -60,8 +62,8 @@ namespace VECTO3GUI2020.Util.XML.Implementation.ComponentWriter
 			dataElement.Add(new XElement(_defaultNamespace + XMLNames.Component_CertificationNumber, _inputData.CertificationNumber));
 			dataElement.Add(new XElement(_defaultNamespace + XMLNames.Component_Date, _inputData.Date));
 			dataElement.Add(new XElement(_defaultNamespace + XMLNames.Component_AppVersion, _inputData.AppVersion));
-			dataElement.Add(new XElement(_defaultNamespace + XMLNames.AirDrag_CdxA_0, _inputData.AirDragArea.ToXMLFormat(2)));
-			dataElement.Add(new XElement(_defaultNamespace + XMLNames.AirDrag_TransferredCDxA, _inputData.AirDragArea.ToXMLFormat(2)));
+			dataElement.Add(new XElement(_defaultNamespace + XMLNames.AirDrag_CdxA_0, _inputData.AirDragArea_0.ToXMLFormat(2)));
+			dataElement.Add(new XElement(_defaultNamespace + XMLNames.AirDrag_TransferredCDxA, _inputData.TransferredAirDragArea.ToXMLFormat(2)));
 			dataElement.Add(new XElement(_defaultNamespace + XMLNames.AirDrag_DeclaredCdxA, _inputData.AirDragArea.ToXMLFormat(2)));
 
 		}
@@ -69,7 +71,7 @@ namespace VECTO3GUI2020.Util.XML.Implementation.ComponentWriter
 		protected override void Initialize()
 		{
 			_defaultNamespace = XMLNamespaces.V20;
-			_xElement = new XElement(_defaultNamespace + XMLNames.Component_AirDrag);
+			_xElement = new XElement(XMLNames.Component_AirDrag);
 		}
 	}
 }
diff --git a/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLBusAuxiliariesWriter.cs b/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLBusAuxiliariesWriter.cs
new file mode 100644
index 0000000000..5c73182aad
--- /dev/null
+++ b/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLBusAuxiliariesWriter.cs
@@ -0,0 +1,52 @@
+using System.Xml.Linq;
+using TUGraz.VectoCommon.InputData;
+
+namespace VECTO3GUI2020.Util.XML.Implementation.ComponentWriter
+{
+	public abstract class XMLBusAuxiliariesWriter
+	{
+		private readonly IBusAuxiliariesDeclarationData _inputData;
+		private XElement _xElement;
+
+		protected XMLBusAuxiliariesWriter(IBusAuxiliariesDeclarationData inputData)
+		{
+			_inputData = inputData;
+		}
+
+		public XElement GetElement()
+		{
+			if (_xElement == null)
+			{
+				Initialize();
+				CreateElements();
+			}
+
+			return _xElement;
+		}
+		public abstract void Initialize();
+
+		public abstract void CreateElements();
+	}
+
+
+
+	public class XMLBusAuxiliariesWriterMultistage : XMLBusAuxiliariesWriter
+	{
+		private XNamespace _defaultNamespace;
+		public XMLBusAuxiliariesWriterMultistage(IBusAuxiliariesDeclarationData inputData) : base(inputData) { }
+
+		#region Overrides of XMLBusAuxiliariesWriter
+
+		public override void Initialize()
+		{
+			_defaultNamespace = XMLNamespaces.V23;
+		}
+
+		public override void CreateElements()
+		{
+			throw new System.NotImplementedException();
+		}
+
+		#endregion
+	}
+}
\ No newline at end of file
diff --git a/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLVehicleWriter.cs b/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLVehicleWriter.cs
index 8090a5e16c..7095cb73ca 100644
--- a/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLVehicleWriter.cs
+++ b/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLVehicleWriter.cs
@@ -1,16 +1,22 @@
 using System;
+using System.Collections.Generic;
 using System.Diagnostics;
+using System.Linq;
 using System.Xml.Linq;
+using Castle.Core.Internal;
 using TUGraz.IVT.VectoXML.Writer;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
+using VECTO3GUI2020.Helper;
 using VECTO3GUI2020.Util.XML.Interfaces;
 using VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle;
 using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle;
+using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
 
 namespace VECTO3GUI2020.Util.XML.Implementation
 {
@@ -184,4 +190,114 @@ namespace VECTO3GUI2020.Util.XML.Implementation
 	
     public class XMLVehicleWriter_ExcemptedVehicle_v2_2 { }
 
+	public class XMLVehicleWriter_v2_8 : XMLVehicleWriter
+	{
+		public new static readonly string[] SUPPORTEDVERSIONS = {
+			typeof(DeclarationInterimStageBusVehicleViewModel_v2_8).ToString()
+		};
+		public XMLVehicleWriter_v2_8(IVehicleDeclarationInputData inputData, IXMLWriterFactory xmlWriterFactory) : base(inputData, xmlWriterFactory)
+		{
+			
+
+		}
+
+		#region Overrides of XMLVehicleWriter
+
+		protected override void Initialize()
+		{
+			_defaultNamespace = XMLNamespaces.V28;
+
+			_Xelement = new XElement(XMLNamespaces.V20 + XMLNames.Component_Vehicle);
+			
+			_Xelement.Add(new XAttribute(XMLNames.Component_ID_Attr, "TODO_ADDIDENTIFIER"));
+			_Xelement.Add(new XAttribute(XMLNamespaces.Xsi + XMLNames.Attr_Type, "InterimStageInputType"));
+		}
+
+		protected override void CreateElements()
+		{
+
+
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Component_Manufacturer, _inputData.Manufacturer));
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Component_ManufacturerAddress,
+				_inputData.ManufacturerAddress));
+
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Vehicle_VIN, _inputData.VIN));
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Component_Date, DateTime.Today.ToXmlFormat()));
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Component_Model, _inputData.Model));
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Bus_LegislativeCategory, _inputData.LegislativeClass.ToXMLFormat()));
+
+			
+
+
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Bus_CorrectedActualMass, _inputData.CurbMassChassis?.ToXMLFormat(0)));
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Vehicle_TPMLM,
+				_inputData.GrossVehicleMassRating?.ToXMLFormat(0)));
+
+
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Bus_AirdragModifiedMultistage, _inputData.AirdragModifiedMultistage));
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Vehicle_NgTankSystem, _inputData.TankSystem));
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Vehicle_RegisteredClass, _inputData.RegisteredClass.ToXMLFormat()));
+
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Bus_NumberPassengersLowerDeck, _inputData.NumberOfPassengersLowerDeck));
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Bus_NumberPassengersUpperDeck, _inputData.NumberOfPassengersUpperDeck));
+
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Vehicle_VehicleCode, _inputData.VehicleCode.ToXMLFormat()));
+
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Bus_LowEntry, _inputData.LowEntry));
+
+
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeighIntegratedBody, _inputData.Height.ConvertToMilliMeter()));
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Bus_VehicleLength, _inputData.Length.ConvertToMilliMeter()));
+
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Bus_VehicleWidth, _inputData.Width.ConvertToMilliMeter()));
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Bus_EntranceHeight, _inputData.EntranceHeight.ConvertToMilliMeter()));
+
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.BusAux_PneumaticSystem_DoorDriveTechnology, 
+				_inputData.DoorDriveTechnology != null 
+					? _inputData.DoorDriveTechnology.ToXMLFormat()
+					: null));
+
+			_Xelement.Add(new XElement(_defaultNamespace + XMLNames.Bus_DeclarationType, _inputData.VehicleDeclarationType));
+
+			if (_inputData.ADAS != null) {
+				var adasNamespace = XMLNamespaces.V23;
+				var aDASElement = new XElement(_defaultNamespace + XMLNames.Vehicle_ADAS);
+				_Xelement.Add(aDASElement);
+				aDASElement.Add(new XElement(adasNamespace + XMLNames.Vehicle_ADAS_EngineStopStart, _inputData.ADAS.EngineStopStart));
+
+				bool ecoRollWithoutEngineStop = _inputData.ADAS.EcoRoll == EcoRollType.WithoutEngineStop;
+				bool ecoRollWithEngineStop = _inputData.ADAS.EcoRoll == EcoRollType.WithEngineStop;
+
+				aDASElement.Add(new XElement(adasNamespace + XMLNames.Vehicle_ADAS_EcoRollWithoutEngineStop, ecoRollWithoutEngineStop));
+				aDASElement.Add(new XElement(adasNamespace + XMLNames.Vehicle_ADAS_EcoRollWithEngineStopStart, ecoRollWithEngineStop));
+				aDASElement.Add(new XElement(adasNamespace + XMLNames.Vehicle_ADAS_PCC,
+					_inputData.ADAS.PredictiveCruiseControl.ToXMLFormat()));
+			}
+
+			if (_inputData.Components != null) {
+				var componentElement = new XElement(
+					_defaultNamespace + XMLNames.Vehicle_Components,
+					new XAttribute(XMLNamespaces.Xsi + XMLNames.Components_type_attr,
+						"CompletedVehicleComponentsDeclarationType"));
+
+				//Airdrag
+				if (_inputData.Components.AirdragInputData != null) {
+					var airDragElement = _xmlWriterFactory.CreateComponentWriter(_inputData.Components.AirdragInputData)
+						.GetElement();
+					componentElement.Add(airDragElement);
+				}
+
+				//auxiliaries
+
+
+
+				_Xelement.Add(componentElement);
+			}
+
+			_Xelement.DescendantsAndSelf().Where(e => e.Value.IsNullOrEmpty()).Remove();
+		}
+
+		#endregion
+	}
+
 }
diff --git a/VECTO3GUI2020/Util/XML/XMLNamespaces.cs b/VECTO3GUI2020/Util/XML/XMLNamespaces.cs
index f2852d486b..6c7d84fa01 100644
--- a/VECTO3GUI2020/Util/XML/XMLNamespaces.cs
+++ b/VECTO3GUI2020/Util/XML/XMLNamespaces.cs
@@ -4,6 +4,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Xml.Linq;
+using Castle.Core.Internal;
 
 namespace VECTO3GUI2020.Util.XML
 {
@@ -16,14 +17,44 @@ namespace VECTO3GUI2020.Util.XML
 		public static XNamespace Tns_v20 = Tns.NamespaceName + ":v2.0";
 		public static XNamespace V26 = DeclarationDefinition + ":DEV:v2.6";
 		public static XNamespace V21 = DeclarationDefinition + ":v2.1";
-		public static XNamespace V23 = DeclarationDefinition + ":v2.3";
+		public static XNamespace V23 = DeclarationDefinition + ":DEV:v2.3";
 		public static XNamespace V20 = DeclarationDefinition + ":v2.0";
 		public static XNamespace V10 = DeclarationDefinition + ":v1.0";
+		public static XNamespace V28 = DeclarationDefinition + ":DEV:v2.8";
 		public static XNamespace Di = "http://www.w3.org/2000/09/xmldsig#";
 
 
 		public static string DeclarationRootNamespace = "urn:tugraz:ivt:VectoAPI:DeclarationJob";
 
-      
-    }
+
+
+		private static readonly Dictionary<XNamespace, string> NamespacePrefix
+			= new Dictionary<XNamespace, string> {
+				{ Xsi, "xsi" },
+				{ Tns, "tns" },
+				{ Tns_v20, "tns" },
+				{ V10, "v1.0"},
+				{ V20, "v2.0"},
+				{ V21, "v2.1"},
+				{ V23, "v2.3"},
+				{ V26, "v2.6"},
+				{ Di, "di"},
+				{ V28, "v2.8"},
+			};
+
+		public static string GetPrefix(XNamespace xNamespace)
+		{
+			if (xNamespace.NamespaceName.IsNullOrEmpty()) {
+				return null;
+			}
+			string prefix = NamespacePrefix[xNamespace];
+			return prefix;
+		}
+
+		public static string GetPrefix(string nameSpaceName)
+		{
+			XNamespace ns = nameSpaceName;
+			return GetPrefix(ns);
+		}
+	}
 }
diff --git a/VECTO3GUI2020/VECTO3GUI2020.csproj b/VECTO3GUI2020/VECTO3GUI2020.csproj
index 4a0859e621..0d0aa7158b 100644
--- a/VECTO3GUI2020/VECTO3GUI2020.csproj
+++ b/VECTO3GUI2020/VECTO3GUI2020.csproj
@@ -59,6 +59,7 @@
     <Reference Include="InteractiveDataDisplay.WPF, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
       <HintPath>..\packages\InteractiveDataDisplay.WPF.1.0.0\lib\net452\InteractiveDataDisplay.WPF.dll</HintPath>
     </Reference>
+    <Reference Include="Microsoft.Build.Framework" />
     <Reference Include="Microsoft.CSharp" />
     <Reference Include="Microsoft.Maps.MapControl.WPF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\Microsoft.Maps.MapControl.WPF.1.0.0.3\lib\net40-Client\Microsoft.Maps.MapControl.WPF.dll</HintPath>
@@ -134,6 +135,7 @@
     <Compile Include="Helper\Converter\VehicleCategoryToStringConverter.cs" />
     <Compile Include="Helper\Converter\XToBoolConverter.cs" />
     <Compile Include="Helper\DoubleValidation.cs" />
+    <Compile Include="Helper\Exceptions.cs" />
     <Compile Include="Helper\Extension.cs" />
     <Compile Include="Helper\IWindowHelper.cs" />
     <Compile Include="Helper\DialogHelper.cs" />
@@ -148,6 +150,7 @@
       <DependentUpon>Test.xaml</DependentUpon>
     </Compile>
     <Compile Include="TestViewModel.cs" />
+    <Compile Include="Util\XML\Implementation\ComponentWriter\XMLBusAuxiliariesWriter.cs" />
     <Compile Include="Util\XML\Implementation\ComponentWriter\XMLPTOWriter.cs" />
     <Compile Include="ViewModel\Implementation\Document\DeclarationJobViewModel.cs" />
     <Compile Include="ViewModel\Implementation\Document\DeclarationTrailerJobDocumentViewModel.cs" />
@@ -391,6 +394,18 @@
     <Page Include="DataGridStyles.xaml">
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="Resources\Icons\AddDocument_16x.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Include="Resources\Icons\drawables.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+    <Page Include="Resources\Icons\Trash_16x.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
     <Page Include="Resources\ObjectProvider.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
@@ -422,6 +437,10 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="Resources\Templates\ErrorTemplates.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="Resources\ViewModelBindings.xaml">
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
@@ -676,6 +695,9 @@
   <ItemGroup>
     <Folder Include="Model\Multistage\" />
   </ItemGroup>
+  <ItemGroup>
+    <Resource Include="Resources\Icons\Trash_16x.ico" />
+  </ItemGroup>
   <!-- ItemGroup>
     <Analyzer Include="..\packages\Microsoft.DependencyValidation.Analyzers.0.11.0\analyzers\dotnet\cs\Microsoft.DependencyValidation.Analyzers.resources.dll" />
   </-ItemGroup -->
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs
index 248bf91e44..1f18f9065d 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs
@@ -1,17 +1,21 @@
 using System;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
+using System.ComponentModel;
 using System.Configuration;
 using System.Linq;
+using System.Runtime.InteropServices.WindowsRuntime;
 using System.Text;
 using System.Threading.Tasks;
 using System.Xml;
 using Castle.Core.Internal;
+using Microsoft.Build.Framework;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
+using VECTO3GUI2020.Helper;
 using VECTO3GUI2020.Properties;
 using VECTO3GUI2020.ViewModel.Implementation.Common;
 using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle;
@@ -59,6 +63,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 
 	public interface IMultistageVehicleViewModel : IVehicleViewModel
 	{
+		bool HasErrors { get; }
+		Dictionary<string, string> Errors { get; }
 		void SetAirdragData(IAirdragDeclarationInputData airdragData);
 		void SetBusAuxiliaries(IBusAuxiliariesDeclarationData busAuxData);
 		void SetVehicleInputData(IVehicleDeclarationInputData vehicleInputData);
@@ -66,7 +72,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 
 
 	class DeclarationInterimStageBusVehicleViewModel_v2_8 : ViewModelBase, IMultistageVehicleViewModel,
-		IVehicleComponentsDeclaration, IAdvancedDriverAssistantSystemDeclarationInputData
+		IVehicleComponentsDeclaration, IAdvancedDriverAssistantSystemDeclarationInputData, IDataErrorInfo
 	{
 
 
@@ -120,11 +126,13 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 		private Meter _width;
 
 
-
 		public string Manufacturer
 		{
 			get { return _manufacturer; }
-			set { SetProperty(ref _manufacturer, value); }
+			set
+			{
+				SetProperty(ref _manufacturer, value);
+			}
 		}
 
 		public string Model
@@ -285,13 +293,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 		{
 			get => _airdragModifiedMultistage.toAirdragModifiedEnum();
 			set {
-				if (value == AirdragModifiedEnum.UNKNOWN && AirdragModifiedMultistageEditingEnabled) {
-					throw new ArgumentException();
-				}
 				AirdragModifiedMultistage = value.toNullableBool();
-			} 
-		
-
+			}
 		}
 
         public AirdragModifiedEnum ConsolidatedAirdragModifiedEnum
@@ -491,7 +494,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 
 		public DateTime Date
 		{
-			get { throw new NotImplementedException(); }
+			get => DateTime.Today;
 		}
 
 		public string AppVersion
@@ -610,7 +613,14 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 
 		public IVehicleComponentsDeclaration Components
 		{
-			get { throw new NotImplementedException(); }
+			get
+			{
+				if ((_airdragInputData != null) || (_busAuxiliaries != null)) {
+					return this;
+				} else {
+					return null;
+				}
+			}
 		}
 
 		
@@ -679,5 +689,62 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 			PredictiveCruiseControlNullable = vehicleInputData.ADAS?.PredictiveCruiseControl;
 			ATEcoRollReleaseLockupClutch = vehicleInputData.ADAS?.ATEcoRollReleaseLockupClutch;
 		}
+
+		#region Implementation of IDataErrorInfo
+
+		public Dictionary<string, string> Errors { get; private set; } = new Dictionary<string, string>();
+
+		public string this[string propertyName]
+		{
+			get
+			{
+				string result = null;
+				switch (propertyName) {
+					case nameof(Manufacturer):
+						if (string.IsNullOrWhiteSpace(Manufacturer)) {
+							result = "Manufacturer cannot be empty";
+						}
+						
+						break;
+					case nameof(ManufacturerAddress):
+						if (string.IsNullOrWhiteSpace(ManufacturerAddress))
+						{
+							result = "Manufacturer address cannot be empty";
+						}
+						break;
+					case nameof(VIN):
+						if (string.IsNullOrEmpty(VIN)) {
+							result = "VIN cannot be empty";
+						}
+						break;
+					case nameof(AirdragModifiedEnum):
+						if (AirdragModifiedMultistageEditingEnabled && AirdragModifiedEnum == AirdragModifiedEnum.UNKNOWN) {
+							result = "Air drag modified has to be set";
+						}
+						break;
+				}
+				//string result_null; //https://www.youtube.com/watch?v=5KF0GGObuAQ
+
+				if (result == null) {
+					if(Errors.ContainsKey(propertyName))
+					Errors.Remove(propertyName);
+				} else {
+					Errors[propertyName] = result;
+				}
+				
+
+				return result;
+			}
+		}
+
+		public string Error { get => String.Join(",", Errors.Values); }
+		public bool HasErrors
+		{
+			get
+			{
+				return !Error.IsNullOrEmpty();
+			}
+		}
+		#endregion
 	}
 }
\ No newline at end of file
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs
index c9dd0c1d1b..362594682a 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs
@@ -103,7 +103,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 					.BusAuxiliaries);
 			Components.Add("Auxiliaries", _auxiliariesViewModel as IViewModelBase);
 
-			VehicleViewModel.SetAirdragData(_airDragEditViewModel);
+			VehicleViewModel.SetAirdragData(_airDragEditViewModel.AirDragViewModel);
 			VehicleViewModel.SetBusAuxiliaries(_auxiliariesViewModel);
 		}
 
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs
index 0bdfca0590..f5f264fcac 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 using System.Text;
 using System.Windows;
@@ -34,7 +35,10 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 
 		public string AirdragFilePath
 		{
-			get => _airdragFilePath;
+			get
+			{
+				return AirDragViewModel?.DataSource.SourceFile.ToString();
+			} 
 			set => SetProperty(ref _airdragFilePath, value);
 		}
 
@@ -46,6 +50,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 
 		public void SetAirdragInputData(IAirdragDeclarationInputData airdragInputData)
 		{
+			Debug.WriteLine("[MultistageAirdragViewModel] loaded AirdragInputData");
 			if (airdragInputData == null) {
 				AirDragViewModel = null;
 				return;
@@ -66,7 +71,12 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 
 		#region Commands
 
+
+
 		private ICommand _loadAirdragFileCommand;
+		private ICommand _removeAirdragDataCommand;
+
+
 
 		private Dictionary<string, string> _validationErrors;
 
@@ -113,7 +123,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 
 					var airDragInputData = _dependencies.InjectFactory.CreateAirdragData(dataProviderVersion, null, airdragNode, fileName);
 					AirDragViewModel = _dependencies.ComponentViewModelFactory.CreateComponentViewModel(airDragInputData) as IAirDragViewModel;
-					success = false;
+					success = true;
 				} else {
 					success = false;
 				}
@@ -124,14 +134,21 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 					MessageBoxButton.OK,
 					MessageBoxImage.Error);
 				success = false;
+				return;
 			}
 
 			if (success) {
 				AirdragFilePath = fileName;
+			} else {
+				_dependencies.DialogHelper.ShowMessageBox("Invalid input file", "Error", MessageBoxButton.OK,
+					MessageBoxImage.Error);
 			}
 			
 		}
 
+
+
+
 		private void ValidationErrorAction(XmlSeverityType arg1, ValidationEvent arg2)
 		{
 			var xmlException = arg2?.ValidationEventArgs?.Exception as XmlSchemaValidationException;
@@ -145,6 +162,14 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 					_validationErrors.Add(localName, message?.Message);
 			}
 		}
+
+		public ICommand RemoveAirdragDataCommand{
+			get => _removeAirdragDataCommand ?? new RelayCommand(() => {
+				AirDragViewModel = null;
+				OnPropertyChanged(nameof(AirdragFilePath));
+			},  () => AirDragViewModel != null);
+		}
+
 		#endregion
 
 
@@ -162,13 +187,13 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 			ConsolidatedAirdragData = consolidatedAirdragInputData;
 		}
 
-		public DataSource DataSource => _airdragViewModel.DataSource;
+		public DataSource DataSource => _airdragViewModel?.DataSource;
 
-		public bool SavedInDeclarationMode => _airdragViewModel.SavedInDeclarationMode;
+		public bool SavedInDeclarationMode => _airdragViewModel?.SavedInDeclarationMode ?? false;
 
-		public string Manufacturer => _airdragViewModel.Manufacturer;
+		public string Manufacturer => _airdragViewModel?.Manufacturer;
 
-		public string Model => _airdragViewModel.Model;
+		public string Model => _airdragViewModel?.Model;
 
 		public DateTime Date => _airdragViewModel.Date;
 
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs
index e83f56bf93..2740c0a0d7 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs
@@ -1,22 +1,28 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 using System.Windows;
 using System.Windows.Input;
+using System.Windows.Navigation;
+using System.Xml;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCore.InputData.FileIO.XML;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
+using TUGraz.VectoCore.Utils;
 using VECTO3GUI2020.Helper;
 using VECTO3GUI2020.Ninject;
 using VECTO3GUI2020.Properties;
 using VECTO3GUI2020.Util;
+using VECTO3GUI2020.Util.XML;
 using VECTO3GUI2020.ViewModel.Implementation.Common;
 using VECTO3GUI2020.ViewModel.Interfaces;
 using VECTO3GUI2020.ViewModel.Interfaces.Common;
 using VECTO3GUI2020.ViewModel.Interfaces.Document;
 using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle;
 using VECTO3GUI2020.ViewModel.MultiStage.Interfaces;
+using XmlDocumentType = TUGraz.VectoCore.Utils.XmlDocumentType;
 
 namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 {
@@ -41,29 +47,81 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 		}
 
 		#region Commands
-		private ICommand _saveCommand;
+		private ICommand _saveVifCommand;
 
-		public ICommand SaveCommand
+		public ICommand SaveVIFCommand
 		{
 			get
 			{
-				return _saveCommand ?? new RelayCommand(() => {
-					SaveFile(this);
+				return _saveVifCommand ?? new RelayCommand(() => {
+					SaveVIF(this);
 				}, () => true);
 			}
 		}
 
-		private static void SaveFile(IMultistageVIFInputData inputData)
+		private static void SaveVIF(IMultistageVIFInputData inputData)
 		{
 			var vifInputData = inputData;
+		}
+
+		private ICommand _saveInputDataCommand;
+		private ICommand _saveInputDataAsCommand;
+
+		public ICommand SaveInputDataCommand =>
+			_saveInputDataCommand ?? new RelayCommand(() => {
+				SaveInputDataExecute(filename:_vehicleInputDataFilePath);
+			}, () => _vehicleInputDataFilePath != null);
+
+		public ICommand SaveInputDataAsCommand =>
+			_saveInputDataAsCommand ?? new RelayCommand(() => {
+				SaveInputDataExecute(filename:null);
+			}, () => true);
+
+		private void SaveInputDataExecute(string filename)
+		{
+			if(_manufacturingStageViewModel.Vehicle is IMultistageVehicleViewModel vehicleViewModel)
+			{
+				if (vehicleViewModel.HasErrors) {
+					_dialogHelper.Value.ShowMessageBox(string.Join("\n", vehicleViewModel.Errors.Values), "Error" );
+					return;
+				}
+			}
 			
+
+
+			if (filename == null) {
+				filename = _dialogHelper.Value.SaveToXMLDialog(Settings.Default.DefaultFilePath);
+				if (filename == null) {
+					return;
+				}
+			}
+
+			var vehicleWriter =
+				_multistageDependencies.XMLWriterFactory.CreateVehicleWriter(_manufacturingStageViewModel.Vehicle);
+
+
+
+			var xElement = vehicleWriter.GetElement();
+			var xDoc = xElement.CreateWrapperDocument(XMLNamespaces.V28);
+			Debug.WriteLine(xElement.CreateWrapperDocument(XMLNamespaces.V28).ToString());
+
+			var validator = new XMLValidator(xDoc.ToXmlDocument());
+			var valid = validator.ValidateXML(XmlDocumentType.DeclarationJobData);
+			if (!valid) {
+				_dialogHelper.Value.ShowMessageBox($"Invalid Document: {validator.ValidationError}", "Error");
+				xDoc.Save(filename, SaveOptions.OmitDuplicateNamespaces);
+				LoadVehicleData(filename);
+			} else {
+				xDoc.Save(filename, SaveOptions.OmitDuplicateNamespaces);
+			}
 		}
 
 
 		private ICommand _loadVehicleDataCommand;
 		private readonly Lazy<IDialogHelper> _dialogHelper;
 		private readonly Lazy<IXMLInputDataReader> _inputDataReader;
-		private string _vehicleInputDataFilePath = "Select Vehicle Input Data";
+		private string _vehicleInputDataFilePath = null;
+		private readonly IMultistageDependencies _multistageDependencies;
 
 		public ICommand LoadVehicleDataCommand
 		{
@@ -80,19 +138,26 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 				return;
 			}
 
+			LoadVehicleData(fileName);
+			return;
+		}
+
+		private bool LoadVehicleData(string fileName)
+		{
 			IDeclarationInputDataProvider inputData;
 			IVehicleDeclarationInputData vehicleInputData;
 			try {
 				inputData = (IDeclarationInputDataProvider)_inputDataReader.Value.CreateDeclaration(fileName);
 				vehicleInputData = inputData.JobInputData.Vehicle;
 				_manufacturingStageViewModel.SetInputData(vehicleInputData);
+
+				VehicleInputDataFilePath = fileName;
 			} catch (Exception e) {
 				_dialogHelper.Value.ShowMessageBox(e.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
-				return;
+				return true;
 			}
 
-			
-			return;
+			return false;
 		}
 
 		public string VehicleInputDataFilePath
@@ -115,6 +180,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 			_inputDataReader = multistageDependencies.InputDataReaderLazy;
 			_manufacturingStageViewModel =
 				vmFactory.GetManufacturingStageViewModel(_consolidateManufacturingStage);
+			_multistageDependencies = multistageDependencies;
 		}
 
 
@@ -177,6 +243,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 			set => _inputComplete = value;
 		}
 
+	
+
 		#endregion
 	}
 
diff --git a/VECTO3GUI2020/Views/CustomControls/CustomControlExtensionMethods.cs b/VECTO3GUI2020/Views/CustomControls/CustomControlExtensionMethods.cs
index 02d770aea5..39c340cab1 100644
--- a/VECTO3GUI2020/Views/CustomControls/CustomControlExtensionMethods.cs
+++ b/VECTO3GUI2020/Views/CustomControls/CustomControlExtensionMethods.cs
@@ -49,7 +49,7 @@ namespace VECTO3GUI2020.Views.CustomControls
 			return PropertyType;
 		}
 
-		public static object CreateDummyContent(this UserControl userControl, DependencyPropertyChangedEventArgs e)
+		public static object CreateDummyContent(this UserControl userControl, DependencyPropertyChangedEventArgs e, bool createEnum = false)
 		{
 			var type = userControl.GetPropertyType(e.Property);
 			if (type == null)
@@ -62,13 +62,13 @@ namespace VECTO3GUI2020.Views.CustomControls
 				var baseType = dynType.BaseType;
 				//Create SI Dummy
 
-				if (baseType.BaseType == typeof(SI))
+				if (baseType?.BaseType != null && baseType.BaseType == typeof(SI))
 				{
 					var createMethod = baseType.GetMethod("Create");
 					var dummyContent = createMethod?.Invoke(null, new object[] { (new double()) });
 					return dummyContent;
 				}
-				else
+				else if(createEnum)
 				{
 					var bindingProperty = userControl.GetBindingExpression(e.Property);
 					var dataItemType = bindingProperty?.DataItem.GetType();
diff --git a/VECTO3GUI2020/Views/Multistage/CustomControls/FilePicker.xaml b/VECTO3GUI2020/Views/Multistage/CustomControls/FilePicker.xaml
index 2df363f198..f32becd1ec 100644
--- a/VECTO3GUI2020/Views/Multistage/CustomControls/FilePicker.xaml
+++ b/VECTO3GUI2020/Views/Multistage/CustomControls/FilePicker.xaml
@@ -5,7 +5,7 @@
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls"
              mc:Ignorable="d" 
-             d:DesignHeight="30" d:DesignWidth="800" Name="filepickercustomcontrol" MinHeight="40">
+             d:DesignHeight="30" d:DesignWidth="800" Name="filepickercustomcontrol" MinHeight="40" MinWidth="400">
     <Grid Margin="4" VerticalAlignment="Stretch">
         <Grid.RowDefinitions>
             <RowDefinition></RowDefinition>
@@ -17,9 +17,9 @@
         <TextBox VerticalContentAlignment="Center" Padding="4" Margin = "0 0 0 0" IsReadOnly="True" 
                      Text="{Binding Text, ElementName=filepickercustomcontrol}" HorizontalAlignment="Stretch" TextWrapping="Wrap"
                      Style="{DynamicResource TextBoxStyle1}"/>
-        <Button Padding="4" Margin="4 0 0 0" Grid.Column="1" Command="{Binding Command, ElementName=filepickercustomcontrol}" Style="{DynamicResource FilePickerButtonStyle}">
-                <Image Source="../../../Resources/Icons/folderpicker.ico">
-                </Image>
+        <Button Padding="4" Margin="4 0 0 0" Grid.Column="1" ContentTemplate="{DynamicResource AddDocumentIcon}"
+                Command="{Binding Command, ElementName=filepickercustomcontrol}" Style="{DynamicResource FilePickerButtonStyle}">
+                
             </Button>
         </Grid>
 </UserControl>
diff --git a/VECTO3GUI2020/Views/Multistage/CustomControls/LabledTextBoxMultistage.xaml.cs b/VECTO3GUI2020/Views/Multistage/CustomControls/LabledTextBoxMultistage.xaml.cs
index bdaf1c6c12..8fd84d304a 100644
--- a/VECTO3GUI2020/Views/Multistage/CustomControls/LabledTextBoxMultistage.xaml.cs
+++ b/VECTO3GUI2020/Views/Multistage/CustomControls/LabledTextBoxMultistage.xaml.cs
@@ -72,6 +72,15 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 			set { SetValue(LabelTextProperty, value); }
 		}
 
+		public static readonly DependencyProperty ModeProperty = DependencyProperty.Register(
+			"Mode", typeof(MultistageParameterViewMode), typeof(LabledTextBoxMultistage), new PropertyMetadata(default(MultistageParameterViewMode)));
+
+		public MultistageParameterViewMode Mode
+		{
+			get { return (MultistageParameterViewMode)GetValue(ModeProperty); }
+			set { SetValue(ModeProperty, value); }
+		}
+
 		#endregion
 
 		private static void ContentChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
@@ -79,7 +88,8 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 			var labledTextBoxMultistage = (CustomControls.LabledTextBoxMultistage)d;
 
 
-			labledTextBoxMultistage.DummyContent = labledTextBoxMultistage.CreateDummyContent(e);
+			labledTextBoxMultistage.DummyContent = labledTextBoxMultistage.CreateDummyContent(e, 
+				createEnum:labledTextBoxMultistage.Mode == MultistageParameterViewMode.COMBOBOX);
 
 			if (labledTextBoxMultistage.LabelText != null)
 			{
diff --git a/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml b/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml
index 56d7cb6228..74315b8a97 100644
--- a/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml
+++ b/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml
@@ -6,6 +6,9 @@
              xmlns:local="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls"
              mc:Ignorable="d" 
              d:DesignHeight="450" d:DesignWidth="800" Name="MultistageParameterControl">
+
+    
+    
     <Grid>
 
         <!-- _____________________________________________ Text mode ___________________________________________________________________-->
@@ -39,7 +42,6 @@
                  Text="{Binding Content,
                     ElementName=MultistageParameterControl, 
                     Converter={StaticResource SIValueToStringConverter}, 
-                    ValidatesOnExceptions=True, 
                     UpdateSourceTrigger=PropertyChanged}"
                  Style="{DynamicResource TextBoxStyle1}"
                  IsReadOnly="{Binding ElementName=MultistageParameterControl,
@@ -88,7 +90,6 @@
                 <ComboBox Grid.Column="3" HorizontalAlignment="Stretch" VerticalAlignment="Center" Margin="2 0 2 0" 
                           SelectedValue="{Binding Content, Mode=TwoWay, ElementName=MultistageParameterControl, ValidatesOnExceptions=True}" 
                           ItemsSource="{Binding ListItems, ElementName=MultistageParameterControl}"
-                          
                           IsEnabled="{Binding EditingEnabled, ElementName=MultistageParameterControl}"
                           IsEditable="False" MouseDoubleClick="Control_OnMouseDoubleClick">
                 <ComboBox.ItemTemplate>
@@ -138,5 +139,8 @@
                    Content="{Binding DummyContent, ElementName=MultistageParameterControl, Converter={StaticResource SIToUnitStringConverter}}">
             </Label>
         </Grid>
+
+        <!-- DatePicker Mode -->
+
     </Grid>
 </UserControl>
diff --git a/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml.cs b/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml.cs
index 841c1859b8..22c680889a 100644
--- a/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml.cs
+++ b/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml.cs
@@ -190,11 +190,15 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 			if (Mode != MultistageParameterViewMode.COMBOBOX) 
 				return;
 
-			if(DummyContent is Enum en) {
-				var enType = en.GetType();
-				
+			if(DummyContent is Enum dummyEnum) {
+				var enType = dummyEnum.GetType();
+				ListItems = Enum.GetValues(enType).Cast<object>().ToList();
+			}
 
+			if (Content is Enum contentEnum) {
+				var enType = contentEnum.GetType();
 				ListItems = Enum.GetValues(enType).Cast<object>().ToList();
+
 			}
 		}
 
@@ -217,13 +221,13 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 				
 
 
-				if (baseType.BaseType == typeof(SI)) {
+				if (baseType?.BaseType != null && baseType.BaseType == typeof(SI)) {
 					var createMethod = baseType.GetMethod("Create");
 					var dummyContent = createMethod?.Invoke(null, new object[] { (new double()) });
 					return dummyContent;
-				}else{
+				}else if(Mode == MultistageParameterViewMode.COMBOBOX) {
 					var bindingProperty = userControl.GetBindingExpression(e.Property);
-					var dataItemType = bindingProperty?.DataItem.GetType();
+					var dataItemType = bindingProperty?.DataItem?.GetType();
 					var sourcePropertyType =
 						dataItemType?.GetProperty(bindingProperty?.ResolvedSourcePropertyName)?.PropertyType;
 
@@ -252,7 +256,9 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 		{
 			MultiStageParameter multiStageParameter = (MultiStageParameter)d;
 			if((bool)e.NewValue == false) {
-				multiStageParameter.DummyContent = multiStageParameter.Content;
+				if (!Validation.GetHasError(multiStageParameter.TextBoxContent)) {
+					multiStageParameter.DummyContent = multiStageParameter.Content;
+				}
 				multiStageParameter.Content = null;
             } else {
 				if (multiStageParameter.Content != null) {
diff --git a/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml b/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml
index 63b5a17d77..a8b813c380 100644
--- a/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml
+++ b/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml
@@ -59,6 +59,7 @@
                                                 ShowCheckBox="False"/>
                     <Separator/>
                     <customControls:MultiStageParameter Mode="TEXTBOX" 
+                                                        Validation.ErrorTemplate="{DynamicResource multistageParameterControlErrorTemplate}"
                                                 PreviousContent="{Binding ConsolidatedInputData.HVACAux.AuxHeaterPower}"
                                                 Content="{Binding AuxHeaterPower}"/>
                     <customControls:MultiStageParameter Mode="CHECKBOX" 
diff --git a/VECTO3GUI2020/Views/Multistage/MultiStageView.xaml b/VECTO3GUI2020/Views/Multistage/MultiStageView.xaml
index cfb78aa744..6fe9f0f105 100644
--- a/VECTO3GUI2020/Views/Multistage/MultiStageView.xaml
+++ b/VECTO3GUI2020/Views/Multistage/MultiStageView.xaml
@@ -10,17 +10,26 @@
              d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance implementation:MultiStageJobViewModel_v0_1}">
     <Grid>
         <DockPanel>
-            <customControls:FilePicker Command="{Binding LoadVehicleDataCommand}" DockPanel.Dock="Top" Text="{Binding VehicleInputDataFilePath}"></customControls:FilePicker>
+            <customControls:FilePicker 
+                DockPanel.Dock="Top" 
+                Command="{Binding LoadVehicleDataCommand}" 
+                Text="{Binding VehicleInputDataFilePath, TargetNullValue=Select Vehicle Input Data . . .}"></customControls:FilePicker>
             <Border BorderThickness="1" BorderBrush="{DynamicResource ButtonHighlightColor}" Height="40" DockPanel.Dock="Bottom">
                 <DockPanel LastChildFill="False">
                     <Button DockPanel.Dock="Right"
                             Width="100"
-                            Command="{Binding SaveCommand}"
+                            Command="{Binding SaveVIFCommand}"
                             Style="{DynamicResource MultiStageButtonStyle1}"
                             Margin="4"
                             Padding="4">Save as new VIF</Button>
-                    <Button DockPanel.Dock="Right" Width="100"  Style="{DynamicResource MultiStageButtonStyle1}" Margin="4" Padding="4">Save Input</Button>
-                    <Button DockPanel.Dock="Right" Width="100"  Style="{DynamicResource MultiStageButtonStyle1}" Margin="4" Padding="4">Save Input As ... </Button>
+                    <Button 
+                        DockPanel.Dock="Right" 
+                        Width="100"  
+                        Style="{DynamicResource MultiStageButtonStyle1}" 
+                        Margin="4" 
+                        Padding="4" 
+                        Command="{Binding SaveInputDataCommand}">Save Input</Button>
+                    <Button DockPanel.Dock="Right" Width="100"  Style="{DynamicResource MultiStageButtonStyle1}" Margin="4" Padding="4" Command="{Binding SaveInputDataAsCommand}">Save Input As ... </Button>
                 </DockPanel>
             </Border>
             <ContentControl DockPanel.Dock="Top" Content="{Binding ManufacturingStageViewModel}"/>
diff --git a/VECTO3GUI2020/Views/Multistage/MultistageAirDragView.xaml b/VECTO3GUI2020/Views/Multistage/MultistageAirDragView.xaml
index c15697b01f..6fa79fa6bb 100644
--- a/VECTO3GUI2020/Views/Multistage/MultistageAirDragView.xaml
+++ b/VECTO3GUI2020/Views/Multistage/MultistageAirDragView.xaml
@@ -16,14 +16,27 @@
             <DockPanel>
                 <StackPanel DockPanel.Dock="Top">
                     <Label Content="AIRDRAG" HorizontalAlignment="Stretch" Background="{DynamicResource ButtonHighlightColor}" Style="{DynamicResource LabelStyle1}"/>
-                    <customControlsMultistage:FilePicker Text="{Binding AirdragFilePath}" Command="{Binding LoadAirdragFileCommand}"/>
-                    <StackPanel HorizontalAlignment="Stretch" Margin="4">
+                    <DockPanel HorizontalAlignment="Stretch" >
+                        <Button Width="30" Margin="4" DockPanel.Dock="Right"  
+                                Style="{DynamicResource FilePickerButtonStyle}" 
+                                ContentTemplate="{DynamicResource TrashIcon}"
+                                Command="{Binding RemoveAirdragDataCommand}">
+                            
+                        </Button>
+                        <customControlsMultistage:FilePicker 
+                            DockPanel.Dock="Left"
+                            Text="{Binding AirdragFilePath, TargetNullValue=Select Airdrag Input Data}" 
+                            Command="{Binding LoadAirdragFileCommand}"/>
+                    </DockPanel>
+                   
+                    <StackPanel HorizontalAlignment="Stretch" Margin="4" Visibility="{Binding ConsolidatedAirdragData, Converter={StaticResource NullToVisibilityConverter}}">
                         <Label Style="{DynamicResource LabelStyle1}">Consolidated Airdrag Data</Label>
                         <customControlsMultistage:LabledTextBoxMultistage Content="{Binding ConsolidatedAirdragData.Manufacturer, Mode=OneWay}" ReadOnly="True"/>
                         <customControlsMultistage:LabledTextBoxMultistage Content="{Binding ConsolidatedAirdragData.Model, Mode=OneWay}" ReadOnly="True"/>
                         <customControlsMultistage:LabledTextBoxMultistage Content="{Binding ConsolidatedAirdragData.AirDragArea, Mode=OneWay}" ReadOnly="True"/>
                         <Label Style="{DynamicResource LabelStyle1}">Data from File</Label>
-                        <ContentControl Content="{Binding AirDragViewModel}">
+                        <ContentControl Content="{Binding AirDragViewModel}" 
+                                        Visibility="{Binding AirDragViewModel, Converter={StaticResource NullToVisibilityConverter}}">
                             <ContentControl.ContentTemplate>
                                 <DataTemplate>
                                     <local:AirDragView_v2_8 DataContext="{Binding }"/>
diff --git a/VECTO3GUI2020/Views/Multistage/VehicleView_v2_8.xaml b/VECTO3GUI2020/Views/Multistage/VehicleView_v2_8.xaml
index 82dbaea629..0ef8b51cad 100644
--- a/VECTO3GUI2020/Views/Multistage/VehicleView_v2_8.xaml
+++ b/VECTO3GUI2020/Views/Multistage/VehicleView_v2_8.xaml
@@ -14,15 +14,15 @@
                 <Label Content="VEHICLE DATA" HorizontalAlignment="Stretch" FontSize="15" VerticalAlignment="Stretch"
                        Style="{DynamicResource LabelStyle1}"/>
 
-                <custom:MultiStageParameter 
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
                     Optional="False" 
-                    Content="{Binding Manufacturer}"/>
-                <custom:MultiStageParameter 
+                    Content="{Binding Manufacturer, ValidatesOnDataErrors=True}"/>
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
                     Optional="False"
-                    Content="{Binding ManufacturerAddress}"/>
-                <custom:MultiStageParameter 
+                    Content="{Binding ManufacturerAddress, ValidatesOnDataErrors=True}"/>
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
                     Optional="False" 
-                    Content="{Binding VIN}"/>
+                    Content="{Binding VIN, ValidatesOnDataErrors=True}"/>
 
                 <custom:MultiStageParameter 
                     PreviousContent="{Binding ConsolidatedVehicleData.Model}" 
@@ -37,20 +37,20 @@
                     Content="{Binding LegislativeClass}" 
                     Mode="COMBOBOX" />
 
-                <custom:MultiStageParameter 
-                    PreviousContent="{Binding ConsolidatedVehicleData.CurbMassChassis}"
-                    Content="{Binding CurbMassChassis}"/>
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                                            PreviousContent="{Binding ConsolidatedVehicleData.CurbMassChassis}"
+                                            Content="{Binding CurbMassChassis}"/>
 
-                <custom:MultiStageParameter 
-                    PreviousContent="{Binding ConsolidatedVehicleData.GrossVehicleMassRating}"
-                    Content="{Binding GrossVehicleMassRating}"/>
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                                            PreviousContent="{Binding ConsolidatedVehicleData.GrossVehicleMassRating}"
+                                            Content="{Binding GrossVehicleMassRating}"/>
 
 
-                <custom:MultiStageParameter 
-                    EditingEnabled="{Binding AirdragModifiedMultistageEditingEnabled}"
-                    PreviousContent="{Binding ConsolidatedAirdragModifiedEnum}"
-                    Content="{Binding AirdragModifiedEnum}" 
-                    Mode="COMBOBOX"/>
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                                            EditingEnabled="{Binding AirdragModifiedMultistageEditingEnabled}"
+                                            PreviousContent="{Binding ConsolidatedAirdragModifiedEnum}"
+                                            Content="{Binding AirdragModifiedEnum, ValidatesOnDataErrors=True}" 
+                                            Mode="COMBOBOX"/>
 
                 <custom:MultiStageParameter 
                     PreviousContent="{Binding ConsolidatedVehicleData.TankSystem}"
@@ -86,31 +86,31 @@
                     />
 
                 <Separator/>
-                <custom:MultiStageParameter 
-                    EditingEnabled="{Binding 
-        MeasurementsGroupEditingEnabled}" 
-                    PreviousContent="{Binding ConsolidatedHeightInMm}"
-                    Content="{Binding HeightInMm}"
-                    DummyContent="{Binding Source={StaticResource milimeterDummy}}"/>
-                <custom:MultiStageParameter 
-                    EditingEnabled="{Binding MeasurementsGroupEditingEnabled}" 
-                    PreviousContent="{Binding ConsolidatedWidthInMm}"
-                    Content="{Binding WidthInMm}"
-                    ShowCheckBox="False"
-                    DummyContent="{Binding Source={StaticResource milimeterDummy}}"/>
-                <custom:MultiStageParameter 
-                    EditingEnabled="{Binding MeasurementsGroupEditingEnabled}" 
-                    PreviousContent="{Binding ConsolidatedLengthInMm}"
-                    Content="{Binding LengthInMm}"
-                    ShowCheckBox="False"
-                    DummyContent="{Binding Source={StaticResource milimeterDummy}}"/>
-
-                <custom:MultiStageParameter 
-                    EditingEnabled="{Binding MeasurementsGroupEditingEnabled}"
-                    PreviousContent="{Binding ConsolidatedEntranceHeightInMm}"
-                    Content="{Binding EntranceHeightInMm}" 
-                    ShowCheckBox="False"
-                    DummyContent="{Binding Source={StaticResource milimeterDummy}}"/>
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                                            EditingEnabled="{Binding 
+                                MeasurementsGroupEditingEnabled}" 
+                                            PreviousContent="{Binding ConsolidatedHeightInMm}"
+                                            Content="{Binding HeightInMm, ValidatesOnExceptions=True}"
+                                            DummyContent="{Binding Source={StaticResource milimeterDummy}}"/>
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                                            EditingEnabled="{Binding MeasurementsGroupEditingEnabled}" 
+                                            PreviousContent="{Binding ConsolidatedWidthInMm}"
+                                            Content="{Binding WidthInMm}"
+                                            ShowCheckBox="False"
+                                            DummyContent="{Binding Source={StaticResource milimeterDummy}}"/>
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                                            EditingEnabled="{Binding MeasurementsGroupEditingEnabled}" 
+                                            PreviousContent="{Binding ConsolidatedLengthInMm}"
+                                            Content="{Binding LengthInMm}"
+                                            ShowCheckBox="False"
+                                            DummyContent="{Binding Source={StaticResource milimeterDummy}}"/>
+
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                                            EditingEnabled="{Binding MeasurementsGroupEditingEnabled}"
+                                            PreviousContent="{Binding ConsolidatedEntranceHeightInMm}"
+                                            Content="{Binding EntranceHeightInMm}" 
+                                            ShowCheckBox="False"
+                                            DummyContent="{Binding Source={StaticResource milimeterDummy}}"/>
 
                 <Separator/>
 
@@ -122,8 +122,9 @@
 
 
                 <custom:MultiStageParameter 
+                    EditingEnabled="True"
+                    ShowCheckBox="False"
                     PreviousContent="{Binding ConsolidatedVehicleData.VehicleDeclarationType}"
-                                    
                     Content="{Binding VehicleDeclarationType}" Mode="COMBOBOX" />
 
                 <Label Content="ADAS" Style="{DynamicResource LabelStyle1}"/>
diff --git a/VECTO3GUI2020/Views/SettingsView.xaml b/VECTO3GUI2020/Views/SettingsView.xaml
index c96f1beb14..b026ea4a7b 100644
--- a/VECTO3GUI2020/Views/SettingsView.xaml
+++ b/VECTO3GUI2020/Views/SettingsView.xaml
@@ -4,25 +4,12 @@
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         xmlns:local="clr-namespace:VECTO3GUI2020.Views"
-        mc:Ignorable="d" Height="450" Width="800">
+        xmlns:customControls="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls"
+        xmlns:implementation="clr-namespace:VECTO3GUI2020.ViewModel.Implementation"
+        mc:Ignorable="d" Height="450" Width="800" d:DataContext="{d:DesignInstance implementation:SettingsViewModel }">
     <Grid>
-        <Grid.ColumnDefinitions>
-            <ColumnDefinition Width="4*"/>
-            <ColumnDefinition Width="4*"/>
-            <ColumnDefinition Width="1*"/>
-        </Grid.ColumnDefinitions>
-        <Grid.RowDefinitions>
-            <RowDefinition Height="40"></RowDefinition>
-            <RowDefinition/>
-            <RowDefinition/>
-        </Grid.RowDefinitions>
-        
-        <Label VerticalAlignment="Center" Grid.Column="0" Grid.Row="0" Content="File Path: "></Label>
-        <TextBox Grid.Column="1" Grid.Row="0" Text="{Binding DefaultFilePath, Mode=OneWay}" IsReadOnly="True" TextWrapping="Wrap"/>
-        <Button Grid.Column="2" Grid.Row="0" Style="{DynamicResource MainViewButton}" Content="Change Path" Command="{Binding ChangeFilePath}">
-            <Button.Background>
-                <ImageBrush/>
-            </Button.Background>
-        </Button>
+        <StackPanel>
+        <customControls:FilePicker Width="450" MinWidth="400" Text="{Binding DefaultFilePath}" HorizontalAlignment="Stretch" Command="{Binding ChangeFilePath}"/>
+        </StackPanel>
     </Grid>
 </UserControl>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.xml
new file mode 100644
index 0000000000..e6329ae7d8
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<tns:VectoInputDeclaration xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" schemaVersion="2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD\VectoDeclarationJob.xsd">
+  <v2.0:Vehicle id="TODO_ADDIDENTIFIER" xsi:type="InterimStageInputType">
+    <Manufacturer>Some Manufacturer</Manufacturer>
+    <ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress>
+    <VIN>VEH-1234567890</VIN>
+    <Date>2021-04-28T22:00:00Z</Date>
+    <Model>Sample Bus Model</Model>
+    <LegislativeCategory>M3</LegislativeCategory>
+    <CorrectedActualMass>500</CorrectedActualMass>
+    <TechnicalPermissibleMaximumLadenMass>3500</TechnicalPermissibleMaximumLadenMass>
+    <AirdragModifiedMultistage>true</AirdragModifiedMultistage>
+    <NgTankSystem>Compressed</NgTankSystem>
+    <ClassBus>II+III</ClassBus>
+    <VehicleCode>CB</VehicleCode>
+    <LowEntry>false</LowEntry>
+    <HeightIntegratedBody>2500</HeightIntegratedBody>
+    <VehicleLength>9500</VehicleLength>
+    <VehicleWidth>2500</VehicleWidth>
+    <EntranceHeight>2000</EntranceHeight>
+    <DoorDriveTechnology>electric</DoorDriveTechnology>
+    <DeclarationType>interim</DeclarationType>
+    <ADAS>
+      <v2.3:EngineStopStart>false</v2.3:EngineStopStart>
+      <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop>
+      <v2.3:EcoRollWithEngineStop>false</v2.3:EcoRollWithEngineStop>
+      <v2.3:PredictiveCruiseControl>none</v2.3:PredictiveCruiseControl>
+    </ADAS>
+  </v2.0:Vehicle>
+</tns:VectoInputDeclaration>
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample.xml
index f23b14a11d..3a9fc46384 100644
--- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample.xml
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample.xml
@@ -1 +1,92 @@
-<?xml version="1.0" encoding="UTF-8"?>
<tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" 
xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" 
xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" 
xmlns:di="http://www.w3.org/2000/09/xmldsig#" 
xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\VECTO_DEV\fk_vecto-dev\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd">
	<v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType">
		<Manufacturer>Some Manufacturer</Manufacturer>
		<ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress>
		<VIN>VEH-1234567890</VIN>
		<Date>2020-01-09T11:00:00Z</Date>
		<Model>Sample Bus Model</Model>
		<LegislativeCategory>M3</LegislativeCategory>
		<CorrectedActualMass>500</CorrectedActualMass>
		<TechnicalPermissibleMaximumLadenMass>3500</TechnicalPermissibleMaximumLadenMass>
		<AirdragModifiedMultistage>false</AirdragModifiedMultistage>
		<NgTankSystem>Compressed</NgTankSystem>
		<ClassBus>II+III</ClassBus>
		<NumberPassengersLowerDeck>0</NumberPassengersLowerDeck>
		<NumberPassengersUpperDeck>10</NumberPassengersUpperDeck>
		<VehicleCode>CB</VehicleCode>
		<LowEntry>false</LowEntry>
		<HeightIntegratedBody>2500</HeightIntegratedBody>
		<VehicleLength>9500</VehicleLength>
		<VehicleWidth>2500</VehicleWidth>
		<EntranceHeight>2000</EntranceHeight>
		<DoorDriveTechnology>electric</DoorDriveTechnology>
		<DeclarationType>interim</DeclarationType>
		<ADAS>
			<v2.3:EngineStopStart>true</v2.3:EngineStopStart>
			<v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop>
			<v2.3:EcoRollWithEngineStop>false</v2.3:EcoRollWithEngineStop>
			<v2.3:PredictiveCruiseControl>none</v2.3:PredictiveCruiseControl>
			<v2.3:APTEcoRollReleaseLockupClutch>true</v2.3:APTEcoRollReleaseLockupClutch>
		</ADAS>
		<Components xsi:type="CompletedVehicleComponentsDeclarationType">
			<AirDrag>
				<v2.0:Data xsi:type="v2.0:AirDragDataDeclarationType" id="CabinX23h">
					<v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer>
					<v2.0:Model>Generic Model</v2.0:Model>
					<v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
					<v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date>
					<v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion>
					<v2.0:CdxA_0>6.31</v2.0:CdxA_0>
					<v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA>
					<v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA>
				</v2.0:Data>
				<v2.0:Signature>
					<di:Reference URI="#CabinX23h">
						<di:Transforms>
							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
						</di:Transforms>
						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
						<di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue>
					</di:Reference>
				</v2.0:Signature>
			</AirDrag>
			<Auxiliaries>
				<Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType">
					<ElectricSystem>
						<LEDLights>
							<Interiorlights>false</Interiorlights>
							<Dayrunninglights>true</Dayrunninglights>
							<Positionlights>true</Positionlights>
							<Brakelights>true</Brakelights>
							<Headlights>false</Headlights>
						</LEDLights>		
					</ElectricSystem>
					<HVAC>
						<SystemConfiguration>0</SystemConfiguration>
						<HeatPumpTypeDriverCompartment>none</HeatPumpTypeDriverCompartment>
						<HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment>
						<HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment>
						<HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment>
						<AuxiliaryHeaterPower>50</AuxiliaryHeaterPower>
						<DoubleGlazing>false</DoubleGlazing>
						<AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater>
						<SeparateAirDistributionDucts>false</SeparateAirDistributionDucts>
						<WaterElectricHeater>true</WaterElectricHeater>
						<AirElectricHeater>false</AirElectricHeater>
						<OtherHeatingTechnology>false</OtherHeatingTechnology>			
					</HVAC>
				</Data>
			</Auxiliaries>
		</Components>
	</v2.0:Vehicle>
</tns:VectoInputDeclaration>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:VectoInputDeclaration 
+schemaVersion="2.8" 
+xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" 
+xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" 
+xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" 
+xmlns:di="http://www.w3.org/2000/09/xmldsig#" 
+xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\VECTO_DEV\fk_vecto-dev\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd">
+	<v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType">
+		<Manufacturer>Some Manufacturer</Manufacturer>
+		<ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress>
+		<VIN>VEH-1234567890</VIN>
+		<Date>2020-01-09T11:00:00Z</Date>
+		<Model>Sample Bus Model</Model>
+		<LegislativeCategory>M3</LegislativeCategory>
+		<CorrectedActualMass>500</CorrectedActualMass>
+		<TechnicalPermissibleMaximumLadenMass>3500</TechnicalPermissibleMaximumLadenMass>
+		<AirdragModifiedMultistage>false</AirdragModifiedMultistage>
+		<NgTankSystem>Compressed</NgTankSystem>
+		<ClassBus>II+III</ClassBus>
+		<NumberPassengersLowerDeck>0</NumberPassengersLowerDeck>
+		<NumberPassengersUpperDeck>10</NumberPassengersUpperDeck>
+		<VehicleCode>CB</VehicleCode>
+		<LowEntry>false</LowEntry>
+		<HeightIntegratedBody>2500</HeightIntegratedBody>
+		<VehicleLength>9500</VehicleLength>
+		<VehicleWidth>2500</VehicleWidth>
+		<EntranceHeight>2000</EntranceHeight>
+		<DoorDriveTechnology>electric</DoorDriveTechnology>
+		<DeclarationType>interim</DeclarationType>
+		<ADAS>
+			<v2.3:EngineStopStart>true</v2.3:EngineStopStart>
+			<v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop>
+			<v2.3:EcoRollWithEngineStop>false</v2.3:EcoRollWithEngineStop>
+			<v2.3:PredictiveCruiseControl>none</v2.3:PredictiveCruiseControl>
+			<v2.3:APTEcoRollReleaseLockupClutch>true</v2.3:APTEcoRollReleaseLockupClutch>
+		</ADAS>
+		<Components xsi:type="CompletedVehicleComponentsDeclarationType">
+			<AirDrag>
+				<v2.0:Data xsi:type="v2.0:AirDragDataDeclarationType" id="CabinX23h">
+					<v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer>
+					<v2.0:Model>Generic Model</v2.0:Model>
+					<v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
+					<v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date>
+					<v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion>
+					<v2.0:CdxA_0>6.31</v2.0:CdxA_0>
+					<v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA>
+					<v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA>
+				</v2.0:Data>
+				<v2.0:Signature>
+					<di:Reference URI="#CabinX23h">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</AirDrag>
+			<Auxiliaries>
+				<Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType">
+					<ElectricSystem>
+						<LEDLights>
+							<Interiorlights>false</Interiorlights>
+							<Dayrunninglights>true</Dayrunninglights>
+							<Positionlights>true</Positionlights>
+							<Brakelights>true</Brakelights>
+							<Headlights>false</Headlights>
+						</LEDLights>		
+					</ElectricSystem>
+					<HVAC>
+						<SystemConfiguration>0</SystemConfiguration>
+						<HeatPumpTypeDriverCompartment>none</HeatPumpTypeDriverCompartment>
+						<HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment>
+						<HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment>
+						<HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment>
+						<AuxiliaryHeaterPower>50</AuxiliaryHeaterPower>
+						<DoubleGlazing>false</DoubleGlazing>
+						<AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater>
+						<SeparateAirDistributionDucts>false</SeparateAirDistributionDucts>
+						<WaterElectricHeater>true</WaterElectricHeater>
+						<AirElectricHeater>false</AirElectricHeater>
+						<OtherHeatingTechnology>false</OtherHeatingTechnology>			
+					</HVAC>
+				</Data>
+			</Auxiliaries>
+		</Components>
+	</v2.0:Vehicle>
+</tns:VectoInputDeclaration>
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/123sadf.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/123sadf.xml
new file mode 100644
index 0000000000..b5ec06780c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/123sadf.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<tns:VectoInputDeclaration xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xmlns:schemaVersion="2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+  <v2.0:Vehicle id="TODO:ADDIDENTIFIER" xsi:type="InterimstageInputType">
+    <Date>27.04.2021</Date>
+    <DeclarationType>interim</DeclarationType>
+  </v2.0:Vehicle>
+</tns:VectoInputDeclaration>
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group41.RSLT_PIF.xml b/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group41.RSLT_PIF.xml
deleted file mode 100644
index f8583aee47..0000000000
--- a/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group41.RSLT_PIF.xml	
+++ /dev/null
@@ -1,552 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<pif:VectoOutputPrimaryVehicle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:PrimaryVehicleInformation:HeavyBus:v0.1" xmlns:pif="urn:tugraz:ivt:VectoAPI:DeclarationOutput:PrimaryVehicleInformation" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:PrimaryVehicleInformation https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD//DEV/VectoOutputPrimaryVehicleInformation.xsd">
-  <pif:Data xsi:type="PrimaryVehicleHeavyBusDataType" id="PIF-4121ae4751874cefa376">
-    <Vehicle xsi:type="VehiclePIFType">
-      <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle>
-      <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle>
-      <Model>Generic Model</Model>
-      <VIN>VEH-1234567890_nonSmart</VIN>
-      <Date>2017-02-15T11:00:00Z</Date>
-      <VehicleCategory>Bus</VehicleCategory>
-      <AxleConfiguration>4x2</AxleConfiguration>
-      <Articulated>false</Articulated>
-      <TechnicalPermissibleMaximumLadenMass>28000</TechnicalPermissibleMaximumLadenMass>
-      <IdlingSpeed>700</IdlingSpeed>
-      <RetarderType>Transmission Output Retarder</RetarderType>
-      <RetarderRatio>1.000</RetarderRatio>
-      <AngledriveType>None</AngledriveType>
-      <ZeroEmissionVehicle>false</ZeroEmissionVehicle>
-      <ADAS xmlns:adas="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xsi:type="adas:AdvancedDriverAssistantSystemsType">
-        <adas:EngineStopStart>false</adas:EngineStopStart>
-        <adas:EcoRollWithoutEngineStop>false</adas:EcoRollWithoutEngineStop>
-        <adas:EcoRollWithEngineStop>false</adas:EcoRollWithEngineStop>
-        <adas:PredictiveCruiseControl>none</adas:PredictiveCruiseControl>
-      </ADAS>
-      <TorqueLimits xmlns:tcl="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="tcl:TorqueLimitsType">
-        <tcl:Entry gear="6" maxTorque="1800" />
-        <tcl:Entry gear="1" maxTorque="2500" />
-      </TorqueLimits>
-      <Components xsi:type="VehicleComponentsPIFType">
-        <Engine>
-          <Data xsi:type="EngineDataPIFType">
-            <Manufacturer>Generic Engine Manufacturer</Manufacturer>
-            <Model>Generic primary bus 41 Engine</Model>
-            <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
-            <Date>2017-02-15T11:00:00Z</Date>
-            <AppVersion>VectoEngine x.y</AppVersion>
-            <Displacement>7700</Displacement>
-            <RatedSpeed>2200</RatedSpeed>
-            <RatedPower>220000</RatedPower>
-            <MaxEngineTorque>1100</MaxEngineTorque>
-            <WHRType>
-              <MechanicalOutputICE xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3">false</MechanicalOutputICE>
-              <MechanicalOutputDrivetrain xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3">false</MechanicalOutputDrivetrain>
-              <ElectricalOutput xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3">false</ElectricalOutput>
-            </WHRType>
-            <Mode>
-              <IdlingSpeed>700</IdlingSpeed>
-              <FullLoadAndDragCurve>
-                <Entry engineSpeed="600.00" maxTorque="546.02" dragTorque="-39.66" />
-                <Entry engineSpeed="800.00" maxTorque="760.78" dragTorque="-48.83" />
-                <Entry engineSpeed="1000.00" maxTorque="973.29" dragTorque="-56.44" />
-                <Entry engineSpeed="1200.00" maxTorque="1092.03" dragTorque="-67.29" />
-                <Entry engineSpeed="1400.00" maxTorque="1092.03" dragTorque="-77.58" />
-                <Entry engineSpeed="1600.00" maxTorque="1092.03" dragTorque="-87.88" />
-                <Entry engineSpeed="1800.00" maxTorque="1022.52" dragTorque="-94.11" />
-                <Entry engineSpeed="2000.00" maxTorque="944.17" dragTorque="-100.76" />
-                <Entry engineSpeed="2200.00" maxTorque="868.12" dragTorque="-113.36" />
-                <Entry engineSpeed="2400.00" maxTorque="741.99" dragTorque="-122.60" />
-                <Entry engineSpeed="2500.00" maxTorque="647.29" dragTorque="-126.66" />
-                <Entry engineSpeed="2600.00" maxTorque="0.00" dragTorque="-132.07" />
-              </FullLoadAndDragCurve>
-              <Fuels>
-                <FuelType>Diesel CI</FuelType>
-              </Fuels>
-            </Mode>
-          </Data>
-        </Engine>
-        <Transmission>
-          <Data xsi:type="TransmissionDataPIFType">
-            <Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
-            <Model>AT 6 Gear</Model>
-            <MainCertificationMethod>Standard values</MainCertificationMethod>
-            <Date>2017-01-11T11:00:00Z</Date>
-            <AppVersion>3.0.1</AppVersion>
-            <TransmissionType>APT-S</TransmissionType>
-            <Gears xsi:type="TransmissionGearsPIFType">
-              <Gear number="1">
-                <Ratio>3.364</Ratio>
-                <MaxTorque>1900</MaxTorque>
-                <MaxSpeed>2500</MaxSpeed>
-              </Gear>
-              <Gear number="2">
-                <Ratio>1.909</Ratio>
-                <MaxTorque>1900</MaxTorque>
-                <MaxSpeed>2500</MaxSpeed>
-              </Gear>
-              <Gear number="3">
-                <Ratio>1.421</Ratio>
-                <MaxSpeed>2500</MaxSpeed>
-              </Gear>
-              <Gear number="4">
-                <Ratio>1.000</Ratio>
-                <MaxSpeed>2500</MaxSpeed>
-              </Gear>
-              <Gear number="5">
-                <Ratio>0.720</Ratio>
-                <MaxSpeed>2500</MaxSpeed>
-              </Gear>
-              <Gear number="6">
-                <Ratio>0.615</Ratio>
-                <MaxSpeed>2500</MaxSpeed>
-              </Gear>
-            </Gears>
-          </Data>
-        </Transmission>
-        <Axlegear>
-          <Data xsi:type="AxlegearDataPIFType">
-            <Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
-            <Model>Generic primary bus 41 AxleGear</Model>
-            <CertificationMethod>Standard values</CertificationMethod>
-            <Date>2017-01-11T11:00:00Z</Date>
-            <AppVersion>3.0.1</AppVersion>
-            <LineType>Single portal axle</LineType>
-            <Ratio>6.500</Ratio>
-          </Data>
-        </Axlegear>
-        <pbus:AxleWheels xmlns:pbus="urn:tugraz:ivt:VectoAPI:DeclarationOutput:PrimaryVehicleInformation:HeavyBus:v0.1" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="AxleWheelsComponentDeclarationType">
-          <Data xsi:type="AxleWheelsDataDeclarationType">
-            <Axles>
-              <Axle axleNumber="1" xsi:type="AxleDataDeclarationType">
-                <AxleType>VehicleNonDriven</AxleType>
-                <TwinTyres>false</TwinTyres>
-                <Steered>true</Steered>
-                <Tyre>
-                  <Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType">
-                    <Manufacturer>Generic Wheels Manufacturer</Manufacturer>
-                    <Model>Generic Wheel</Model>
-                    <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
-                    <Date>2017-01-11T14:00:00Z</Date>
-                    <AppVersion>Tyre Generation App 1.0</AppVersion>
-                    <Dimension>315/70 R22.5</Dimension>
-                    <RRCDeclared>0.0055</RRCDeclared>
-                    <FzISO>31300</FzISO>
-                  </Data>
-                  <Signature>
-                    <di:Reference URI="#WHL-5432198760-315-70-R22.5" xmlns:di="http://www.w3.org/2000/09/xmldsig#">
-                      <di:Transforms>
-                        <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
-                        <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
-                      </di:Transforms>
-                      <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
-                      <di:DigestValue>4TkUGQTX8tevHOU9Cj9uyCFuI/aqcEYlo/gyVjVQmv0=</di:DigestValue>
-                    </di:Reference>
-                  </Signature>
-                </Tyre>
-              </Axle>
-              <Axle axleNumber="2" xsi:type="AxleDataDeclarationType">
-                <AxleType>VehicleDriven</AxleType>
-                <TwinTyres>true</TwinTyres>
-                <Steered>false</Steered>
-                <Tyre>
-                  <Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType">
-                    <Manufacturer>Generic Wheels Manufacturer</Manufacturer>
-                    <Model>Generic Wheel</Model>
-                    <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
-                    <Date>2017-01-11T14:00:00Z</Date>
-                    <AppVersion>Tyre Generation App 1.0</AppVersion>
-                    <Dimension>315/70 R22.5</Dimension>
-                    <RRCDeclared>0.0063</RRCDeclared>
-                    <FzISO>31300</FzISO>
-                  </Data>
-                  <Signature>
-                    <di:Reference URI="#WHL-5432198760-315-70-R22.5" xmlns:di="http://www.w3.org/2000/09/xmldsig#">
-                      <di:Transforms>
-                        <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
-                        <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
-                      </di:Transforms>
-                      <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
-                      <di:DigestValue>KljvtvGUUQ/L7MiLVAqU+bckL5PNDNNwdeLH9kUVrfM=</di:DigestValue>
-                    </di:Reference>
-                  </Signature>
-                </Tyre>
-              </Axle>
-            </Axles>
-          </Data>
-        </pbus:AxleWheels>
-        <Auxiliaries>
-          <Data xmlns:aux="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xsi:type="aux:PrimaryVehicleAuxiliaryDataDeclarationType">
-            <aux:Fan>
-              <aux:Technology>Hydraulic driven - Constant displacement pump</aux:Technology>
-            </aux:Fan>
-            <aux:SteeringPump>
-              <aux:Technology axleNumber="1">Variable displacement elec. controlled</aux:Technology>
-            </aux:SteeringPump>
-            <aux:ElectricSystem>
-              <aux:AlternatorTechnology>default</aux:AlternatorTechnology>
-              <aux:SmartElectrics>false</aux:SmartElectrics>
-            </aux:ElectricSystem>
-            <aux:PneumaticSystem>
-              <aux:SizeOfAirSupply>Large Supply 2-stage</aux:SizeOfAirSupply>
-              <aux:Clutch>none</aux:Clutch>
-              <aux:CompressorRatio>1.000</aux:CompressorRatio>
-              <aux:SmartCompressionSystem>false</aux:SmartCompressionSystem>
-              <aux:SmartRegenerationSystem>false</aux:SmartRegenerationSystem>
-              <aux:AirsuspensionControl>electronically</aux:AirsuspensionControl>
-              <aux:AdBlueDosing>true</aux:AdBlueDosing>
-            </aux:PneumaticSystem>
-            <aux:HVAC>
-              <aux:AdjustableCoolantThermostat>true</aux:AdjustableCoolantThermostat>
-              <aux:EngineWasteGasHeatExchanger>true</aux:EngineWasteGasHeatExchanger>
-            </aux:HVAC>
-          </Data>
-        </Auxiliaries>
-      </Components>
-    </Vehicle>
-    <InputDataSignature>
-      <di:Reference URI="#VEH-PrimaryBus_nonSmart">
-        <di:Transforms>
-          <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
-          <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
-        </di:Transforms>
-        <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
-        <di:DigestValue>gi7smqIT9b/iNr6yBm49IkS5ylirBLyHvjZQqlNpzUA=</di:DigestValue>
-      </di:Reference>
-    </InputDataSignature>
-    <ManufacturerRecordSignature>
-      <di:Reference URI="#RESULT-d5c4bf1b86394fd7b822">
-        <di:Transforms>
-          <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
-          <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
-        </di:Transforms>
-        <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
-        <di:DigestValue>/z2B3MvXZr1k8vYmINK/6DLaXPreBcwwmHhHsfDvJRo=</di:DigestValue>
-      </di:Reference>
-    </ManufacturerRecordSignature>
-    <Results>
-      <Status>success</Status>
-      <Result status="success">
-        <VehicleGroup>P31SD</VehicleGroup>
-        <Mission>Heavy Urban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">13098.63</TotalVehicleMass>
-          <Payload unit="kg">1123.63</Payload>
-          <PassengerCount>16.52</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">20.73851</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1520.18</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31SD</VehicleGroup>
-        <Mission>Heavy Urban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">17593.16</TotalVehicleMass>
-          <Payload unit="kg">5618.16</Payload>
-          <PassengerCount>82.62</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">24.94611</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1828.60</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31SD</VehicleGroup>
-        <Mission>Urban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">13098.63</TotalVehicleMass>
-          <Payload unit="kg">1123.63</Payload>
-          <PassengerCount>16.52</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">16.93598</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1241.44</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31SD</VehicleGroup>
-        <Mission>Urban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">17593.16</TotalVehicleMass>
-          <Payload unit="kg">5618.16</Payload>
-          <PassengerCount>82.62</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">20.36950</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1493.13</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31SD</VehicleGroup>
-        <Mission>Suburban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">13098.63</TotalVehicleMass>
-          <Payload unit="kg">1123.63</Payload>
-          <PassengerCount>16.52</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">15.03487</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1102.09</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31SD</VehicleGroup>
-        <Mission>Suburban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">17593.16</TotalVehicleMass>
-          <Payload unit="kg">5618.16</Payload>
-          <PassengerCount>82.62</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">18.14589</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1330.13</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31SD</VehicleGroup>
-        <Mission>Interurban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">12854.90</TotalVehicleMass>
-          <Payload unit="kg">879.90</Payload>
-          <PassengerCount>12.39</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">12.90679</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">946.09</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31SD</VehicleGroup>
-        <Mission>Interurban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">15494.61</TotalVehicleMass>
-          <Payload unit="kg">3519.61</Payload>
-          <PassengerCount>49.57</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">14.34621</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1051.61</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31DD</VehicleGroup>
-        <Mission>Heavy Urban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">13543.34</TotalVehicleMass>
-          <Payload unit="kg">1193.34</Payload>
-          <PassengerCount>17.55</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">21.81903</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1599.38</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31DD</VehicleGroup>
-        <Mission>Heavy Urban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">18316.69</TotalVehicleMass>
-          <Payload unit="kg">5966.69</Payload>
-          <PassengerCount>87.75</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">26.59833</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1949.71</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31DD</VehicleGroup>
-        <Mission>Urban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">13543.34</TotalVehicleMass>
-          <Payload unit="kg">1193.34</Payload>
-          <PassengerCount>17.55</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">17.82311</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1306.47</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31DD</VehicleGroup>
-        <Mission>Urban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">18316.69</TotalVehicleMass>
-          <Payload unit="kg">5966.69</Payload>
-          <PassengerCount>87.75</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">21.69768</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1590.49</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31DD</VehicleGroup>
-        <Mission>Suburban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">13543.34</TotalVehicleMass>
-          <Payload unit="kg">1193.34</Payload>
-          <PassengerCount>17.55</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">15.74932</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1154.46</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P31DD</VehicleGroup>
-        <Mission>Suburban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">18316.69</TotalVehicleMass>
-          <Payload unit="kg">5966.69</Payload>
-          <PassengerCount>87.75</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">19.17775</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1405.77</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P32SD</VehicleGroup>
-        <Mission>Interurban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">14225.44</TotalVehicleMass>
-          <Payload unit="kg">1075.44</Payload>
-          <PassengerCount>15.15</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">13.19757</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">967.41</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P32SD</VehicleGroup>
-        <Mission>Interurban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">16669.61</TotalVehicleMass>
-          <Payload unit="kg">3519.61</Payload>
-          <PassengerCount>49.57</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">14.54412</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1066.11</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P32SD</VehicleGroup>
-        <Mission>Coach</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">14244.99</TotalVehicleMass>
-          <Payload unit="kg">1094.99</Payload>
-          <PassengerCount>15.42</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">11.13867</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">816.49</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P32SD</VehicleGroup>
-        <Mission>Coach</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">15887.48</TotalVehicleMass>
-          <Payload unit="kg">2737.48</Payload>
-          <PassengerCount>38.56</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">11.58643</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">849.31</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P32DD</VehicleGroup>
-        <Mission>Interurban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">14662.82</TotalVehicleMass>
-          <Payload unit="kg">1262.82</Payload>
-          <PassengerCount>17.79</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">13.62230</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">998.54</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P32DD</VehicleGroup>
-        <Mission>Interurban</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">17609.41</TotalVehicleMass>
-          <Payload unit="kg">4209.41</Payload>
-          <PassengerCount>59.29</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">15.22020</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">1115.67</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P32DD</VehicleGroup>
-        <Mission>Coach</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">14747.01</TotalVehicleMass>
-          <Payload unit="kg">1347.01</Payload>
-          <PassengerCount>18.97</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">11.61807</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">851.63</CO2>
-      </Result>
-      <Result status="success">
-        <VehicleGroup>P32DD</VehicleGroup>
-        <Mission>Coach</Mission>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">16767.53</TotalVehicleMass>
-          <Payload unit="kg">3367.53</Payload>
-          <PassengerCount>47.43</PassengerCount>
-          <FuelMode>single fuel mode</FuelMode>
-        </SimulationParameters>
-        <Fuel type="Diesel CI">
-          <EnergyConsumption unit="MJ/km">12.15012</EnergyConsumption>
-        </Fuel>
-        <CO2 unit="g/km">890.63</CO2>
-      </Result>
-    </Results>
-    <ApplicationInformation>
-      <SimulationToolVersion>0.6.1.1975-DEV !!NOT FOR CERTIFICATION!!</SimulationToolVersion>
-      <Date>2020-08-06T06:54:52.9756421Z</Date>
-    </ApplicationInformation>
-  </pif:Data>
-  <pif:Signature>
-    <di:Reference URI="#PIF-4121ae4751874cefa376">
-      <di:Transforms>
-        <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
-        <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
-      </di:Transforms>
-      <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
-      <di:DigestValue>YnCPep7uMh3ghMrx6ZsEMLanOijFCZpku+ZDNd6rkLw=</di:DigestValue>
-    </di:Reference>
-  </pif:Signature>
-</pif:VectoOutputPrimaryVehicle>
\ No newline at end of file
-- 
GitLab