diff --git a/.gitignore b/.gitignore
index c6bd82666dc58816bf38a74bb24c6c789340fe7c..a5db239d276f18d59dd1c4ad912650da92e797c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -211,3 +211,4 @@ Documentation/VehiclesReleaseComparisonDeclarationMode/tmp/
 .vs/
 **/dev/*.vmod
 **/dev/*.vsum
+/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/testVif.VIF_Report_5.xml
diff --git a/Tools/GraphDrawer/bin/Debug/TestData/Integration/Buses/FactorMethod/vecto_vehicle-primary_heavyBus_ESS_electricFanSTP.xml b/Tools/GraphDrawer/bin/Debug/TestData/Integration/Buses/FactorMethod/vecto_vehicle-primary_heavyBus_ESS_electricFanSTP.xml
deleted file mode 100644
index f663ecd741dd7f0e49a33ed3a01d2e1d8eff7067..0000000000000000000000000000000000000000
--- a/Tools/GraphDrawer/bin/Debug/TestData/Integration/Buses/FactorMethod/vecto_vehicle-primary_heavyBus_ESS_electricFanSTP.xml
+++ /dev/null
@@ -1,3288 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tns:VectoInputDeclaration schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" 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:\QUAM\Workspace\VECTO_DEV_Buses\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd">
-	<v2.0:Vehicle id="VEH-PrimaryBus_nonSmart" xsi:type="PrimaryVehicleDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6">
-		<Manufacturer>Generic Truck Manufacturer</Manufacturer>
-		<ManufacturerAddress>Street, ZIP City</ManufacturerAddress>
-		<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>25000</TechnicalPermissibleMaximumLadenMass>
-		<IdlingSpeed>600</IdlingSpeed>
-		<RetarderType>Transmission Output Retarder</RetarderType>
-		<RetarderRatio>1.000</RetarderRatio>
-		<AngledriveType>None</AngledriveType>
-		<ZeroEmissionVehicle>false</ZeroEmissionVehicle>
-		<v2.6:ADAS xsi:type="v2.1:AdvancedDriverAssistantSystemsType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1">
-			<EngineStopStart>true</EngineStopStart>
-			<EcoRollWithoutEngineStop>false</EcoRollWithoutEngineStop>
-			<EcoRollWithEngineStop>true</EcoRollWithEngineStop>
-			<PredictiveCruiseControl>none</PredictiveCruiseControl>
-		</v2.6:ADAS>
-		<v2.6:TorqueLimits xsi:type="TorqueLimitsType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
-			<Entry gear="6" maxTorque="1800"/>
-			<Entry gear="1" maxTorque="2500"/>
-			<Entry gear="12" maxTorque="1900"/>
-		</v2.6:TorqueLimits>
-		<Components xsi:type="PrimaryVehicleComponentsDeclarationType">
-			<v2.6:Engine xsi:type="v2.0:EngineComponentDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
-				<v2.0:Data id="ENG-gooZah3D" xsi:type="v2.1:EngineDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1">
-					<Manufacturer>Generic Engine Manufacturer</Manufacturer>
-					<Model>Generic 40t Long Haul Truck Engine</Model>
-					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
-					<Date>2017-02-15T11:00:00Z</Date>
-					<AppVersion>VectoEngine x.y</AppVersion>
-					<Displacement>12730</Displacement>
-					<IdlingSpeed>560</IdlingSpeed>
-					<RatedSpeed>2200</RatedSpeed>
-					<RatedPower>380000</RatedPower>
-					<MaxEngineTorque>2400</MaxEngineTorque>
-					<WHTCUrban>1.0097</WHTCUrban>
-					<WHTCRural>1.0035</WHTCRural>
-					<WHTCMotorway>1.0200</WHTCMotorway>
-					<BFColdHot>1.0000</BFColdHot>
-					<CFRegPer>1.0000</CFRegPer>
-					<CFNCV>1.0000</CFNCV>
-					<FuelType>NG CI</FuelType>
-					<FuelConsumptionMap>
-						<Entry engineSpeed="560.00" torque="-149.00" fuelConsumption="0.00"/>
-						<Entry engineSpeed="560.00" torque="0.00" fuelConsumption="1256.00"/>
-						<Entry engineSpeed="560.00" torque="200.00" fuelConsumption="3197.00"/>
-						<Entry engineSpeed="560.00" torque="400.00" fuelConsumption="5295.00"/>
-						<Entry engineSpeed="560.00" torque="600.00" fuelConsumption="7615.00"/>
-						<Entry engineSpeed="560.00" torque="800.00" fuelConsumption="9375.00"/>
-						<Entry engineSpeed="560.00" torque="1000.00" fuelConsumption="11239.00"/>
-						<Entry engineSpeed="560.00" torque="1180.00" fuelConsumption="12869.00"/>
-						<Entry engineSpeed="600.00" torque="-148.00" fuelConsumption="0.00"/>
-						<Entry engineSpeed="600.00" torque="0.00" fuelConsumption="1459.00"/>
-						<Entry engineSpeed="600.00" torque="200.00" fuelConsumption="3358.00"/>
-						<Entry engineSpeed="600.00" torque="400.00" fuelConsumption="5498.00"/>
-						<Entry engineSpeed="600.00" torque="600.00" fuelConsumption="8101.00"/>
-						<Entry engineSpeed="600.00" torque="800.00" fuelConsumption="10014.00"/>
-						<Entry engineSpeed="600.00" torque="1000.00" fuelConsumption="12071.00"/>
-						<Entry engineSpeed="600.00" torque="1200.00" fuelConsumption="14201.00"/>
-						<Entry engineSpeed="600.00" torque="1282.00" fuelConsumption="15304.00"/>
-						<Entry engineSpeed="800.00" torque="-149.00" fuelConsumption="0.00"/>
-						<Entry engineSpeed="800.00" torque="0.00" fuelConsumption="1879.00"/>
-						<Entry engineSpeed="800.00" torque="200.00" fuelConsumption="4286.00"/>
-						<Entry engineSpeed="800.00" torque="400.00" fuelConsumption="7021.00"/>
-						<Entry engineSpeed="800.00" torque="600.00" fuelConsumption="10059.00"/>
-						<Entry engineSpeed="800.00" torque="800.00" fuelConsumption="13086.00"/>
-						<Entry engineSpeed="800.00" torque="1000.00" fuelConsumption="16015.00"/>
-						<Entry engineSpeed="800.00" torque="1200.00" fuelConsumption="19239.00"/>
-						<Entry engineSpeed="800.00" torque="1400.00" fuelConsumption="22426.00"/>
-						<Entry engineSpeed="800.00" torque="1600.00" fuelConsumption="25483.00"/>
-						<Entry engineSpeed="800.00" torque="1791.00" fuelConsumption="28905.00"/>
-						<Entry engineSpeed="1000.00" torque="-160.00" fuelConsumption="0.00"/>
-						<Entry engineSpeed="1000.00" torque="0.00" fuelConsumption="2865.00"/>
-						<Entry engineSpeed="1000.00" torque="200.00" fuelConsumption="5963.00"/>
-						<Entry engineSpeed="1000.00" torque="400.00" fuelConsumption="9198.00"/>
-						<Entry engineSpeed="1000.00" torque="600.00" fuelConsumption="12354.00"/>
-						<Entry engineSpeed="1000.00" torque="800.00" fuelConsumption="15965.00"/>
-						<Entry engineSpeed="1000.00" torque="1000.00" fuelConsumption="19864.00"/>
-						<Entry engineSpeed="1000.00" torque="1200.00" fuelConsumption="23530.00"/>
-						<Entry engineSpeed="1000.00" torque="1400.00" fuelConsumption="27202.00"/>
-						<Entry engineSpeed="1000.00" torque="1600.00" fuelConsumption="31165.00"/>
-						<Entry engineSpeed="1000.00" torque="1800.00" fuelConsumption="35103.00"/>
-						<Entry engineSpeed="1000.00" torque="2000.00" fuelConsumption="39360.00"/>
-						<Entry engineSpeed="1000.00" torque="2200.00" fuelConsumption="44120.00"/>
-						<Entry engineSpeed="1000.00" torque="2300.00" fuelConsumption="46836.00"/>
-						<Entry engineSpeed="1200.00" torque="-179.00" fuelConsumption="0.00"/>
-						<Entry engineSpeed="1200.00" torque="0.00" fuelConsumption="3307.00"/>
-						<Entry engineSpeed="1200.00" torque="200.00" fuelConsumption="6897.00"/>
-						<Entry engineSpeed="1200.00" torque="400.00" fuelConsumption="10651.00"/>
-						<Entry engineSpeed="1200.00" torque="600.00" fuelConsumption="14645.00"/>
-						<Entry engineSpeed="1200.00" torque="800.00" fuelConsumption="19115.00"/>
-						<Entry engineSpeed="1200.00" torque="1000.00" fuelConsumption="23677.00"/>
-						<Entry engineSpeed="1200.00" torque="1200.00" fuelConsumption="28180.00"/>
-						<Entry engineSpeed="1200.00" torque="1400.00" fuelConsumption="32431.00"/>
-						<Entry engineSpeed="1200.00" torque="1600.00" fuelConsumption="36698.00"/>
-						<Entry engineSpeed="1200.00" torque="1800.00" fuelConsumption="41691.00"/>
-						<Entry engineSpeed="1200.00" torque="2000.00" fuelConsumption="46915.00"/>
-						<Entry engineSpeed="1200.00" torque="2200.00" fuelConsumption="51783.00"/>
-						<Entry engineSpeed="1200.00" torque="2300.00" fuelConsumption="54932.00"/>
-						<Entry engineSpeed="1400.00" torque="-203.00" fuelConsumption="0.00"/>
-						<Entry engineSpeed="1400.00" torque="0.00" fuelConsumption="4306.00"/>
-						<Entry engineSpeed="1400.00" torque="200.00" fuelConsumption="8143.00"/>
-						<Entry engineSpeed="1400.00" torque="400.00" fuelConsumption="12723.00"/>
-						<Entry engineSpeed="1400.00" torque="600.00" fuelConsumption="17523.00"/>
-						<Entry engineSpeed="1400.00" torque="800.00" fuelConsumption="22288.00"/>
-						<Entry engineSpeed="1400.00" torque="1000.00" fuelConsumption="27093.00"/>
-						<Entry engineSpeed="1400.00" torque="1200.00" fuelConsumption="32536.00"/>
-						<Entry engineSpeed="1400.00" torque="1400.00" fuelConsumption="37746.00"/>
-						<Entry engineSpeed="1400.00" torque="1600.00" fuelConsumption="43194.00"/>
-						<Entry engineSpeed="1400.00" torque="1800.00" fuelConsumption="49453.00"/>
-						<Entry engineSpeed="1400.00" torque="2000.00" fuelConsumption="55830.00"/>
-						<Entry engineSpeed="1400.00" torque="2200.00" fuelConsumption="61072.00"/>
-						<Entry engineSpeed="1400.00" torque="2300.00" fuelConsumption="64377.00"/>
-						<Entry engineSpeed="1600.00" torque="-235.00" fuelConsumption="0.00"/>
-						<Entry engineSpeed="1600.00" torque="0.00" fuelConsumption="5209.00"/>
-						<Entry engineSpeed="1600.00" torque="200.00" fuelConsumption="9669.00"/>
-						<Entry engineSpeed="1600.00" torque="400.00" fuelConsumption="14838.00"/>
-						<Entry engineSpeed="1600.00" torque="600.00" fuelConsumption="20127.00"/>
-						<Entry engineSpeed="1600.00" torque="800.00" fuelConsumption="25894.00"/>
-						<Entry engineSpeed="1600.00" torque="1000.00" fuelConsumption="31631.00"/>
-						<Entry engineSpeed="1600.00" torque="1200.00" fuelConsumption="37248.00"/>
-						<Entry engineSpeed="1600.00" torque="1400.00" fuelConsumption="42826.00"/>
-						<Entry engineSpeed="1600.00" torque="1600.00" fuelConsumption="49752.00"/>
-						<Entry engineSpeed="1600.00" torque="1800.00" fuelConsumption="57020.00"/>
-						<Entry engineSpeed="1600.00" torque="2000.00" fuelConsumption="63914.00"/>
-						<Entry engineSpeed="1600.00" torque="2079.00" fuelConsumption="66520.00"/>
-						<Entry engineSpeed="1800.00" torque="-264.00" fuelConsumption="0.00"/>
-						<Entry engineSpeed="1800.00" torque="0.00" fuelConsumption="6409.00"/>
-						<Entry engineSpeed="1800.00" torque="200.00" fuelConsumption="11777.00"/>
-						<Entry engineSpeed="1800.00" torque="400.00" fuelConsumption="17320.00"/>
-						<Entry engineSpeed="1800.00" torque="600.00" fuelConsumption="23394.00"/>
-						<Entry engineSpeed="1800.00" torque="800.00" fuelConsumption="30501.00"/>
-						<Entry engineSpeed="1800.00" torque="1000.00" fuelConsumption="36378.00"/>
-						<Entry engineSpeed="1800.00" torque="1200.00" fuelConsumption="43079.00"/>
-						<Entry engineSpeed="1800.00" torque="1400.00" fuelConsumption="49796.00"/>
-						<Entry engineSpeed="1800.00" torque="1600.00" fuelConsumption="57436.00"/>
-						<Entry engineSpeed="1800.00" torque="1800.00" fuelConsumption="65157.00"/>
-						<Entry engineSpeed="1800.00" torque="1857.00" fuelConsumption="67574.00"/>
-						<Entry engineSpeed="2000.00" torque="-301.00" fuelConsumption="0.00"/>
-						<Entry engineSpeed="2000.00" torque="0.00" fuelConsumption="9127.00"/>
-						<Entry engineSpeed="2000.00" torque="200.00" fuelConsumption="14822.00"/>
-						<Entry engineSpeed="2000.00" torque="400.00" fuelConsumption="20655.00"/>
-						<Entry engineSpeed="2000.00" torque="600.00" fuelConsumption="27076.00"/>
-						<Entry engineSpeed="2000.00" torque="800.00" fuelConsumption="34188.00"/>
-						<Entry engineSpeed="2000.00" torque="1000.00" fuelConsumption="42837.00"/>
-						<Entry engineSpeed="2000.00" torque="1200.00" fuelConsumption="51018.00"/>
-						<Entry engineSpeed="2000.00" torque="1352.00" fuelConsumption="56618.00"/>
-						<Entry engineSpeed="2100.00" torque="-320.00" fuelConsumption="0.00"/>
-						<Entry engineSpeed="2100.00" torque="0.00" fuelConsumption="10470.00"/>
-						<Entry engineSpeed="2100.00" torque="200.00" fuelConsumption="16332.00"/>
-						<Entry engineSpeed="2100.00" torque="400.00" fuelConsumption="22396.00"/>
-						<Entry engineSpeed="2100.00" torque="600.00" fuelConsumption="28914.00"/>
-						<Entry engineSpeed="2100.00" torque="800.00" fuelConsumption="35717.00"/>
-						<Entry engineSpeed="2100.00" torque="1000.00" fuelConsumption="45643.00"/>
-						<Entry engineSpeed="2100.00" torque="1100.00" fuelConsumption="50653.00"/>
-					</FuelConsumptionMap>
-					<FullLoadAndDragCurve>
-						<Entry engineSpeed="560.00" maxTorque="1180.00" dragTorque="-149.00"/>
-						<Entry engineSpeed="600.00" maxTorque="1282.00" dragTorque="-148.00"/>
-						<Entry engineSpeed="800.00" maxTorque="1791.00" dragTorque="-149.00"/>
-						<Entry engineSpeed="1000.00" maxTorque="2300.00" dragTorque="-160.00"/>
-						<Entry engineSpeed="1200.00" maxTorque="2300.00" dragTorque="-179.00"/>
-						<Entry engineSpeed="1400.00" maxTorque="2300.00" dragTorque="-203.00"/>
-						<Entry engineSpeed="1600.00" maxTorque="2079.00" dragTorque="-235.00"/>
-						<Entry engineSpeed="1800.00" maxTorque="1857.00" dragTorque="-264.00"/>
-						<Entry engineSpeed="2000.00" maxTorque="1352.00" dragTorque="-301.00"/>
-						<Entry engineSpeed="2100.00" maxTorque="1100.00" dragTorque="-320.00"/>
-					</FullLoadAndDragCurve>
-				</v2.0:Data>
-				<Signature>
-					<di:Reference URI="#ENG-gooZah3D">
-						<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>sNtMe9udO39TyKXzgwYEpVKImWizFalaBVqq3jLktuo=</di:DigestValue>
-					</di:Reference>
-				</Signature>
-			</v2.6:Engine>
-			<v2.6:Gearbox xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="GearboxComponentDeclarationType">
-				<Data id="gbx-vi2Oak2N" xsi:type="GearboxDataDeclarationType">
-					<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
-					<Model>Generic 40t Long Haul Truck Gearbox</Model>
-					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
-					<Date>2017-01-11T11:00:00Z</Date>
-					<AppVersion>3.0.1</AppVersion>
-					<TransmissionType>AMT</TransmissionType>
-					<MainCertificationMethod>Standard values</MainCertificationMethod>
-					<Gears xsi:type="GearsDeclarationType">
-						<Gear number="1">
-							<Ratio>14.930</Ratio>
-							<MaxTorque>1900</MaxTorque>
-							<MaxSpeed>2000</MaxSpeed>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/>
-								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/>
-								<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/>
-								<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/>
-								<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/>
-								<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/>
-								<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
-							</TorqueLossMap>
-						</Gear>
-						<Gear number="2">
-							<Ratio>11.640</Ratio>
-							<MaxTorque>1900</MaxTorque>
-							<MaxSpeed>2000</MaxSpeed>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/>
-								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/>
-								<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/>
-								<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/>
-								<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/>
-								<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/>
-								<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
-							</TorqueLossMap>
-						</Gear>
-						<Gear number="3">
-							<Ratio>9.020</Ratio>
-							<MaxSpeed>2000</MaxSpeed>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/>
-								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/>
-								<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/>
-								<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/>
-								<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/>
-								<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/>
-								<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
-							</TorqueLossMap>
-						</Gear>
-						<Gear number="4">
-							<Ratio>7.040</Ratio>
-							<MaxSpeed>2000</MaxSpeed>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/>
-								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/>
-								<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/>
-								<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/>
-								<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/>
-								<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/>
-								<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
-							</TorqueLossMap>
-						</Gear>
-						<Gear number="5">
-							<Ratio>5.640</Ratio>
-							<MaxSpeed>2000</MaxSpeed>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/>
-								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/>
-								<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/>
-								<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/>
-								<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/>
-								<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/>
-								<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
-							</TorqueLossMap>
-						</Gear>
-						<Gear number="6">
-							<Ratio>4.400</Ratio>
-							<MaxSpeed>2000</MaxSpeed>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/>
-								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/>
-								<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/>
-								<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/>
-								<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/>
-								<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/>
-								<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
-							</TorqueLossMap>
-						</Gear>
-						<Gear number="7">
-							<Ratio>3.390</Ratio>
-							<MaxSpeed>2000</MaxSpeed>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/>
-								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/>
-								<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/>
-								<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/>
-								<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/>
-								<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/>
-								<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
-							</TorqueLossMap>
-						</Gear>
-						<Gear number="8">
-							<Ratio>2.650</Ratio>
-							<MaxSpeed>2000</MaxSpeed>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/>
-								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/>
-								<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/>
-								<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/>
-								<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/>
-								<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/>
-								<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
-							</TorqueLossMap>
-						</Gear>
-						<Gear number="9">
-							<Ratio>2.050</Ratio>
-							<MaxSpeed>2000</MaxSpeed>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/>
-								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/>
-								<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/>
-								<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/>
-								<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/>
-								<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/>
-								<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
-							</TorqueLossMap>
-						</Gear>
-						<Gear number="10">
-							<Ratio>1.600</Ratio>
-							<MaxSpeed>2000</MaxSpeed>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/>
-								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/>
-								<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/>
-								<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/>
-								<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/>
-								<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/>
-								<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
-							</TorqueLossMap>
-						</Gear>
-						<Gear number="11">
-							<Ratio>1.280</Ratio>
-							<MaxSpeed>2000</MaxSpeed>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="12.06"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="8.06"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="6.06"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="14.06"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="18.06"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="22.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="26.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="30.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="34.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="38.06"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="42.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="46.06"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="50.06"/>
-								<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="54.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="12.56"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="8.56"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="6.56"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="14.56"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="18.56"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="22.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="26.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="30.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="34.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="38.56"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="42.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="46.56"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="50.56"/>
-								<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="54.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="13.58"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="9.58"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="7.58"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="15.58"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="19.58"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="23.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="27.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="31.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="35.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="39.58"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="43.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="47.58"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="51.58"/>
-								<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="55.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="14.59"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="10.59"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="8.59"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="16.59"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="20.59"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="24.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="28.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="32.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="36.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="40.59"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="44.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="48.59"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="52.59"/>
-								<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="56.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="15.60"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="11.60"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="9.60"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="17.60"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="21.60"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="25.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="29.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="33.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="37.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="41.60"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="45.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="49.60"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="53.60"/>
-								<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="57.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="16.61"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="12.61"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="10.61"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="18.61"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="22.61"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="26.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="30.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="34.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="38.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="42.61"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="46.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="50.61"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="54.61"/>
-								<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="58.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="17.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="13.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="11.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="19.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="23.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="27.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="31.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="35.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="39.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="43.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="47.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="51.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="55.63"/>
-								<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="59.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="18.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="14.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="12.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="20.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="24.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="28.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="32.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="36.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="40.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="44.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="48.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="52.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="56.64"/>
-								<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="60.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="19.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="15.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="13.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="21.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="25.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="29.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="33.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="37.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="41.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="45.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="49.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="53.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="57.65"/>
-								<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="61.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="20.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="16.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="14.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="22.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="26.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="30.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="34.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="38.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="42.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="46.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="50.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="54.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="58.66"/>
-								<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="62.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="21.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="17.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="15.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="23.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="27.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="31.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="35.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="39.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="43.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="47.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="51.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="55.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="59.67"/>
-								<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="63.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="22.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="18.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="16.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="20.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="24.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="28.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="32.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="36.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="40.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="44.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="48.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="52.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="56.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="60.69"/>
-								<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="64.69"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="25.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="25.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="26.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="27.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="28.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="29.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="30.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="31.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="32.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="33.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="34.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="35.69"/>
-							</TorqueLossMap>
-						</Gear>
-						<Gear number="12">
-							<Ratio>1.000</Ratio>
-							<TorqueLossMap>
-								<Entry inputSpeed="0.00" inputTorque="-350.00" torqueLoss="6.81"/>
-								<Entry inputSpeed="0.00" inputTorque="-150.00" torqueLoss="5.81"/>
-								<Entry inputSpeed="0.00" inputTorque="50.00" torqueLoss="5.31"/>
-								<Entry inputSpeed="0.00" inputTorque="250.00" torqueLoss="6.31"/>
-								<Entry inputSpeed="0.00" inputTorque="450.00" torqueLoss="7.31"/>
-								<Entry inputSpeed="0.00" inputTorque="650.00" torqueLoss="8.31"/>
-								<Entry inputSpeed="0.00" inputTorque="850.00" torqueLoss="9.31"/>
-								<Entry inputSpeed="0.00" inputTorque="1050.00" torqueLoss="10.31"/>
-								<Entry inputSpeed="0.00" inputTorque="1250.00" torqueLoss="11.31"/>
-								<Entry inputSpeed="0.00" inputTorque="1450.00" torqueLoss="12.31"/>
-								<Entry inputSpeed="0.00" inputTorque="1650.00" torqueLoss="13.31"/>
-								<Entry inputSpeed="0.00" inputTorque="1850.00" torqueLoss="14.31"/>
-								<Entry inputSpeed="0.00" inputTorque="2050.00" torqueLoss="15.31"/>
-								<Entry inputSpeed="0.00" inputTorque="2250.00" torqueLoss="16.31"/>
-								<Entry inputSpeed="0.00" inputTorque="2800.00" torqueLoss="17.31"/>
-								<Entry inputSpeed="100.00" inputTorque="-350.00" torqueLoss="7.32"/>
-								<Entry inputSpeed="100.00" inputTorque="-150.00" torqueLoss="6.32"/>
-								<Entry inputSpeed="100.00" inputTorque="50.00" torqueLoss="5.82"/>
-								<Entry inputSpeed="100.00" inputTorque="250.00" torqueLoss="6.82"/>
-								<Entry inputSpeed="100.00" inputTorque="450.00" torqueLoss="7.82"/>
-								<Entry inputSpeed="100.00" inputTorque="650.00" torqueLoss="8.82"/>
-								<Entry inputSpeed="100.00" inputTorque="850.00" torqueLoss="9.82"/>
-								<Entry inputSpeed="100.00" inputTorque="1050.00" torqueLoss="10.82"/>
-								<Entry inputSpeed="100.00" inputTorque="1250.00" torqueLoss="11.82"/>
-								<Entry inputSpeed="100.00" inputTorque="1450.00" torqueLoss="12.82"/>
-								<Entry inputSpeed="100.00" inputTorque="1650.00" torqueLoss="13.82"/>
-								<Entry inputSpeed="100.00" inputTorque="1850.00" torqueLoss="14.82"/>
-								<Entry inputSpeed="100.00" inputTorque="2050.00" torqueLoss="15.82"/>
-								<Entry inputSpeed="100.00" inputTorque="2250.00" torqueLoss="16.82"/>
-								<Entry inputSpeed="100.00" inputTorque="2800.00" torqueLoss="17.82"/>
-								<Entry inputSpeed="300.00" inputTorque="-350.00" torqueLoss="8.33"/>
-								<Entry inputSpeed="300.00" inputTorque="-150.00" torqueLoss="7.33"/>
-								<Entry inputSpeed="300.00" inputTorque="50.00" torqueLoss="6.83"/>
-								<Entry inputSpeed="300.00" inputTorque="250.00" torqueLoss="7.83"/>
-								<Entry inputSpeed="300.00" inputTorque="450.00" torqueLoss="8.83"/>
-								<Entry inputSpeed="300.00" inputTorque="650.00" torqueLoss="9.83"/>
-								<Entry inputSpeed="300.00" inputTorque="850.00" torqueLoss="10.83"/>
-								<Entry inputSpeed="300.00" inputTorque="1050.00" torqueLoss="11.83"/>
-								<Entry inputSpeed="300.00" inputTorque="1250.00" torqueLoss="12.83"/>
-								<Entry inputSpeed="300.00" inputTorque="1450.00" torqueLoss="13.83"/>
-								<Entry inputSpeed="300.00" inputTorque="1650.00" torqueLoss="14.83"/>
-								<Entry inputSpeed="300.00" inputTorque="1850.00" torqueLoss="15.83"/>
-								<Entry inputSpeed="300.00" inputTorque="2050.00" torqueLoss="16.83"/>
-								<Entry inputSpeed="300.00" inputTorque="2250.00" torqueLoss="17.83"/>
-								<Entry inputSpeed="300.00" inputTorque="2800.00" torqueLoss="18.83"/>
-								<Entry inputSpeed="500.00" inputTorque="-350.00" torqueLoss="9.34"/>
-								<Entry inputSpeed="500.00" inputTorque="-150.00" torqueLoss="8.34"/>
-								<Entry inputSpeed="500.00" inputTorque="50.00" torqueLoss="7.84"/>
-								<Entry inputSpeed="500.00" inputTorque="250.00" torqueLoss="8.84"/>
-								<Entry inputSpeed="500.00" inputTorque="450.00" torqueLoss="9.84"/>
-								<Entry inputSpeed="500.00" inputTorque="650.00" torqueLoss="10.84"/>
-								<Entry inputSpeed="500.00" inputTorque="850.00" torqueLoss="11.84"/>
-								<Entry inputSpeed="500.00" inputTorque="1050.00" torqueLoss="12.84"/>
-								<Entry inputSpeed="500.00" inputTorque="1250.00" torqueLoss="13.84"/>
-								<Entry inputSpeed="500.00" inputTorque="1450.00" torqueLoss="14.84"/>
-								<Entry inputSpeed="500.00" inputTorque="1650.00" torqueLoss="15.84"/>
-								<Entry inputSpeed="500.00" inputTorque="1850.00" torqueLoss="16.84"/>
-								<Entry inputSpeed="500.00" inputTorque="2050.00" torqueLoss="17.84"/>
-								<Entry inputSpeed="500.00" inputTorque="2250.00" torqueLoss="18.84"/>
-								<Entry inputSpeed="500.00" inputTorque="2800.00" torqueLoss="19.84"/>
-								<Entry inputSpeed="700.00" inputTorque="-350.00" torqueLoss="10.35"/>
-								<Entry inputSpeed="700.00" inputTorque="-150.00" torqueLoss="9.35"/>
-								<Entry inputSpeed="700.00" inputTorque="50.00" torqueLoss="8.85"/>
-								<Entry inputSpeed="700.00" inputTorque="250.00" torqueLoss="9.85"/>
-								<Entry inputSpeed="700.00" inputTorque="450.00" torqueLoss="10.85"/>
-								<Entry inputSpeed="700.00" inputTorque="650.00" torqueLoss="11.85"/>
-								<Entry inputSpeed="700.00" inputTorque="850.00" torqueLoss="12.85"/>
-								<Entry inputSpeed="700.00" inputTorque="1050.00" torqueLoss="13.85"/>
-								<Entry inputSpeed="700.00" inputTorque="1250.00" torqueLoss="14.85"/>
-								<Entry inputSpeed="700.00" inputTorque="1450.00" torqueLoss="15.85"/>
-								<Entry inputSpeed="700.00" inputTorque="1650.00" torqueLoss="16.85"/>
-								<Entry inputSpeed="700.00" inputTorque="1850.00" torqueLoss="17.85"/>
-								<Entry inputSpeed="700.00" inputTorque="2050.00" torqueLoss="18.85"/>
-								<Entry inputSpeed="700.00" inputTorque="2250.00" torqueLoss="19.85"/>
-								<Entry inputSpeed="700.00" inputTorque="2800.00" torqueLoss="20.85"/>
-								<Entry inputSpeed="900.00" inputTorque="-350.00" torqueLoss="11.36"/>
-								<Entry inputSpeed="900.00" inputTorque="-150.00" torqueLoss="10.36"/>
-								<Entry inputSpeed="900.00" inputTorque="50.00" torqueLoss="9.86"/>
-								<Entry inputSpeed="900.00" inputTorque="250.00" torqueLoss="10.86"/>
-								<Entry inputSpeed="900.00" inputTorque="450.00" torqueLoss="11.86"/>
-								<Entry inputSpeed="900.00" inputTorque="650.00" torqueLoss="12.86"/>
-								<Entry inputSpeed="900.00" inputTorque="850.00" torqueLoss="13.86"/>
-								<Entry inputSpeed="900.00" inputTorque="1050.00" torqueLoss="14.86"/>
-								<Entry inputSpeed="900.00" inputTorque="1250.00" torqueLoss="15.86"/>
-								<Entry inputSpeed="900.00" inputTorque="1450.00" torqueLoss="16.86"/>
-								<Entry inputSpeed="900.00" inputTorque="1650.00" torqueLoss="17.86"/>
-								<Entry inputSpeed="900.00" inputTorque="1850.00" torqueLoss="18.86"/>
-								<Entry inputSpeed="900.00" inputTorque="2050.00" torqueLoss="19.86"/>
-								<Entry inputSpeed="900.00" inputTorque="2250.00" torqueLoss="20.86"/>
-								<Entry inputSpeed="900.00" inputTorque="2800.00" torqueLoss="21.86"/>
-								<Entry inputSpeed="1100.00" inputTorque="-350.00" torqueLoss="12.37"/>
-								<Entry inputSpeed="1100.00" inputTorque="-150.00" torqueLoss="11.37"/>
-								<Entry inputSpeed="1100.00" inputTorque="50.00" torqueLoss="10.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="250.00" torqueLoss="11.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="450.00" torqueLoss="12.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="650.00" torqueLoss="13.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="850.00" torqueLoss="14.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="1050.00" torqueLoss="15.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="1250.00" torqueLoss="16.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="1450.00" torqueLoss="17.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="1650.00" torqueLoss="18.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="1850.00" torqueLoss="19.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="2050.00" torqueLoss="20.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="2250.00" torqueLoss="21.88"/>
-								<Entry inputSpeed="1100.00" inputTorque="2800.00" torqueLoss="22.88"/>
-								<Entry inputSpeed="1300.00" inputTorque="-350.00" torqueLoss="13.39"/>
-								<Entry inputSpeed="1300.00" inputTorque="-150.00" torqueLoss="12.39"/>
-								<Entry inputSpeed="1300.00" inputTorque="50.00" torqueLoss="11.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="250.00" torqueLoss="12.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="450.00" torqueLoss="13.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="650.00" torqueLoss="14.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="850.00" torqueLoss="15.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="1050.00" torqueLoss="16.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="1250.00" torqueLoss="17.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="1450.00" torqueLoss="18.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="1650.00" torqueLoss="19.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="1850.00" torqueLoss="20.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="2050.00" torqueLoss="21.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="2250.00" torqueLoss="22.89"/>
-								<Entry inputSpeed="1300.00" inputTorque="2800.00" torqueLoss="23.89"/>
-								<Entry inputSpeed="1500.00" inputTorque="-350.00" torqueLoss="14.40"/>
-								<Entry inputSpeed="1500.00" inputTorque="-150.00" torqueLoss="13.40"/>
-								<Entry inputSpeed="1500.00" inputTorque="50.00" torqueLoss="12.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="250.00" torqueLoss="13.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="450.00" torqueLoss="14.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="650.00" torqueLoss="15.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="850.00" torqueLoss="16.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="1050.00" torqueLoss="17.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="1250.00" torqueLoss="18.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="1450.00" torqueLoss="19.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="1650.00" torqueLoss="20.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="1850.00" torqueLoss="21.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="2050.00" torqueLoss="22.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="2250.00" torqueLoss="23.90"/>
-								<Entry inputSpeed="1500.00" inputTorque="2800.00" torqueLoss="24.90"/>
-								<Entry inputSpeed="1700.00" inputTorque="-350.00" torqueLoss="15.41"/>
-								<Entry inputSpeed="1700.00" inputTorque="-150.00" torqueLoss="14.41"/>
-								<Entry inputSpeed="1700.00" inputTorque="50.00" torqueLoss="13.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="250.00" torqueLoss="14.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="450.00" torqueLoss="15.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="650.00" torqueLoss="16.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="850.00" torqueLoss="17.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="1050.00" torqueLoss="18.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="1250.00" torqueLoss="19.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="1450.00" torqueLoss="20.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="1650.00" torqueLoss="21.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="1850.00" torqueLoss="22.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="2050.00" torqueLoss="23.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="2250.00" torqueLoss="24.91"/>
-								<Entry inputSpeed="1700.00" inputTorque="2800.00" torqueLoss="25.91"/>
-								<Entry inputSpeed="1900.00" inputTorque="-350.00" torqueLoss="16.42"/>
-								<Entry inputSpeed="1900.00" inputTorque="-150.00" torqueLoss="15.42"/>
-								<Entry inputSpeed="1900.00" inputTorque="50.00" torqueLoss="14.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="250.00" torqueLoss="15.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="450.00" torqueLoss="16.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="650.00" torqueLoss="17.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="850.00" torqueLoss="18.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="1050.00" torqueLoss="19.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="1250.00" torqueLoss="20.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="1450.00" torqueLoss="21.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="1650.00" torqueLoss="22.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="1850.00" torqueLoss="23.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="2050.00" torqueLoss="24.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="2250.00" torqueLoss="25.92"/>
-								<Entry inputSpeed="1900.00" inputTorque="2800.00" torqueLoss="26.92"/>
-								<Entry inputSpeed="2100.00" inputTorque="-350.00" torqueLoss="17.43"/>
-								<Entry inputSpeed="2100.00" inputTorque="-150.00" torqueLoss="16.43"/>
-								<Entry inputSpeed="2100.00" inputTorque="50.00" torqueLoss="15.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="250.00" torqueLoss="16.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="450.00" torqueLoss="17.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="650.00" torqueLoss="18.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="850.00" torqueLoss="19.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="1050.00" torqueLoss="20.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="1250.00" torqueLoss="21.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="1450.00" torqueLoss="22.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="1650.00" torqueLoss="23.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="1850.00" torqueLoss="24.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="2050.00" torqueLoss="25.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="2250.00" torqueLoss="26.94"/>
-								<Entry inputSpeed="2100.00" inputTorque="2800.00" torqueLoss="27.94"/>
-								<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="10.06"/>
-								<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="10.56"/>
-								<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="11.58"/>
-								<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="12.59"/>
-								<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="13.60"/>
-								<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="14.61"/>
-								<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="15.63"/>
-								<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="16.64"/>
-								<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="17.65"/>
-								<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="18.66"/>
-								<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="19.67"/>
-								<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="20.69"/>
-							</TorqueLossMap>
-						</Gear>
-					</Gears>
-				</Data>
-				<Signature>
-					<di:Reference URI="#gbx-vi2Oak2N">
-						<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>ieNmjofFObDBGnB7+GX9of3HYe3ydK/ra+YvmULVJIk=</di:DigestValue>
-					</di:Reference>
-				</Signature>
-			</v2.6:Gearbox>
-			<v2.6:TorqueConverter xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="TorqueConverterComponentDeclarationType">
-				<Data id="tc-123xyz" xsi:type="TorqueConverterDataDeclarationType">
-					<Manufacturer>Some Manufacturer</Manufacturer>
-					<Model>Some Model</Model>
-					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
-					<Date>2017-02-15T11:00:00Z</Date>
-					<AppVersion>TC CalcApp 123</AppVersion>
-					<CertificationMethod>Standard values</CertificationMethod>
-					<Characteristics>
-						<Entry speedRatio="0.0000" torqueRatio="1.00" inputTorqueRef="300.00"/>
-						<Entry speedRatio="0.5000" torqueRatio="1.00" inputTorqueRef="200.00"/>
-						<Entry speedRatio="0.9000" torqueRatio="0.90" inputTorqueRef="200.00"/>
-					</Characteristics>
-				</Data>
-				<Signature>
-					<di:Reference URI="#tc-123xyz">
-						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
-						<di:DigestValue>q2sumDwsqQKLw4xwkEllgsygF5bHBwZPSS66UNaXXis=</di:DigestValue>
-					</di:Reference>
-				</Signature>
-			</v2.6:TorqueConverter>
-			<v2.6:Angledrive xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="AngledriveComponentDeclarationType">
-				<Data id="agl-vi2Oak2N" xsi:type="AngledriveDataDeclarationType">
-					<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
-					<Model>Generic 40t Long Haul Truck Gearbox</Model>
-					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
-					<Date>2017-01-11T11:00:00Z</Date>
-					<AppVersion>3.0.1</AppVersion>
-					<Ratio>2.345</Ratio>
-					<CertificationMethod>Standard values</CertificationMethod>
-					<TorqueLossMap>
-						<Entry inputSpeed="0.00" inputTorque="-10000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1000.00" inputTorque="-1000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="10.00"/>
-						<Entry inputSpeed="1000.00" inputTorque="0.00" torqueLoss="10.00"/>
-						<Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1000.00" inputTorque="1000.00" torqueLoss="100.00"/>
-					</TorqueLossMap>
-				</Data>
-				<Signature>
-					<di:Reference URI="#agl-vi2Oak2N">
-						<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>1tuF9SoA8luoUBQGym4bYi1TurDSmcYqBDJ6AP20OSs=</di:DigestValue>
-					</di:Reference>
-				</Signature>
-			</v2.6:Angledrive>
-			<v2.6:Retarder xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="RetarderComponentDeclarationType">
-				<Data id="RET-Shai9imi" xsi:type="RetarderDataDeclarationType">
-					<Manufacturer>Generic Retarder Manufacturer</Manufacturer>
-					<Model>Generic Retarder</Model>
-					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
-					<Date>2017-01-11T11:00:00Z</Date>
-					<AppVersion>3.0.1</AppVersion>
-					<CertificationMethod>Standard values</CertificationMethod>
-					<RetarderLossMap>
-						<Entry retarderSpeed="0.00" torqueLoss="10.00"/>
-						<Entry retarderSpeed="100.00" torqueLoss="10.02"/>
-						<Entry retarderSpeed="200.00" torqueLoss="10.08"/>
-						<Entry retarderSpeed="300.00" torqueLoss="10.18"/>
-						<Entry retarderSpeed="400.00" torqueLoss="10.32"/>
-						<Entry retarderSpeed="500.00" torqueLoss="10.50"/>
-						<Entry retarderSpeed="600.00" torqueLoss="10.72"/>
-						<Entry retarderSpeed="700.00" torqueLoss="10.98"/>
-						<Entry retarderSpeed="800.00" torqueLoss="11.28"/>
-						<Entry retarderSpeed="900.00" torqueLoss="11.62"/>
-						<Entry retarderSpeed="1000.00" torqueLoss="12.00"/>
-						<Entry retarderSpeed="1100.00" torqueLoss="12.42"/>
-						<Entry retarderSpeed="1200.00" torqueLoss="12.88"/>
-						<Entry retarderSpeed="1300.00" torqueLoss="13.38"/>
-						<Entry retarderSpeed="1400.00" torqueLoss="13.92"/>
-						<Entry retarderSpeed="1500.00" torqueLoss="14.50"/>
-						<Entry retarderSpeed="1600.00" torqueLoss="15.12"/>
-						<Entry retarderSpeed="1700.00" torqueLoss="15.78"/>
-						<Entry retarderSpeed="1800.00" torqueLoss="16.48"/>
-						<Entry retarderSpeed="1900.00" torqueLoss="17.22"/>
-						<Entry retarderSpeed="2000.00" torqueLoss="18.00"/>
-						<Entry retarderSpeed="2100.00" torqueLoss="18.82"/>
-						<Entry retarderSpeed="2200.00" torqueLoss="19.68"/>
-						<Entry retarderSpeed="2300.00" torqueLoss="20.58"/>
-					</RetarderLossMap>
-				</Data>
-				<Signature>
-					<di:Reference URI="#RET-Shai9imi">
-						<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>fcEtYfDAbfuRq0xpuzapmEj+Py1PIPUZwVmx+amNvcc=</di:DigestValue>
-					</di:Reference>
-				</Signature>
-			</v2.6:Retarder>
-			<v2.6:Axlegear xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="AxlegearComponentDeclarationType">
-				<Data id="AXL-EC3ohnoh" xsi:type="AxlegearDataDeclarationType">
-					<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
-					<Model>Generic 40t Long Haul Truck AxleGear</Model>
-					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
-					<Date>2017-01-11T11:00:00Z</Date>
-					<AppVersion>3.0.1</AppVersion>
-					<LineType>Single portal axle</LineType>
-					<Ratio>2.590</Ratio>
-					<CertificationMethod>Standard values</CertificationMethod>
-					<TorqueLossMap>
-						<Entry inputSpeed="0.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="0.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="0.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="300.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="300.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="300.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="300.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="300.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="300.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="300.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="300.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="0.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="0.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="0.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="0.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="0.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="0.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="0.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="0.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="0.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="0.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="0.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="0.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="0.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="0.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="0.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="0.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="0.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="100.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="100.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="100.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="100.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="100.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="100.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="100.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="100.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="0.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="0.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="0.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="0.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="0.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="0.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="0.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="0.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="0.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="0.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="0.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="0.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="0.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="0.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="0.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="0.00" inputTorque="35000.00" torqueLoss="565.00"/>
-						<Entry inputSpeed="100.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="100.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="100.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="100.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="0.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="0.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="0.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="0.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="100.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="100.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="100.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="100.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="100.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="100.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="100.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="100.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="100.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="100.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="100.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="100.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="100.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="100.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="100.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="100.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="100.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="100.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="100.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="100.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="100.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="100.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="100.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="100.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="100.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="100.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="100.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="100.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="100.00" inputTorque="35000.00" torqueLoss="565.00"/>
-						<Entry inputSpeed="300.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="300.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="300.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="300.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="300.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="300.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="300.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="300.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="300.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="300.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="300.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="300.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="300.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="300.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="300.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="300.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="300.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="300.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="300.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="300.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="300.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="300.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="300.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="300.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="300.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="300.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="300.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="300.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="300.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="300.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="300.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="300.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="300.00" inputTorque="35000.00" torqueLoss="565.00"/>
-						<Entry inputSpeed="500.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="500.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="500.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="500.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="500.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="500.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="500.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="500.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="500.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="500.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="500.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="500.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="500.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="500.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="500.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="500.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="500.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="500.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="500.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="500.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="500.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="500.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="500.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="500.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="500.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="500.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="500.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="500.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="500.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="500.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="500.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="500.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="500.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="500.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="500.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="500.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="500.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="500.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="500.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="500.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="500.00" inputTorque="35000.00" torqueLoss="565.00"/>
-						<Entry inputSpeed="700.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="700.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="700.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="700.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="700.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="700.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="700.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="700.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="700.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="700.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="700.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="700.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="700.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="700.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="700.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="700.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="700.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="700.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="700.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="700.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="700.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="700.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="700.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="700.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="700.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="700.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="700.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="700.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="700.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="700.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="700.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="700.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="700.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="700.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="700.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="700.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="700.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="700.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="700.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="700.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="700.00" inputTorque="35000.00" torqueLoss="565.00"/>
-						<Entry inputSpeed="900.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="900.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="900.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="900.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="900.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="900.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="900.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="900.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="900.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="900.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="900.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="900.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="900.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="900.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="900.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="900.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="900.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="900.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="900.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="900.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="900.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="900.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="900.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="900.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="900.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="900.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="900.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="900.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="900.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="900.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="900.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="900.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="900.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="900.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="900.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="900.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="900.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="900.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="900.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="900.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="900.00" inputTorque="35000.00" torqueLoss="565.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="1100.00" inputTorque="35000.00" torqueLoss="565.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="1300.00" inputTorque="35000.00" torqueLoss="565.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="1500.00" inputTorque="35000.00" torqueLoss="565.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="1700.00" inputTorque="35000.00" torqueLoss="565.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="1900.00" inputTorque="35000.00" torqueLoss="565.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="-5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="-4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="-3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="-2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="-1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="0.00" torqueLoss="40.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="1000.00" torqueLoss="55.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="2000.00" torqueLoss="70.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="3000.00" torqueLoss="85.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="4000.00" torqueLoss="100.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="5000.00" torqueLoss="115.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="6000.00" torqueLoss="130.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="7000.00" torqueLoss="145.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="8000.00" torqueLoss="160.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="9000.00" torqueLoss="175.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="10000.00" torqueLoss="190.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="11000.00" torqueLoss="205.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="12000.00" torqueLoss="220.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="13000.00" torqueLoss="235.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="14000.00" torqueLoss="250.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="15000.00" torqueLoss="265.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="16000.00" torqueLoss="280.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="17000.00" torqueLoss="295.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="18000.00" torqueLoss="310.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="19000.00" torqueLoss="325.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="20000.00" torqueLoss="340.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="21000.00" torqueLoss="355.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="22000.00" torqueLoss="370.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="23000.00" torqueLoss="385.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="24000.00" torqueLoss="400.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="25000.00" torqueLoss="415.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="26000.00" torqueLoss="430.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="27000.00" torqueLoss="445.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="28000.00" torqueLoss="460.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="29000.00" torqueLoss="475.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="30000.00" torqueLoss="490.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="31000.00" torqueLoss="505.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="32000.00" torqueLoss="520.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="33000.00" torqueLoss="535.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="34000.00" torqueLoss="550.00"/>
-						<Entry inputSpeed="2100.00" inputTorque="35000.00" torqueLoss="565.00"/>
-					</TorqueLossMap>
-				</Data>
-				<Signature>
-					<di:Reference URI="#AXL-EC3ohnoh">
-						<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>o4nYTajmWKaduxys5ShmnfJbYd23rpxZ01JbuG6dmzU=</di:DigestValue>
-					</di:Reference>
-				</Signature>
-			</v2.6:Axlegear>
-			<v2.6:AxleWheels 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">
-										<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">
-										<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>
-			</v2.6:AxleWheels>
-			<v2.6:Auxiliaries xsi:type="PrimaryVehicleAuxiliariesComponentDeclarationType">
-				<Data xsi:type="PrimaryVehicleAuxiliaryDataDeclarationType">
-					<Fan>
-						<Technology>Electrically driven - Electronically controlled</Technology>
-					</Fan>
-					<SteeringPump>
-						<Technology axleNumber="1">Full electric steering gear</Technology>
-					</SteeringPump>
-					<ElectricSystem>
-						<AlternatorTechnology>default</AlternatorTechnology>
-						<SmartElectrics>false</SmartElectrics>
-					</ElectricSystem>
-					<PneumaticSystem>
-						<SizeOfAirSupply>Large Supply 2-stage</SizeOfAirSupply>
-						<Clutch>none</Clutch>
-						<CompressorRatio>1.000</CompressorRatio>
-						<SmartCompressionSystem>false</SmartCompressionSystem>
-						<SmartRegenerationSystem>false</SmartRegenerationSystem>
-						<AirsuspensionControl>electronically</AirsuspensionControl>
-						<AdBlueDosing>true</AdBlueDosing>
-					</PneumaticSystem>
-					<HVAC>
-						<AdjustableCoolantThermostat>true</AdjustableCoolantThermostat>
-						<EngineWasteGasHeatExchanger>true</EngineWasteGasHeatExchanger>
-					</HVAC>
-				</Data>
-			</v2.6:Auxiliaries>
-		</Components>
-	</v2.0:Vehicle>
-</tns:VectoInputDeclaration>
diff --git a/Tools/GraphDrawer/bin/Debug/TestData/Integration/VTPMode/GenericVehicle/CityBus_AT_Ser.RSLT_MANUFACTURER.xml b/Tools/GraphDrawer/bin/Debug/TestData/Integration/VTPMode/GenericVehicle/CityBus_AT_Ser.RSLT_MANUFACTURER.xml
deleted file mode 100644
index 3069eb40a95836621bde9462d3ccdbe35bc0b9d6..0000000000000000000000000000000000000000
--- a/Tools/GraphDrawer/bin/Debug/TestData/Integration/VTPMode/GenericVehicle/CityBus_AT_Ser.RSLT_MANUFACTURER.xml
+++ /dev/null
@@ -1,323 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<?xml-stylesheet href="https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/CSS/VectoReports.css"?>
-<VectoOutput schemaVersion="0.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.5" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.5 https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/VectoOutputManufacturer.0.5.xsd">
-  <Data id="RESULT-bf220343fe634daa8708">
-    <Vehicle>
-      <VIN>1234</VIN>
-      <LegislativeClass>N2</LegislativeClass>
-      <VehicleGroup>2</VehicleGroup>
-      <AxleConfiguration>4x2</AxleConfiguration>
-      <GrossVehicleMass unit="t">12.0</GrossVehicleMass>
-      <CurbMassChassis unit="kg">4670</CurbMassChassis>
-      <PTO>false</PTO>
-      <Components>
-        <Engine>
-          <Model>175kW 6.8l Engine</Model>
-          <CertificationNumber>1234</CertificationNumber>
-          <DigestValue>JZmOioDqDbJWb3SWfxl/wSaxs9/WN5mLPh8vtJjs8Vs=</DigestValue>
-          <RatedPower unit="kW">0</RatedPower>
-          <IdlingSpeed unit="rpm">650</IdlingSpeed>
-          <RatedSpeed unit="rpm">2200</RatedSpeed>
-          <Displacement unit="ltr">6.9</Displacement>
-          <FuelType>Diesel CI</FuelType>
-        </Engine>
-        <Gearbox>
-          <Model>AT Serial</Model>
-          <CertificationMethod>Standard values</CertificationMethod>
-          <DigestValue>XopOvOsapfoRb6Px3dioaWrK2gzG4ICU22YvmCA3YEU=</DigestValue>
-          <TransmissionType>APT-S</TransmissionType>
-          <GearsCount>6</GearsCount>
-          <TransmissionRatioFinalGear>0.620</TransmissionRatioFinalGear>
-        </Gearbox>
-        <TorqueConverter>
-          <Model />
-          <CertificationMethod>Standard values</CertificationMethod>
-          <DigestValue />
-        </TorqueConverter>
-        <Retarder>
-          <RetarderType>None</RetarderType>
-        </Retarder>
-        <Axlegear>
-          <Model>N.A.</Model>
-          <CertificationMethod>Standard values</CertificationMethod>
-          <DigestValue>6SDJDUVv0NR59jxJVNVERv65KBwvwbqAPNuOa1b+3HM=</DigestValue>
-          <LineType>Single reduction axle</LineType>
-          <Ratio>6.200</Ratio>
-        </Axlegear>
-        <AirDrag>
-          <Model>N.A.</Model>
-          <CertificationMethod>Measured</CertificationMethod>
-          <CertificationNumber>1234</CertificationNumber>
-          <DigestValue>IkK48GO1AjmbFybyld4/BYI0ymwJTnaglLqwALludTw=</DigestValue>
-          <CdxA>4.83</CdxA>
-        </AirDrag>
-        <AxleWheels>
-          <Axle axleNumber="1">
-            <TyreDimension>265/70 R19.5</TyreDimension>
-            <TyreCertificationNumber>e12*0815/8051*2017/05E0000*00</TyreCertificationNumber>
-            <DigestValue>m5RsKXsyG5IZ5K397SrIGJjsuXbmdVOuTmdRY3RSdcM=</DigestValue>
-            <TyreRRCDeclared>0.0055</TyreRRCDeclared>
-            <TwinTyres>false</TwinTyres>
-          </Axle>
-          <Axle axleNumber="2">
-            <TyreDimension>265/70 R19.5</TyreDimension>
-            <TyreCertificationNumber>e12*0815/8051*2017/05E0000*00</TyreCertificationNumber>
-            <DigestValue>N8+9tAQ3TWT7He9gM/aHRmcU76J2keixu8ONXE7sMjM=</DigestValue>
-            <TyreRRCDeclared>0.0063</TyreRRCDeclared>
-            <TwinTyres>true</TwinTyres>
-          </Axle>
-        </AxleWheels>
-        <Auxiliaries>
-          <FanTechnology>Hydraulic driven - Constant displacement pump</FanTechnology>
-          <SteeringPumpTechnology>Variable displacement elec. controlled</SteeringPumpTechnology>
-          <ElectricSystemTechnology>Standard technology - LED headlights, all</ElectricSystemTechnology>
-          <PneumaticSystemTechnology>Medium Supply 2-stage + ESS</PneumaticSystemTechnology>
-          <HVACTechnology>Default</HVACTechnology>
-        </Auxiliaries>
-      </Components>
-      <InputDataSignature>
-        <di:Reference URI="#VEH-N.A.">
-          <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>d1VI47bzCHCfd2bpCt4fZwDwwze/OUK3U0vDY1s1QYQ=</di:DigestValue>
-        </di:Reference>
-      </InputDataSignature>
-    </Vehicle>
-    <Results>
-      <Status>success</Status>
-      <Result status="success">
-        <Mission>Long Haul</Mission>
-        <Distance unit="km">100.185</Distance>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">11274</TotalVehicleMass>
-          <Payload unit="kg">1304</Payload>
-          <FuelType>Diesel CI</FuelType>
-        </SimulationParameters>
-        <VehiclePerformance>
-          <AverageSpeed unit="km/h">79.8</AverageSpeed>
-          <AverageDrivingSpeed unit="km/h">81.0</AverageDrivingSpeed>
-          <MinSpeed unit="km/h">0.0</MinSpeed>
-          <MaxSpeed unit="km/h">85.0</MaxSpeed>
-          <MaxDeceleration unit="m/s²">1.00</MaxDeceleration>
-          <MaxAcceleration unit="m/s²">1.00</MaxAcceleration>
-          <FullLoadDrivingtimePercentage>4.59</FullLoadDrivingtimePercentage>
-          <GearshiftCount>33</GearshiftCount>
-          <EngineSpeedDriving>
-            <Min unit="rpm">683.7</Min>
-            <Average unit="rpm">1977.1</Average>
-            <Max unit="rpm">2059.4</Max>
-          </EngineSpeedDriving>
-        </VehiclePerformance>
-        <FuelConsumption unit="g/km">207.6</FuelConsumption>
-        <FuelConsumption unit="g/t-km">159.2</FuelConsumption>
-        <FuelConsumption unit="g/m³-km">2.44</FuelConsumption>
-        <FuelConsumption unit="MJ/km">8.86</FuelConsumption>
-        <FuelConsumption unit="MJ/t-km">6.80</FuelConsumption>
-        <FuelConsumption unit="MJ/m³-km">0.104</FuelConsumption>
-        <FuelConsumption unit="l/100km">24.8</FuelConsumption>
-        <FuelConsumption unit="l/t-km">0.190</FuelConsumption>
-        <FuelConsumption unit="l/m³-km">0.00292</FuelConsumption>
-        <CO2 unit="g/km">649.8</CO2>
-        <CO2 unit="g/t-km">498.3</CO2>
-        <CO2 unit="g/m³-km">7.64</CO2>
-      </Result>
-      <Result status="success">
-        <Mission>Long Haul</Mission>
-        <Distance unit="km">100.185</Distance>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">19811</TotalVehicleMass>
-          <Payload unit="kg">9841</Payload>
-          <FuelType>Diesel CI</FuelType>
-        </SimulationParameters>
-        <VehiclePerformance>
-          <AverageSpeed unit="km/h">78.3</AverageSpeed>
-          <AverageDrivingSpeed unit="km/h">79.4</AverageDrivingSpeed>
-          <MinSpeed unit="km/h">0.0</MinSpeed>
-          <MaxSpeed unit="km/h">87.5</MaxSpeed>
-          <MaxDeceleration unit="m/s²">1.00</MaxDeceleration>
-          <MaxAcceleration unit="m/s²">1.00</MaxAcceleration>
-          <FullLoadDrivingtimePercentage>17.09</FullLoadDrivingtimePercentage>
-          <GearshiftCount>39</GearshiftCount>
-          <EngineSpeedDriving>
-            <Min unit="rpm">677.3</Min>
-            <Average unit="rpm">1954.9</Average>
-            <Max unit="rpm">2192.7</Max>
-          </EngineSpeedDriving>
-        </VehiclePerformance>
-        <FuelConsumption unit="g/km">241.1</FuelConsumption>
-        <FuelConsumption unit="g/t-km">24.5</FuelConsumption>
-        <FuelConsumption unit="g/m³-km">2.84</FuelConsumption>
-        <FuelConsumption unit="MJ/km">10.3</FuelConsumption>
-        <FuelConsumption unit="MJ/t-km">1.05</FuelConsumption>
-        <FuelConsumption unit="MJ/m³-km">0.121</FuelConsumption>
-        <FuelConsumption unit="l/100km">28.8</FuelConsumption>
-        <FuelConsumption unit="l/t-km">0.0293</FuelConsumption>
-        <FuelConsumption unit="l/m³-km">0.00339</FuelConsumption>
-        <CO2 unit="g/km">754.7</CO2>
-        <CO2 unit="g/t-km">76.7</CO2>
-        <CO2 unit="g/m³-km">8.88</CO2>
-      </Result>
-      <Result status="success">
-        <Mission>Regional Delivery</Mission>
-        <Distance unit="km">100.000</Distance>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">7174</TotalVehicleMass>
-          <Payload unit="kg">604</Payload>
-          <FuelType>Diesel CI</FuelType>
-        </SimulationParameters>
-        <VehiclePerformance>
-          <AverageSpeed unit="km/h">61.1</AverageSpeed>
-          <AverageDrivingSpeed unit="km/h">70.0</AverageDrivingSpeed>
-          <MinSpeed unit="km/h">0.0</MinSpeed>
-          <MaxSpeed unit="km/h">85.0</MaxSpeed>
-          <MaxDeceleration unit="m/s²">1.00</MaxDeceleration>
-          <MaxAcceleration unit="m/s²">1.00</MaxAcceleration>
-          <FullLoadDrivingtimePercentage>1.41</FullLoadDrivingtimePercentage>
-          <GearshiftCount>127</GearshiftCount>
-          <EngineSpeedDriving>
-            <Min unit="rpm">650.0</Min>
-            <Average unit="rpm">1738.4</Average>
-            <Max unit="rpm">2059.4</Max>
-          </EngineSpeedDriving>
-        </VehiclePerformance>
-        <FuelConsumption unit="g/km">153.8</FuelConsumption>
-        <FuelConsumption unit="g/t-km">254.7</FuelConsumption>
-        <FuelConsumption unit="g/m³-km">3.40</FuelConsumption>
-        <FuelConsumption unit="MJ/km">6.57</FuelConsumption>
-        <FuelConsumption unit="MJ/t-km">10.9</FuelConsumption>
-        <FuelConsumption unit="MJ/m³-km">0.145</FuelConsumption>
-        <FuelConsumption unit="l/100km">18.4</FuelConsumption>
-        <FuelConsumption unit="l/t-km">0.305</FuelConsumption>
-        <FuelConsumption unit="l/m³-km">0.00407</FuelConsumption>
-        <CO2 unit="g/km">481.4</CO2>
-        <CO2 unit="g/t-km">797.1</CO2>
-        <CO2 unit="g/m³-km">10.6</CO2>
-      </Result>
-      <Result status="success">
-        <Mission>Regional Delivery</Mission>
-        <Distance unit="km">100.000</Distance>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">9590</TotalVehicleMass>
-          <Payload unit="kg">3020</Payload>
-          <FuelType>Diesel CI</FuelType>
-        </SimulationParameters>
-        <VehiclePerformance>
-          <AverageSpeed unit="km/h">61.0</AverageSpeed>
-          <AverageDrivingSpeed unit="km/h">69.9</AverageDrivingSpeed>
-          <MinSpeed unit="km/h">0.0</MinSpeed>
-          <MaxSpeed unit="km/h">86.1</MaxSpeed>
-          <MaxDeceleration unit="m/s²">1.00</MaxDeceleration>
-          <MaxAcceleration unit="m/s²">1.00</MaxAcceleration>
-          <FullLoadDrivingtimePercentage>3.85</FullLoadDrivingtimePercentage>
-          <GearshiftCount>127</GearshiftCount>
-          <EngineSpeedDriving>
-            <Min unit="rpm">662.6</Min>
-            <Average unit="rpm">1736.9</Average>
-            <Max unit="rpm">2086.8</Max>
-          </EngineSpeedDriving>
-        </VehiclePerformance>
-        <FuelConsumption unit="g/km">166.2</FuelConsumption>
-        <FuelConsumption unit="g/t-km">55.1</FuelConsumption>
-        <FuelConsumption unit="g/m³-km">3.68</FuelConsumption>
-        <FuelConsumption unit="MJ/km">7.10</FuelConsumption>
-        <FuelConsumption unit="MJ/t-km">2.35</FuelConsumption>
-        <FuelConsumption unit="MJ/m³-km">0.157</FuelConsumption>
-        <FuelConsumption unit="l/100km">19.9</FuelConsumption>
-        <FuelConsumption unit="l/t-km">0.0659</FuelConsumption>
-        <FuelConsumption unit="l/m³-km">0.00440</FuelConsumption>
-        <CO2 unit="g/km">520.4</CO2>
-        <CO2 unit="g/t-km">172.3</CO2>
-        <CO2 unit="g/m³-km">11.5</CO2>
-      </Result>
-      <Result status="success">
-        <Mission>Urban Delivery</Mission>
-        <Distance unit="km">99.999</Distance>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">7174</TotalVehicleMass>
-          <Payload unit="kg">604</Payload>
-          <FuelType>Diesel CI</FuelType>
-        </SimulationParameters>
-        <VehiclePerformance>
-          <AverageSpeed unit="km/h">26.6</AverageSpeed>
-          <AverageDrivingSpeed unit="km/h">35.4</AverageDrivingSpeed>
-          <MinSpeed unit="km/h">0.0</MinSpeed>
-          <MaxSpeed unit="km/h">86.4</MaxSpeed>
-          <MaxDeceleration unit="m/s²">1.00</MaxDeceleration>
-          <MaxAcceleration unit="m/s²">1.00</MaxAcceleration>
-          <FullLoadDrivingtimePercentage>3.10</FullLoadDrivingtimePercentage>
-          <GearshiftCount>1351</GearshiftCount>
-          <EngineSpeedDriving>
-            <Min unit="rpm">650.0</Min>
-            <Average unit="rpm">1133.3</Average>
-            <Max unit="rpm">2093.8</Max>
-          </EngineSpeedDriving>
-        </VehiclePerformance>
-        <FuelConsumption unit="g/km">183.8</FuelConsumption>
-        <FuelConsumption unit="g/t-km">304.4</FuelConsumption>
-        <FuelConsumption unit="g/m³-km">4.07</FuelConsumption>
-        <FuelConsumption unit="MJ/km">7.85</FuelConsumption>
-        <FuelConsumption unit="MJ/t-km">13.0</FuelConsumption>
-        <FuelConsumption unit="MJ/m³-km">0.174</FuelConsumption>
-        <FuelConsumption unit="l/100km">22.0</FuelConsumption>
-        <FuelConsumption unit="l/t-km">0.364</FuelConsumption>
-        <FuelConsumption unit="l/m³-km">0.00486</FuelConsumption>
-        <CO2 unit="g/km">575.4</CO2>
-        <CO2 unit="g/t-km">952.7</CO2>
-        <CO2 unit="g/m³-km">12.7</CO2>
-      </Result>
-      <Result status="success">
-        <Mission>Urban Delivery</Mission>
-        <Distance unit="km">99.999</Distance>
-        <SimulationParameters>
-          <TotalVehicleMass unit="kg">9590</TotalVehicleMass>
-          <Payload unit="kg">3020</Payload>
-          <FuelType>Diesel CI</FuelType>
-        </SimulationParameters>
-        <VehiclePerformance>
-          <AverageSpeed unit="km/h">26.5</AverageSpeed>
-          <AverageDrivingSpeed unit="km/h">35.2</AverageDrivingSpeed>
-          <MinSpeed unit="km/h">0.0</MinSpeed>
-          <MaxSpeed unit="km/h">87.5</MaxSpeed>
-          <MaxDeceleration unit="m/s²">1.00</MaxDeceleration>
-          <MaxAcceleration unit="m/s²">1.00</MaxAcceleration>
-          <FullLoadDrivingtimePercentage>6.91</FullLoadDrivingtimePercentage>
-          <GearshiftCount>1355</GearshiftCount>
-          <EngineSpeedDriving>
-            <Min unit="rpm">650.0</Min>
-            <Average unit="rpm">1136.5</Average>
-            <Max unit="rpm">2119.9</Max>
-          </EngineSpeedDriving>
-        </VehiclePerformance>
-        <FuelConsumption unit="g/km">214.4</FuelConsumption>
-        <FuelConsumption unit="g/t-km">71.0</FuelConsumption>
-        <FuelConsumption unit="g/m³-km">4.74</FuelConsumption>
-        <FuelConsumption unit="MJ/km">9.16</FuelConsumption>
-        <FuelConsumption unit="MJ/t-km">3.03</FuelConsumption>
-        <FuelConsumption unit="MJ/m³-km">0.203</FuelConsumption>
-        <FuelConsumption unit="l/100km">25.6</FuelConsumption>
-        <FuelConsumption unit="l/t-km">0.0849</FuelConsumption>
-        <FuelConsumption unit="l/m³-km">0.00567</FuelConsumption>
-        <CO2 unit="g/km">671.1</CO2>
-        <CO2 unit="g/t-km">222.2</CO2>
-        <CO2 unit="g/m³-km">14.8</CO2>
-      </Result>
-    </Results>
-    <ApplicationInformation>
-      <SimulationToolVersion>3.3.0.1250</SimulationToolVersion>
-      <Date>2018-06-12T11:38:13.0616599Z</Date>
-    </ApplicationInformation>
-  </Data>
-  <Signature>
-    <di:Reference URI="#RESULT-bf220343fe634daa8708">
-      <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>jqnxgZOnQyrwc2f4Is+7/vmp6Kps8zck64lYx2YFU+w=</di:DigestValue>
-    </di:Reference>
-  </Signature>
-</VectoOutput>
\ No newline at end of file
diff --git a/VECTO.sln b/VECTO.sln
index 8e434e31ea257b6b7293634cc0b7c2fd4ebb028b..a27ebbaf909b63ddb6baff238ef00d3acac4ee12 100644
--- a/VECTO.sln
+++ b/VECTO.sln
@@ -74,6 +74,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectoAPI", "..\VECTO_API_DE
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VECTO3GUI2020", "VECTO3GUI2020\VECTO3GUI2020.csproj", "{7E9172D4-07E3-4077-814E-7117AB2B3E22}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vecto3GUI2020Test", "Vecto3GUI2020Test\Vecto3GUI2020Test.csproj", "{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug PerformanceStats|Any CPU = Debug PerformanceStats|Any CPU
@@ -908,6 +910,48 @@ Global
 		{7E9172D4-07E3-4077-814E-7117AB2B3E22}.ReleaseTUG|x64.Build.0 = Release|Any CPU
 		{7E9172D4-07E3-4077-814E-7117AB2B3E22}.ReleaseTUG|x86.ActiveCfg = Release|Any CPU
 		{7E9172D4-07E3-4077-814E-7117AB2B3E22}.ReleaseTUG|x86.Build.0 = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceStats|Any CPU.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceStats|Any CPU.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceStats|x64.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceStats|x64.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceStats|x86.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceStats|x86.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceTrace|Any CPU.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceTrace|Any CPU.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceTrace|x64.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceTrace|x64.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceTrace|x86.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug PerformanceTrace|x86.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug|x64.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Debug|x86.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.DebugTUG|Any CPU.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.DebugTUG|Any CPU.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.DebugTUG|x64.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.DebugTUG|x64.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.DebugTUG|x86.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.DebugTUG|x86.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Deploy|Any CPU.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Deploy|Any CPU.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Deploy|x64.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Deploy|x64.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Deploy|x86.ActiveCfg = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Deploy|x86.Build.0 = Debug|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Release|Any CPU.Build.0 = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Release|x64.ActiveCfg = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Release|x64.Build.0 = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Release|x86.ActiveCfg = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.Release|x86.Build.0 = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.ReleaseTUG|Any CPU.ActiveCfg = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.ReleaseTUG|Any CPU.Build.0 = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.ReleaseTUG|x64.ActiveCfg = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.ReleaseTUG|x64.Build.0 = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.ReleaseTUG|x86.ActiveCfg = Release|Any CPU
+		{7F4FF473-96B3-461E-9CE6-76D3B75F87CB}.ReleaseTUG|x86.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/VECTO.sln.DotSettings b/VECTO.sln.DotSettings
index 24395e4cff50468dfca3a81fd3dbf9dde40ed7ce..58f30963b2546225ba4b9e4a0c81f806aa4a2759 100644
--- a/VECTO.sln.DotSettings
+++ b/VECTO.sln.DotSettings
@@ -1,5 +1,6 @@
 <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
 	<s:Boolean x:Key="/Default/CodeInspection/CodeAnnotations/NamespacesWithAnnotations/=HashingTool_002EAnnotations/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeInspection/CodeAnnotations/NamespacesWithAnnotations/=VECTO3GUI2020_002EAnnotations/@EntryIndexedValue">True</s:Boolean>
 	<s:String x:Key="/Default/CodeStyle/CodeCleanup/SilentCleanupProfile/@EntryValue">Default: Reformat Code</s:String>
 	<s:String x:Key="/Default/CodeStyle/CodeFormatting/CommonFormatter/ALIGNMENT_TAB_FILL_STYLE/@EntryValue">USE_TABS_ONLY</s:String>
 	<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGNMENT_TAB_FILL_STYLE/@EntryValue">USE_TABS_ONLY</s:String>
diff --git a/VECTO/Input Files/Engine.vb b/VECTO/Input Files/Engine.vb
index 9bc9ac04993380fb8b7e39ac968c2afc792d6e1d..6e168b0210ca3c2a039590aa76ab39193e94e9b6 100644
--- a/VECTO/Input Files/Engine.vb	
+++ b/VECTO/Input Files/Engine.vb	
@@ -619,6 +619,7 @@ Public Class DummyVehicle
 	Public Property Identifier As String Implements IVehicleDeclarationInputData.Identifier
 	Public Property ExemptedVehicle As Boolean Implements IVehicleDeclarationInputData.ExemptedVehicle
 	Public Property VIN As String Implements IVehicleDeclarationInputData.VIN
+	Public ReadOnly Property LegislativeCategory As String Implements IVehicleDeclarationInputData.LegislativeCategory
 	Public Property LegislativeClass As LegislativeClass? Implements IVehicleDeclarationInputData.LegislativeClass
 	Public Property VehicleCategory As VehicleCategory Implements IVehicleDeclarationInputData.VehicleCategory
 	Public Property AxleConfiguration As AxleConfiguration Implements IVehicleDeclarationInputData.AxleConfiguration
diff --git a/VECTO/Input Files/Gearbox.vb b/VECTO/Input Files/Gearbox.vb
index 70a4c0d266761e0eb7387b828cdc2c41324e72d5..b934593d01fd1230c40c4500098900893a4b2161 100644
--- a/VECTO/Input Files/Gearbox.vb	
+++ b/VECTO/Input Files/Gearbox.vb	
@@ -801,6 +801,7 @@ Public Class MockEngineeringVehicle
     Public Property Identifier As String Implements IVehicleDeclarationInputData.Identifier
     Public Property ExemptedVehicle As Boolean Implements IVehicleDeclarationInputData.ExemptedVehicle
     Public Property VIN As String Implements IVehicleDeclarationInputData.VIN
+    Public ReadOnly Property LegislativeCategory As String Implements IVehicleDeclarationInputData.LegislativeCategory
     Public Property LegislativeClass As LegislativeClass? Implements IVehicleDeclarationInputData.LegislativeClass
     Public Property VehicleCategory As VehicleCategory Implements IVehicleDeclarationInputData.VehicleCategory
     Public Property AxleConfiguration As AxleConfiguration Implements IVehicleDeclarationInputData.AxleConfiguration
diff --git a/VECTO/Input Files/MockVehicleInputData.vb b/VECTO/Input Files/MockVehicleInputData.vb
index ecc845ec7e8570eed5e94907110905f4fc1ab560..1f7a3f1295683574ba845fb9d97eb31516f93980 100644
--- a/VECTO/Input Files/MockVehicleInputData.vb	
+++ b/VECTO/Input Files/MockVehicleInputData.vb	
@@ -19,6 +19,7 @@ Public Class MockVehicleInputData
     Public Property Identifier As String Implements IVehicleDeclarationInputData.Identifier
     Public Property ExemptedVehicle As Boolean Implements IVehicleDeclarationInputData.ExemptedVehicle
     Public Property VIN As String Implements IVehicleDeclarationInputData.VIN
+    Public ReadOnly Property LegislativeCategory As String Implements IVehicleDeclarationInputData.LegislativeCategory
     Public Property LegislativeClass As LegislativeClass? Implements IVehicleDeclarationInputData.LegislativeClass
     Public Property VehicleCategory As VehicleCategory Implements IVehicleDeclarationInputData.VehicleCategory
     Public Property AxleConfiguration As AxleConfiguration Implements IVehicleDeclarationInputData.AxleConfiguration
diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb
index bd5eeabb6cb5a3b0aa879a02e788ffbd684e7669..fe41cc90754dafe8a604b00332836df6131b22a6 100644
--- a/VECTO/Input Files/Vehicle.vb	
+++ b/VECTO/Input Files/Vehicle.vb	
@@ -362,6 +362,8 @@ Public Class Vehicle
 		End Get
 	End Property
 
+	Public ReadOnly Property LegislativeCategory As String Implements IVehicleDeclarationInputData.LegislativeCategory
+
 	Public ReadOnly Property LegislativeClass As LegislativeClass? Implements IVehicleEngineeringInputData.LegislativeClass
 		Get
 			Return legClass
@@ -406,6 +408,9 @@ Public Class Vehicle
 		End Get
 	End Property
 
+	Public ReadOnly Property TransferredAirDragArea As SquareMeter Implements IAirdragDeclarationInputData.TransferredAirDragArea
+	Public ReadOnly Property AirDragArea_0 As SquareMeter Implements IAirdragDeclarationInputData.AirDragArea_0
+
 	Public ReadOnly Property IVehicleEngineeringInputData_Axles As IList(Of IAxleEngineeringInputData) _
 		Implements IAxlesEngineeringInputData.AxlesEngineering
 		Get
diff --git a/VECTO3GUI2020/App.xaml b/VECTO3GUI2020/App.xaml
index 44bd4cf47012233781ed3a2b8b7e533696fc39ca..b82b65b9f27c4520086b1634ee67f5893b6906a4 100644
--- a/VECTO3GUI2020/App.xaml
+++ b/VECTO3GUI2020/App.xaml
@@ -1,19 +1,24 @@
 <Application x:Class="VECTO3GUI2020.App"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:local="clr-namespace:VECTO3GUI2020">
+             xmlns:local="clr-namespace:VECTO3GUI2020"
+             ShutdownMode="OnMainWindowClose">
     <Application.Resources>
         <ResourceDictionary>
             <ResourceDictionary.MergedDictionaries>
             <!-- Add new ResourceDictionaries here-->
                 <ResourceDictionary Source="Resources/ViewModelBindings.xaml"/>
                 <ResourceDictionary Source="Resources/Converter.xaml"/>
-                <ResourceDictionary Source="Resources/GlobalStyles.xaml"/>
-                <ResourceDictionary Source="Resources/Colors.xaml"/>
+                <ResourceDictionary Source="Resources\Styles\ButtonStyles.xaml"/>
+                <ResourceDictionary Source="Resources/Styles/GlobalStyles.xaml"/>
+                <ResourceDictionary Source="Resources/Styles/Colors.xaml"/>
+                <ResourceDictionary Source="Resources/Styles/ButtonStyles.xaml"/>
                 <ResourceDictionary Source="DataGridStyles.xaml"/>
-                <ResourceDictionary Source="ButtonTemplates.xaml"/>
-                <ResourceDictionary Source="ButtonStyles.xaml"/>
+                <ResourceDictionary Source="Resources/Templates/ErrorTemplates.xaml"/>
+                <ResourceDictionary Source="Resources/ObjectProvider.xaml"/>
+                <ResourceDictionary Source="Resources/Icons/drawables.xaml"></ResourceDictionary>
             </ResourceDictionary.MergedDictionaries>
         </ResourceDictionary>
     </Application.Resources>
+
 </Application>
diff --git a/VECTO3GUI2020/App.xaml.cs b/VECTO3GUI2020/App.xaml.cs
index a74dff5f5731900c42404cb38ef88b35ffc23b58..7475864d68bb7ac004fc538fce28a7ddd985a8b9 100644
--- a/VECTO3GUI2020/App.xaml.cs
+++ b/VECTO3GUI2020/App.xaml.cs
@@ -48,7 +48,7 @@ namespace VECTO3GUI2020
 
             container.Bind<ISettingsModel>().To<SettingsModel>();
 
-			container.Bind<IDialogHelper>().To<DialogHelper>();
+			container.Bind<IDialogHelper>().To<DialogHelper>().InSingletonScope();
 			container.Bind<IWindowHelper>().To<WindowHelper>();
 
 		}
@@ -63,6 +63,7 @@ namespace VECTO3GUI2020
 
             var mainwindow = container.Get<MainWindow>();
             this.MainWindow = mainwindow;
+			Application.Current.MainWindow = mainwindow;
             this.MainWindow.Show();
 
 
diff --git a/VECTO3GUI2020/ButtonTemplates.xaml b/VECTO3GUI2020/ButtonTemplates.xaml
deleted file mode 100644
index 825650eb6df891a96416069bcd74d751ad009751..0000000000000000000000000000000000000000
--- a/VECTO3GUI2020/ButtonTemplates.xaml
+++ /dev/null
@@ -1,4 +0,0 @@
-<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
-    
-</ResourceDictionary>
\ No newline at end of file
diff --git a/VECTO3GUI2020/DataGridStyles.xaml b/VECTO3GUI2020/DataGridStyles.xaml
index 8082415bcfc97d6c0f34d4b69ff8cb847dc3a05b..71273451d233039b3dca9760cbe966e2d8dbd21e 100644
--- a/VECTO3GUI2020/DataGridStyles.xaml
+++ b/VECTO3GUI2020/DataGridStyles.xaml
@@ -1,7 +1,76 @@
 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-                    xmlns:local="clr-namespace:VECTO3GUI2020" xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2">
+                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2">
 
-  
+    <Style x:Key="ColumnHeaderGripperStyle" TargetType="{x:Type Thumb}">
+        <Setter Property="Width" Value="8"/>
+        <Setter Property="Background" Value="Transparent"/>
+        <Setter Property="Cursor" Value="SizeWE"/>
+        <Setter Property="Template">
+            <Setter.Value>
+                <ControlTemplate TargetType="{x:Type Thumb}">
+                    <Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"/>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+    </Style>
+    <Style x:Key="JobListDataGridHeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
+        <Setter Property="VerticalContentAlignment" Value="Center"/>
+        <Setter Property="Template">
+            <Setter.Value>
+                <ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
+                    <Grid>
+                        <Themes:DataGridHeaderBorder BorderBrush="Transparent" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" IsClickable="{TemplateBinding CanUserSort}" IsPressed="{TemplateBinding IsPressed}" IsHovered="{TemplateBinding IsMouseOver}" Padding="{TemplateBinding Padding}" SortDirection="{TemplateBinding SortDirection}" SeparatorBrush="{TemplateBinding SeparatorBrush}" SeparatorVisibility="{TemplateBinding SeparatorVisibility}">
+                            <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                        </Themes:DataGridHeaderBorder>
+                        <Thumb x:Name="PART_LeftHeaderGripper" HorizontalAlignment="Left" Style="{StaticResource ColumnHeaderGripperStyle}"/>
+                        <Thumb x:Name="PART_RightHeaderGripper" HorizontalAlignment="Right" Style="{StaticResource ColumnHeaderGripperStyle}"/>
+                    </Grid>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+        <Setter Property="Padding" Value="4 0 0 0"/>
+        <Setter Property="Foreground" Value="Black"/>
+        <Setter Property="Background" Value="White"/>
+    </Style>
+    
+    
+    <Style x:Key="DataGridCellStyle1" TargetType="{x:Type DataGridCell}">
+        <Setter Property="Background" Value="Transparent"/>
+        <Setter Property="BorderBrush" Value="Transparent"/>
+        <Setter Property="BorderThickness" Value="1"/>
+        <Setter Property="Template">
+            <Setter.Value>
+                <ControlTemplate TargetType="{x:Type DataGridCell}">
+                    <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
+                        <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
+                    </Border>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+        <Style.Triggers>
+            <Trigger Property="IsSelected" Value="True">
+                <Setter Property="Background" Value="{StaticResource ButtonHighlightColor}"/>
+                <!-- <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
+                <Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/> -->
+                <Setter Property="Foreground" Value="Black"/>
+                <Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
+            </Trigger>
+            <Trigger Property="IsKeyboardFocusWithin" Value="True">
+                <Setter Property="BorderBrush" Value="{DynamicResource {x:Static DataGrid.FocusBorderBrushKey}}"/>
+            </Trigger>
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <Condition Property="IsSelected" Value="true"/>
+                    <Condition Property="Selector.IsSelectionActive" Value="false"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightBrushKey}}"/>
+                <Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightBrushKey}}"/>
+                <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}}"/>
+            </MultiTrigger>
+            <Trigger Property="IsEnabled" Value="false">
+                <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
+            </Trigger>
+        </Style.Triggers>
+    </Style>
 
 </ResourceDictionary>
\ No newline at end of file
diff --git a/VECTO3GUI2020/Helper/ConvertedSIDummyCreator.cs b/VECTO3GUI2020/Helper/ConvertedSIDummyCreator.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e1486e008581a0e6e0cef599630f72ecc5499aa9
--- /dev/null
+++ b/VECTO3GUI2020/Helper/ConvertedSIDummyCreator.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using TUGraz.VectoCommon.Utils;
+
+namespace VECTO3GUI2020.Helper
+{
+    public static class ConvertedSIDummyCreator
+    {
+		public static ConvertedSI CreateMillimeterDummy()
+		{
+			return new ConvertedSI(0, "mm");
+		} 
+
+    }
+}
diff --git a/VECTO3GUI2020/Helper/Converter/EnumConverter.cs b/VECTO3GUI2020/Helper/Converter/EnumConverter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d5e45906213b5576229869a5d46f94f9a5e4f55f
--- /dev/null
+++ b/VECTO3GUI2020/Helper/Converter/EnumConverter.cs
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Data;
+using Castle.Core.Internal;
+using TUGraz.VectoCommon.Utils;
+
+namespace VECTO3GUI2020.Helper.Converter
+{
+    class EnumConverter : IValueConverter
+    {
+		public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+		{
+			if (value == null) {
+				return Binding.DoNothing;
+			}
+
+			Type valueType = value.GetType();
+			if (!valueType.IsEnum) {
+				return value;
+			}
+
+			var attributes =
+				valueType.GetField(value.ToString())?.GetCustomAttributes( typeof(GuiLabelAttribute),false);
+
+			GuiLabelAttribute attribute = attributes.IsNullOrEmpty() ? null : attributes.First() as GuiLabelAttribute;
+			if (attribute == null) {
+				return value;
+			} else {
+				return attribute.Label;
+			}
+		}
+
+		public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+		{
+			return value;
+		}
+	}
+}
diff --git a/VECTO3GUI2020/Helper/Converter/MultistageParameterModeToVisibilityConverter.cs b/VECTO3GUI2020/Helper/Converter/MultistageParameterModeToVisibilityConverter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ab76e59ead75e5d6672a564df8ec264dc40ec3ae
--- /dev/null
+++ b/VECTO3GUI2020/Helper/Converter/MultistageParameterModeToVisibilityConverter.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Globalization;
+using System.Windows;
+using System.Windows.Data;
+using VECTO3GUI2020.Views.Multistage.CustomControls;
+
+namespace VECTO3GUI2020.Helper.Converter
+{
+	public class MultistageParameterModeToVisibilityConverter : IValueConverter
+	{
+		public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+		{
+			var selectedMode = (MultistageParameterViewMode)value;
+			if (parameter is MultistageParameterViewMode mode) {
+				if (selectedMode == mode) {
+					return Visibility.Visible;
+                } else {
+					return Visibility.Collapsed;
+				}
+            } else {
+				throw new ArgumentException("Provide a  MultiStageParameter.MODE as parameter!");
+			}
+		}
+
+		public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+		{
+			throw new NotImplementedException();
+		}
+	}
+}
\ No newline at end of file
diff --git a/VECTO3GUI2020/Helper/Converter/NullToUnsetValueConverter.cs b/VECTO3GUI2020/Helper/Converter/NullToUnsetValueConverter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..893afb505aeb96bcd11c7ea181c7fd3b6b53b761
--- /dev/null
+++ b/VECTO3GUI2020/Helper/Converter/NullToUnsetValueConverter.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Globalization;
+using System.Windows;
+using System.Windows.Data;
+
+namespace VECTO3GUI2020.Helper.Converter
+{
+	public class NullToUnsetValueConverter : IValueConverter
+	{
+		#region Implementation of IValueConverter
+
+		public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+		{
+			if (value == null) {
+				return DependencyProperty.UnsetValue;
+			} else {
+				return value;
+			}
+		}
+
+		public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+		{
+			throw new NotImplementedException();
+		}
+
+		#endregion
+	}
+}
\ No newline at end of file
diff --git a/VECTO3GUI2020/Helper/Converter/NullToVisibilityConverter.cs b/VECTO3GUI2020/Helper/Converter/NullToVisibilityConverter.cs
index ff16a9cd1879495210144c2e44cf3c189c05a3e6..8857067710a76694bdc98b0584885eaad55cbd8f 100644
--- a/VECTO3GUI2020/Helper/Converter/NullToVisibilityConverter.cs
+++ b/VECTO3GUI2020/Helper/Converter/NullToVisibilityConverter.cs
@@ -7,16 +7,30 @@ namespace VECTO3GUI2020.Helper.Converter
 {
     class NullToVisibilityConverter : IValueConverter
     {
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="value"></param>
+        /// <param name="targetType"></param>
+        /// <param name="parameter">set to "invert" to invert the result</param>
+        /// <param name="culture"></param>
+        /// <returns></returns>
         public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
-        {
-            if(value == null)
+		{
+			bool invert = parameter as string == "invert";
+            if (value == null)
             {
+				if (invert) {
+					return Visibility.Visible;
+				}
                 return Visibility.Collapsed;
             }
-            else
-            {
-                return Binding.DoNothing;
-            }
+            else {
+				if (invert) {
+					return Visibility.Collapsed;
+				}
+				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 54701cba7670eff3e1c0a00357e25c191460c6d9..23cb170b8d864236c93d0776fc229da8718df7f5 100644
--- a/VECTO3GUI2020/Helper/Converter/SIToUnitString.cs
+++ b/VECTO3GUI2020/Helper/Converter/SIToUnitString.cs
@@ -9,36 +9,64 @@ namespace VECTO3GUI2020.Helper.Converter
     {
         public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 		{
-			
-            if(value is SI SIValue)
-            {
-                if (SIValue.UnitString == "1/s")
-                {
-                    return "rpm";
-                }
-                return SIValue.UnitString;
-            } else {
-				try {
-					dynamic type = value?.GetType();
-					if (type == null) {
-						return Binding.DoNothing;
-					}
-					return type.GetUnitString();
-				} catch {
-					return Binding.DoNothing;
-				}
-				
+			var unitString = getUnitString(value);
+			if (unitString != null) {
+				unitString = unitString.Replace("^2", ((char)0xB2).ToString());
+				unitString = unitString.Replace("^3", ((char)0xB3).ToString());
+				return unitString;
+			} else {
+				return Binding.DoNothing;
+			}
 
-            }
-            return Binding.DoNothing;
+			//if (value == null) {
+			//	return Binding.DoNothing;
+			//}
 
 
+			//         if(value is SI SIValue)
+			//         {
+			//             if (SIValue.UnitString == "1/s")
+			//             {
+			//                 return "rpm";
+			//             }
+			//             return SIValue.UnitString;
+			//         }
 
-        }
+			//if (value is ConvertedSI convertedSI) {
+			//	return convertedSI.Units;
+			//}
+
+			//return Binding.DoNothing;
+
+		}
 
         public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
         {
             throw new NotImplementedException();
         }
+
+		private string getUnitString(object value)
+		{
+			if (value == null) {
+				return null;
+			}
+
+
+			if (value is SI SIValue)
+			{
+				if (SIValue.UnitString == "1/s")
+				{
+					return "rpm";
+				}
+				return SIValue.UnitString;
+			}
+
+			if (value is ConvertedSI convertedSI)
+			{
+				return convertedSI.Units;
+			}
+
+			return null;
+		}
     }
 }
diff --git a/VECTO3GUI2020/Helper/Converter/SIValueToStringConverter.cs b/VECTO3GUI2020/Helper/Converter/SIValueToStringConverter.cs
index 985d766feadc7b6f5e094ead3c00a9b0578e6797..7ed47de2dde5fcc675e1072cdb9be68f339cf7b1 100644
--- a/VECTO3GUI2020/Helper/Converter/SIValueToStringConverter.cs
+++ b/VECTO3GUI2020/Helper/Converter/SIValueToStringConverter.cs
@@ -13,10 +13,10 @@ namespace VECTO3GUI2020.Helper.Converter
     class SIValueToStringConverter : IValueConverter
 	{
 		private SI _si;
+		private ConvertedSI _convertedSI;
         public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
-        {
+		{
 			if (value == null) {
-				_si = null;
 				return value;
 			}
             if(value is SI SIvalue) {
@@ -24,22 +24,38 @@ namespace VECTO3GUI2020.Helper.Converter
 				return SIvalue.ToGUIFormat();
 			}
 
+			if (value is ConvertedSI convertedSI) {
+				_convertedSI = convertedSI;
+				return convertedSI.ToOutputFormat(showUnit: false, decimals:0);
+			}
 
-            return Binding.DoNothing;
-        }
+			return value?.ToString();
+		}
 
 		public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
         {
-			if (_si == null) {
-				return value;
-			}
-
 			try {
-				var newSi = SIUtils.CreateSIValue(_si.GetType(), Double.Parse(value as string));
-				return newSi;
-			} catch (Exception e) {
+				var hackedString = value as string;
+				hackedString = hackedString.Replace(",", ".");
+				//if (!hackedString.Contains(".")) {
+				//	hackedString = hackedString + ".0";
+				//}
+				var doubleVal = Double.Parse(hackedString, CultureInfo.InvariantCulture);
+				if (_convertedSI != null) {
+					return new ConvertedSI(doubleVal, _convertedSI.Units);
+				}
+				if (_si != null)
+				{
+					var newSi = SIUtils.CreateSIValue(_si.GetType(), doubleVal);
+					return newSi;
+				}
+
+			}
+			catch (Exception e) {
 				return value;
 			}
+
+			return value;
 		}
     }
 }
diff --git a/VECTO3GUI2020/Helper/Converter/XToBoolConverter.cs b/VECTO3GUI2020/Helper/Converter/XToBoolConverter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0e53d526652abe4aff86a34bf81bc29e0484151e
--- /dev/null
+++ b/VECTO3GUI2020/Helper/Converter/XToBoolConverter.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Globalization;
+using System.Windows.Data;
+
+namespace VECTO3GUI2020.Helper.Converter
+{
+	/// <summary>
+	/// Converts bool to bool and object to null; used to avoid errors in collapsed checkboxes;
+	/// </summary>
+	public class XToBoolConverter : IValueConverter
+	{
+		public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+		{
+			bool? b = value as bool?;
+
+
+			return b;
+		}
+
+		public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+		{
+			throw new NotImplementedException();
+		}
+	}
+}
\ No newline at end of file
diff --git a/VECTO3GUI2020/Helper/DialogHelper.cs b/VECTO3GUI2020/Helper/DialogHelper.cs
index 1e6c7bdfe2dff2828217665b667bb9fe5f551d00..190866f8a6e2fe1eebb9703db9deca096a41a2d3 100644
--- a/VECTO3GUI2020/Helper/DialogHelper.cs
+++ b/VECTO3GUI2020/Helper/DialogHelper.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.IO;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -14,23 +15,31 @@ namespace VECTO3GUI2020.Helper
 {
     public class DialogHelper : IDialogHelper
 	{
-		private readonly string _defaultInitialDirectory = System.IO.Path.GetDirectoryName(
-			System.Reflection.Assembly.GetExecutingAssembly().Location);
-
+		private readonly string _defaultInitialDirectory = Settings.Default.DefaultFilePath;
 
 		#region File and Folder Dialogs
 		private string _xmlFilter = "XML Files (*.xml)|*.xml";
+
+		private Dictionary<string, string> lastUsedDirectories = new Dictionary<string, string>();
+
+		private string lastUsedDirectoryFolderPicker = null;
 		private string[] OpenFilesDialog(string filter, string initialDirectory, bool multiselect)
 		{
+			if (initialDirectory == null) {
+				initialDirectory = LookUpLastDir(filter);
+			}
+
 
+			
 			using (OpenFileDialog fd = new OpenFileDialog {
 				InitialDirectory = initialDirectory ?? _defaultInitialDirectory,
 				Multiselect = multiselect,
-				Filter = filter
+				Filter = filter,
+				RestoreDirectory = true
 			}) {
 				var result = fd.ShowDialog();
-				if (result == DialogResult.OK)
-				{
+				if (result == DialogResult.OK) {
+					lastUsedDirectories[filter] = Path.GetDirectoryName(fd.FileName);
 					return fd.FileNames;
 				}
 			}
@@ -39,6 +48,16 @@ namespace VECTO3GUI2020.Helper
 			return null;
 		}
 
+		private string LookUpLastDir(string filter)
+		{
+			string lastUsedDirectory = null;
+			if (lastUsedDirectories.TryGetValue(filter, out lastUsedDirectory)) {
+				return lastUsedDirectory;
+			} else {
+				return Settings.Default.DefaultFilePath;
+			}
+		}
+
 		public string OpenFileDialog(string filter = "All files (*.*)|*.*", string initialDirectory = null)
 		{
 			return OpenFilesDialog(filter, initialDirectory)?[0];
@@ -49,12 +68,19 @@ namespace VECTO3GUI2020.Helper
 			return OpenFilesDialog(filter, initialDirectory, true);
 		}
 
+		public string OpenXMLFileDialog()
+		{
+			return OpenXMLFileDialog(null);
+		}
+
+
+
 		public string[] OpenXMLFilesDialog(string initialDirectory)
 		{
 			return OpenFilesDialog(_xmlFilter, initialDirectory);
 		}
 
-		public string OpenXMLFileDialog(string initialDirectory = null)
+		public string OpenXMLFileDialog(string initialDirectory)
 		{
 			return OpenFilesDialog(_xmlFilter, initialDirectory, false)?[0];
 		}
@@ -62,14 +88,20 @@ namespace VECTO3GUI2020.Helper
 
 		public string OpenFolderDialog(string initialDirectory = null)
 		{
+
+			if (initialDirectory == null) {
+				initialDirectory = lastUsedDirectoryFolderPicker;
+			}
 			using (var dialog = new CommonOpenFileDialog())
 			{
 				dialog.InitialDirectory = initialDirectory;
 				dialog.IsFolderPicker = true;
+				dialog.Multiselect = false;
+				dialog.RestoreDirectory = true;
 
 				var result = dialog.ShowDialog();
-				if (result == CommonFileDialogResult.Ok)
-				{
+				if (result == CommonFileDialogResult.Ok) {
+					lastUsedDirectoryFolderPicker = Path.GetDirectoryName(dialog.FileName);
 					return dialog.FileName;
 				}
 			}
@@ -138,7 +170,9 @@ namespace VECTO3GUI2020.Helper
 		/// </summary>
 		/// <param name="initialDirectory">If no directory is specified the location of the assembly is used</param>
 		/// <returns></returns>
-		string OpenXMLFileDialog(string initialDirectory = null);
+		string OpenXMLFileDialog(string initialDirectory);
+
+		string OpenXMLFileDialog();
 
 
 		/// <summary>
diff --git a/VECTO3GUI2020/Helper/Exceptions.cs b/VECTO3GUI2020/Helper/Exceptions.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6b8ce5755c34720b168c921200c5e7b7185a6828
--- /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 e9e391f6569f1fea53e142d13abf5be4a6ca1a82..ecfbba62efee447803d1bec4f8cb22d7f5387dab 100644
--- a/VECTO3GUI2020/Helper/XMLExtension.cs
+++ b/VECTO3GUI2020/Helper/XMLExtension.cs
@@ -1,9 +1,13 @@
 using System;
 using System.Diagnostics;
+using System.Windows.Forms;
+using System.Xml;
 using System.Xml.Linq;
+using System.Xml.Schema;
 using Castle.Core.Resource;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
+using TUGraz.VectoCore.Utils;
 using TUGraz.VectoHashing.Impl;
 using VECTO3GUI2020.Util.XML;
 using VECTO3GUI2020.Util.XML.Interfaces;
@@ -18,7 +22,7 @@ namespace VECTO3GUI2020.Helper
 		{
 			var di = XMLNamespaces.Di;
 			var signatureElement = new XElement(nameSpace + XMLNames.DI_Signature);
-			signatureElement.Add(new XElement(di + XMLNames.DI_Signature_Reference, new XAttribute(XMLNames.DI_Signature_Reference_URI_Attr, uri)));
+			signatureElement.Add(new XElement(di + XMLNames.DI_Signature_Reference, new XAttribute(XMLNames.DI_Signature_Reference_URI_Attr, digestData.Reference)));
 
 			var refElement = signatureElement.FirstNode as XElement;
 			refElement?.Add(new XElement(di + XMLNames.DI_Signature_Reference_Transforms));
@@ -34,10 +38,70 @@ namespace VECTO3GUI2020.Helper
 			if (hash) {
 				throw new NotImplementedException("Hashing not implemented");
 			}
-			refElement?.Add(new XElement(di + XMLNames.DI_Signature_Reference_DigestValue, ""));
+			refElement?.Add(new XElement(di + XMLNames.DI_Signature_Reference_DigestValue, digestData.DigestValue));
 
 
 			return signatureElement;
 		}
-	}
+
+
+		public static XmlDocument ToXmlDocument(this XDocument xDocument)
+		{
+			var xmlDocument = new XmlDocument();
+			using (var reader = xDocument.CreateReader())
+			{
+				xmlDocument.Load(reader);
+			}
+
+			var xDeclaration = xDocument.Declaration;
+			if (xDeclaration != null)
+			{
+				var xmlDeclaration = xmlDocument.CreateXmlDeclaration(
+					xDeclaration.Version,
+					xDeclaration.Encoding,
+					xDeclaration.Standalone);
+
+				xmlDocument.InsertBefore(xmlDeclaration, xmlDocument.FirstChild);
+			}
+
+			return xmlDocument;
+		}
+
+		public static XmlNode ToXmlNode(this XElement element)
+		{
+			using (XmlReader xmlReader = element.CreateReader())
+			{
+				XmlDocument xmlDocument = new XmlDocument();
+				xmlDocument.Load(xmlReader);
+				return xmlDocument;
+			}
+		}
+
+		public static string GetVersion(this XElement element)
+		{
+			return element.ToXmlNode().GetVersion();
+		}
+
+		public static string GetVersion(this XmlNode node)
+		{
+			if (node == null)
+			{
+				return null;
+			}
+			var version = XMLHelper.GetXsdType(node.SchemaInfo.SchemaType);
+			if (string.IsNullOrWhiteSpace(version))
+			{
+				version = XMLHelper.GetVersionFromNamespaceUri((node.SchemaInfo.SchemaType?.Parent as XmlSchemaElement)?.QualifiedName.Namespace);
+			}
+
+			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
new file mode 100644
index 0000000000000000000000000000000000000000..2db50eed495027b1c6d4bd7d60bad969eb4fd559
--- /dev/null
+++ b/VECTO3GUI2020/Helper/XmlHelper.cs
@@ -0,0 +1,112 @@
+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
+{
+	public static class XmlHelper
+	{
+		public static XmlDocument ReadXmlDocument(string filePath)
+		{
+			if (filePath.IsNullOrEmpty())
+				return null;
+
+			var xmlDocument = new XmlDocument();
+			
+				
+			xmlDocument.Load(filePath);	
+
+			return xmlDocument;
+		}
+
+
+		public static XmlNodeList GetComponentNodes(XmlDocument xmlDocument, string parentNode, string nodeName)
+		{
+			if (xmlDocument == null || parentNode.IsNullOrEmpty() || nodeName.IsNullOrEmpty())
+				return null;
+
+			return xmlDocument.SelectNodes($"//*[local-name()='{parentNode}']//*[local-name()='{nodeName}']");
+		}
+
+		public static bool ValidateXDocument(XDocument xDocument, Action<bool> resultAction = null,
+			Action<XmlSeverityType, ValidationEvent> validationErrorAction = null)
+		{
+			var xmlDocument = xDocument.ToXmlDocument();
+			if (xmlDocument == null)
+				return false;
+
+			var documentType = XMLHelper.GetDocumentType(xmlDocument.DocumentElement.LocalName);
+			if (documentType == null)
+			{
+				throw new VectoException("unknown xml file! {0}", xmlDocument.DocumentElement.LocalName);
+			}
+
+			var validator = new XMLValidator(xmlDocument, resultAction, validationErrorAction);
+			return validator.ValidateXML(documentType.Value); ;
+		}
+
+		public static string GetXmlAbsoluteFilePath(string baseUri)
+		{
+			if (baseUri == null)
+				return null;
+
+			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/MainWindow.xaml b/VECTO3GUI2020/MainWindow.xaml
index afeefc53a4804071803ec61adb0eae8a52df5e12..a0a3a80ffade2c760efa51bf512dc669a704c3fa 100644
--- a/VECTO3GUI2020/MainWindow.xaml
+++ b/VECTO3GUI2020/MainWindow.xaml
@@ -4,7 +4,7 @@
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         xmlns:local="clr-namespace:VECTO3GUI2020"
-        xmlns:Implementation="clr-namespace:VECTO3GUI2020.ViewModel.Implementation" x:Class="VECTO3GUI2020.MainWindow"
+        xmlns:Implementation="clr-namespace:VECTO3GUI2020.ViewModel.Implementation" d:DataContext="{d:DesignInstance Type=Implementation:MainWindowViewModel}" x:Class="VECTO3GUI2020.MainWindow"
         mc:Ignorable="d"
         Title="Vecto" Height="450" Width="820"
         WindowStartupLocation="CenterScreen">
@@ -16,27 +16,28 @@
             <ColumnDefinition Width="1*"/>
         </Grid.ColumnDefinitions>
         <Grid.RowDefinitions>
-            <RowDefinition Height="20"/>
+            <RowDefinition Height="40"/>
             <RowDefinition Height="1.5*"/>
             <RowDefinition Height="1*"/>
         </Grid.RowDefinitions>
 
-        <Grid Grid.Row="0" Margin="0,0,0,0">
+        <Grid Grid.Row="0">
             <StackPanel Orientation="Vertical">
                 <Menu IsMainMenu="True">
-                    <MenuItem Header="File" VerticalAlignment="Center">
+                    <MenuItem Header="File" VerticalAlignment="Stretch">
                         <MenuItem Header="Settings" Command="{Binding OpenSettings}"/>
                         <MenuItem Header="New File" Command="{Binding NewInterimFile}"/>
+                        <MenuItem Header="Open File" Command="{Binding AddJob}"/>
                     </MenuItem>
                 </Menu>
             </StackPanel>
         </Grid>
 
-        <Grid Grid.Row="1" Margin="0,0,0,0">
+        <Grid Grid.Row="1" Margin="0,4,0,0">
             <ContentControl Content="{Binding CurrentViewModelTop}"/>
         </Grid>
 
-        <Grid Grid.Row="2"  Visibility="Collapsed" Margin="0,0,0,0">
+        <Grid Grid.Row="2" Margin="0,0,0,0">
             <ContentControl Content="{Binding CurrentViewModelBottom}"/>
         </Grid>
 
diff --git a/VECTO3GUI2020/Ninject/FactoryModule.cs b/VECTO3GUI2020/Ninject/FactoryModule.cs
index 7e127993df48a043e1437ae08ca09501a7f84bf9..8dffd4b7be9e5c7ca138b2a6952be477c2b709b8 100644
--- a/VECTO3GUI2020/Ninject/FactoryModule.cs
+++ b/VECTO3GUI2020/Ninject/FactoryModule.cs
@@ -18,8 +18,9 @@ namespace VECTO3GUI2020.Ninject
     {
 		public override void Load()
 		{
-			Bind<IXMLWriterFactory>().ToFactory(() => new UseFirstArgumentTypeAsNameInstanceProvider());
-			Bind<IMultiStageViewModelFactory>().ToFactory(() => new UseFirstArgumentAsNameInstanceProvider(skipFirstArgument: true, fallback: true));
+			Bind<IXMLWriterFactory>().ToFactory(() => new UseFirstArgumentTypeAsNameInstanceProvider(fallback:true));
+			//Bind<IMultiStageViewModelFactory>().ToFactory(() => new UseFirstArgumentAsNameInstanceProvider(skipFirstArgument: true, fallback: true));
+			Bind<IMultiStageViewModelFactory>().ToFactory();
 			Bind<IJobEditViewModelFactory>().ToFactory(() => new UseFirstArgumentTypeAsNameInstanceProvider());
 			Bind<IDocumentViewModelFactory>().ToFactory(() => new UseFirstArgumentAsNameInstanceProvider(false));
 			Bind<IComponentViewModelFactory>().ToFactory(
diff --git a/VECTO3GUI2020/Ninject/IMultistageDependencies.cs b/VECTO3GUI2020/Ninject/IMultistageDependencies.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bc5671491c7ab8d4f854be1583524a0e9e892288
--- /dev/null
+++ b/VECTO3GUI2020/Ninject/IMultistageDependencies.cs
@@ -0,0 +1,24 @@
+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
+{
+	public interface IMultistageDependencies
+	{
+		Lazy<IDialogHelper> DialogHelperLazy { get; }
+		Lazy<IXMLInputDataReader> InputDataReaderLazy { get; }
+
+		IDialogHelper DialogHelper { get; }
+		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
new file mode 100644
index 0000000000000000000000000000000000000000..9468ee481300a52eee98ec43fb30c03f56d4cb59
--- /dev/null
+++ b/VECTO3GUI2020/Ninject/MultistageLazyDependencies.cs
@@ -0,0 +1,54 @@
+using System;
+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;
+using VECTO3GUI2020.ViewModel.MultiStage.Interfaces;
+
+namespace VECTO3GUI2020.Ninject
+{
+	public class MultistageLazyDependencies : IMultistageDependencies
+	{
+
+		private readonly Lazy<IDialogHelper> _dialogHelper;
+		public Lazy<IDialogHelper> DialogHelperLazy => _dialogHelper;
+		public IDialogHelper DialogHelper => _dialogHelper.Value;
+
+
+		private readonly Lazy<IXMLInputDataReader> _inputDataReader;
+		public Lazy<IXMLInputDataReader> InputDataReaderLazy => _inputDataReader;
+		public IXMLInputDataReader InputDataReader => _inputDataReader.Value;
+
+		//private readonly Lazy<XMLValidator> _xmlValidator = new Lazy<XMLValidator>(() => {return });
+		//public Lazy<XMLValidator> XMLValidatorLazy => _xmlValidator;
+		//public XMLValidator XMLValidator => _xmlValidator.Value;
+
+
+		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,
+			Lazy<IXMLWriterFactory> xmlWriterFactory,
+			Lazy<IMultiStageViewModelFactory> viewModelFactory)
+		{
+			_dialogHelper = dialogHelper;
+			_inputDataReader = inputDataReader;
+			_componentViewModelFactory = componentViewModelFactory;
+			_injectFactory = injectFactory;
+			_xmlWriterFactory = xmlWriterFactory;
+
+		}
+	}
+}
\ No newline at end of file
diff --git a/VECTO3GUI2020/Ninject/MultistageModule.cs b/VECTO3GUI2020/Ninject/MultistageModule.cs
index 9a3de4889e5aac7a009fee69d8fd8c3f126fa8ce..c36e13772ffe0bc172f7b9eb92b7bbd1cc8c750b 100644
--- a/VECTO3GUI2020/Ninject/MultistageModule.cs
+++ b/VECTO3GUI2020/Ninject/MultistageModule.cs
@@ -3,8 +3,10 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using System.Windows.Automation.Peers;
 using Ninject.Extensions.Factory;
 using Ninject.Modules;
+using TUGraz.VectoCore.Models.SimulationComponent;
 using VECTO3GUI2020.Ninject.Util;
 using VECTO3GUI2020.ViewModel.Interfaces.Common;
 using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle;
@@ -18,19 +20,25 @@ namespace VECTO3GUI2020.Ninject
 		public override void Load()
 		{
 
-			Bind<IViewModelBase>().To<NewMultiStageJobViewModel>();
+			Bind<IViewModelBase>().To<NewMultiStageJobViewModel>().
+				NamedLikeFactoryMethod((IMultiStageViewModelFactory f) => f.GetNewMultistageJobViewModel());
 
+			Bind<IMultiStageJobViewModel>().To<MultiStageJobViewModel_v0_1>().
+				NamedLikeFactoryMethod((IMultiStageViewModelFactory f) => f.GetMultiStageJobViewModel(null));
 
-			Bind<IMultiStageJobViewModel>().To<MultiStageJobViewModel_v0_1>()
-				.Named(MultiStageJobViewModel_v0_1.INPUTPROVIDERTYPE);
+			Bind<IVehicleViewModel>().To<DeclarationInterimStageBusVehicleViewModel_v2_8>().
+				NamedLikeFactoryMethod((IMultiStageViewModelFactory f)=>f.GetInterimStageVehicleViewModel());
 
-			Bind<IVehicleViewModel>().To<DeclarationInterimStageBusVehicleViewModel_v2_8>()
-				.Named(DeclarationInterimStageBusVehicleViewModel_v2_8.INPUTPROVIDERTYPE);
+			Bind<IManufacturingStageViewModel>().To<ManufacturingStageViewModel_v0_1>().
+				NamedLikeFactoryMethod((IMultiStageViewModelFactory f) => f.GetManufacturingStageViewModel(null));
 
-			Bind<IManufacturingStageViewModel>().To<ManufacturingStageViewModel_v0_1>()
-				.Named(ManufacturingStageViewModel_v0_1.INPUTPROVIDERTYPE);
+			Bind<IMultistageAirdragViewModel>().To<MultistageAirdragViewModel>().
+				NamedLikeFactoryMethod((IMultiStageViewModelFactory f) => f.GetMultistageAirdragViewModel());
 
-			Bind<IMultistageAirdragViewModel>().To<MultistageAirdragViewModel>();
+			Bind<IMultistageAuxiliariesViewModel>().To<MultistageAuxiliariesViewModel>().
+				NamedLikeFactoryMethod((IMultiStageViewModelFactory f) => f.GetAuxiliariesViewModel(null));
+
+			Bind<IMultistageDependencies>().To<MultistageLazyDependencies>();
 		}
 	}
 }
diff --git a/VECTO3GUI2020/Ninject/Vehicle/ComponentModule.cs b/VECTO3GUI2020/Ninject/Vehicle/ComponentModule.cs
index f065c4e26e315c38da7b5e11167467b06a238fc4..edbbce58125ff6731a7d06984f093e08a7a5814c 100644
--- a/VECTO3GUI2020/Ninject/Vehicle/ComponentModule.cs
+++ b/VECTO3GUI2020/Ninject/Vehicle/ComponentModule.cs
@@ -35,6 +35,7 @@ namespace VECTO3GUI2020.Ninject.Vehicle
 
             Bind<IComponentViewModel>().To<AirDragViewModel_v1_0>().Named(AirDragViewModel_v1_0.VERSION);
             Bind<IComponentViewModel>().To<AirDragViewModel_v2_0>().Named(AirDragViewModel_v2_0.VERSION);
+            Bind<IComponentViewModel>().To<AirDragViewModel_v2_8>().Named(AirDragViewModel_v2_8.VERSION);
 
             Bind<IComponentViewModel>().To<AxleWheelsViewModel_v1_0>().Named(AxleWheelsViewModel_v1_0.VERSION);
             Bind<IComponentViewModel>().To<AxleWheelsViewModel_v2_0>().Named(AxleWheelsViewModel_v2_0.VERSION);
diff --git a/VECTO3GUI2020/Ninject/XMLWriterFactoryModule.cs b/VECTO3GUI2020/Ninject/XMLWriterFactoryModule.cs
index 9791fa3362f830d1daddf78578b56ce5e00fa80d..9c9912f5a1c1c854eea2f24d8ddf0fe621aef886 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));
@@ -95,6 +100,8 @@ namespace VECTO3GUI2020.Ninject
 				XMLAirDragWriter_v2_0.SUPPORTED_VERSIONS,
 				sv => Bind<IXMLComponentWriter>().To<XMLAirDragWriter_v2_0>().Named(sv));
 
+			Bind<IXMLBusAuxiliariesWriter>().To<XMLBusAuxiliariesWriterMultistage>();
+
 		}
 	}
 }
diff --git a/VECTO3GUI2020/Properties/Annotations.cs b/VECTO3GUI2020/Properties/Annotations.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7e0233fb501b144de5f328486cb484e776e71d70
--- /dev/null
+++ b/VECTO3GUI2020/Properties/Annotations.cs
@@ -0,0 +1,1236 @@
+/* MIT License
+
+Copyright (c) 2016 JetBrains http://www.jetbrains.com
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE. */
+
+using System;
+// ReSharper disable InheritdocConsiderUsage
+
+#pragma warning disable 1591
+// ReSharper disable UnusedMember.Global
+// ReSharper disable MemberCanBePrivate.Global
+// ReSharper disable UnusedAutoPropertyAccessor.Global
+// ReSharper disable IntroduceOptionalParameters.Global
+// ReSharper disable MemberCanBeProtected.Global
+// ReSharper disable InconsistentNaming
+
+namespace VECTO3GUI2020.Annotations
+{
+  /// <summary>
+  /// Indicates that the value of the marked element could be <c>null</c> sometimes,
+  /// so checking for <c>null</c> is required before its usage.
+  /// </summary>
+  /// <example><code>
+  /// [CanBeNull] object Test() => null;
+  /// 
+  /// void UseTest() {
+  ///   var p = Test();
+  ///   var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
+  /// }
+  /// </code></example>
+  [AttributeUsage(
+    AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property |
+    AttributeTargets.Delegate | AttributeTargets.Field | AttributeTargets.Event |
+    AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.GenericParameter)]
+  public sealed class CanBeNullAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates that the value of the marked element can never be <c>null</c>.
+  /// </summary>
+  /// <example><code>
+  /// [NotNull] object Foo() {
+  ///   return null; // Warning: Possible 'null' assignment
+  /// }
+  /// </code></example>
+  [AttributeUsage(
+    AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property |
+    AttributeTargets.Delegate | AttributeTargets.Field | AttributeTargets.Event |
+    AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.GenericParameter)]
+  public sealed class NotNullAttribute : Attribute { }
+
+  /// <summary>
+  /// Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
+  /// and Lazy classes to indicate that the value of a collection item, of the Task.Result property
+  /// or of the Lazy.Value property can never be null.
+  /// </summary>
+  /// <example><code>
+  /// public void Foo([ItemNotNull]List&lt;string&gt; books)
+  /// {
+  ///   foreach (var book in books) {
+  ///     if (book != null) // Warning: Expression is always true
+  ///      Console.WriteLine(book.ToUpper());
+  ///   }
+  /// }
+  /// </code></example>
+  [AttributeUsage(
+    AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property |
+    AttributeTargets.Delegate | AttributeTargets.Field)]
+  public sealed class ItemNotNullAttribute : Attribute { }
+
+  /// <summary>
+  /// Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
+  /// and Lazy classes to indicate that the value of a collection item, of the Task.Result property
+  /// or of the Lazy.Value property can be null.
+  /// </summary>
+  /// <example><code>
+  /// public void Foo([ItemCanBeNull]List&lt;string&gt; books)
+  /// {
+  ///   foreach (var book in books)
+  ///   {
+  ///     // Warning: Possible 'System.NullReferenceException'
+  ///     Console.WriteLine(book.ToUpper());
+  ///   }
+  /// }
+  /// </code></example>
+  [AttributeUsage(
+    AttributeTargets.Method | AttributeTargets.Parameter | AttributeTargets.Property |
+    AttributeTargets.Delegate | AttributeTargets.Field)]
+  public sealed class ItemCanBeNullAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates that the marked method builds string by the format pattern and (optional) arguments.
+  /// The parameter, which contains the format string, should be given in constructor. The format string
+  /// should be in <see cref="string.Format(IFormatProvider,string,object[])"/>-like form.
+  /// </summary>
+  /// <example><code>
+  /// [StringFormatMethod("message")]
+  /// void ShowError(string message, params object[] args) { /* do something */ }
+  /// 
+  /// void Foo() {
+  ///   ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
+  /// }
+  /// </code></example>
+  [AttributeUsage(
+    AttributeTargets.Constructor | AttributeTargets.Method |
+    AttributeTargets.Property | AttributeTargets.Delegate)]
+  public sealed class StringFormatMethodAttribute : Attribute
+  {
+    /// <param name="formatParameterName">
+    /// Specifies which parameter of an annotated method should be treated as the format string
+    /// </param>
+    public StringFormatMethodAttribute([NotNull] string formatParameterName)
+    {
+      FormatParameterName = formatParameterName;
+    }
+
+    [NotNull] public string FormatParameterName { get; }
+  }
+
+  /// <summary>
+  /// Use this annotation to specify a type that contains static or const fields
+  /// with values for the annotated property/field/parameter.
+  /// The specified type will be used to improve completion suggestions.
+  /// </summary>
+  /// <example><code>
+  /// namespace TestNamespace
+  /// {
+  ///   public class Constants
+  ///   {
+  ///     public static int INT_CONST = 1;
+  ///     public const string STRING_CONST = "1";
+  ///   }
+  ///
+  ///   public class Class1
+  ///   {
+  ///     [ValueProvider("TestNamespace.Constants")] public int myField;
+  ///     public void Foo([ValueProvider("TestNamespace.Constants")] string str) { }
+  ///
+  ///     public void Test()
+  ///     {
+  ///       Foo(/*try completion here*/);//
+  ///       myField = /*try completion here*/
+  ///     }
+  ///   }
+  /// }
+  /// </code></example>
+  [AttributeUsage(
+    AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Field,
+    AllowMultiple = true)]
+  public sealed class ValueProviderAttribute : Attribute
+  {
+    public ValueProviderAttribute([NotNull] string name)
+    {
+      Name = name;
+    }
+
+    [NotNull] public string Name { get; }
+  }
+
+  /// <summary>
+  /// Indicates that the integral value falls into the specified interval.
+  /// It's allowed to specify multiple non-intersecting intervals.
+  /// Values of interval boundaries are inclusive.
+  /// </summary>
+  /// <example><code>
+  /// void Foo([ValueRange(0, 100)] int value) {
+  ///   if (value == -1) { // Warning: Expression is always 'false'
+  ///     ...
+  ///   }
+  /// }
+  /// </code></example>
+  [AttributeUsage(
+    AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property |
+    AttributeTargets.Method | AttributeTargets.Delegate,
+    AllowMultiple = true)]
+  public sealed class ValueRangeAttribute : Attribute
+  {
+    public object From { get; }
+    public object To { get; }
+
+    public ValueRangeAttribute(long from, long to)
+    {
+      From = from;
+      To = to;
+    }
+
+    public ValueRangeAttribute(ulong from, ulong to)
+    {
+      From = from;
+      To = to;
+    }
+
+    public ValueRangeAttribute(long value)
+    {
+      From = To = value;
+    }
+
+    public ValueRangeAttribute(ulong value)
+    {
+      From = To = value;
+    }
+  }
+
+  /// <summary>
+  /// Indicates that the integral value never falls below zero.
+  /// </summary>
+  /// <example><code>
+  /// void Foo([NonNegativeValue] int value) {
+  ///   if (value == -1) { // Warning: Expression is always 'false'
+  ///     ...
+  ///   }
+  /// }
+  /// </code></example>
+  [AttributeUsage(
+    AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property |
+    AttributeTargets.Method | AttributeTargets.Delegate)]
+  public sealed class NonNegativeValueAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates that the function argument should be a string literal and match one
+  /// of the parameters of the caller function. For example, ReSharper annotates
+  /// the parameter of <see cref="System.ArgumentNullException"/>.
+  /// </summary>
+  /// <example><code>
+  /// void Foo(string param) {
+  ///   if (param == null)
+  ///     throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
+  /// }
+  /// </code></example>
+  [AttributeUsage(AttributeTargets.Parameter)]
+  public sealed class InvokerParameterNameAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates that the method is contained in a type that implements
+  /// <c>System.ComponentModel.INotifyPropertyChanged</c> interface and this method
+  /// is used to notify that some property value changed.
+  /// </summary>
+  /// <remarks>
+  /// The method should be non-static and conform to one of the supported signatures:
+  /// <list>
+  /// <item><c>NotifyChanged(string)</c></item>
+  /// <item><c>NotifyChanged(params string[])</c></item>
+  /// <item><c>NotifyChanged{T}(Expression{Func{T}})</c></item>
+  /// <item><c>NotifyChanged{T,U}(Expression{Func{T,U}})</c></item>
+  /// <item><c>SetProperty{T}(ref T, T, string)</c></item>
+  /// </list>
+  /// </remarks>
+  /// <example><code>
+  /// public class Foo : INotifyPropertyChanged {
+  ///   public event PropertyChangedEventHandler PropertyChanged;
+  /// 
+  ///   [NotifyPropertyChangedInvocator]
+  ///   protected virtual void NotifyChanged(string propertyName) { ... }
+  ///
+  ///   string _name;
+  /// 
+  ///   public string Name {
+  ///     get { return _name; }
+  ///     set { _name = value; NotifyChanged("LastName"); /* Warning */ }
+  ///   }
+  /// }
+  /// </code>
+  /// Examples of generated notifications:
+  /// <list>
+  /// <item><c>NotifyChanged("Property")</c></item>
+  /// <item><c>NotifyChanged(() =&gt; Property)</c></item>
+  /// <item><c>NotifyChanged((VM x) =&gt; x.Property)</c></item>
+  /// <item><c>SetProperty(ref myField, value, "Property")</c></item>
+  /// </list>
+  /// </example>
+  [AttributeUsage(AttributeTargets.Method)]
+  public sealed class NotifyPropertyChangedInvocatorAttribute : Attribute
+  {
+    public NotifyPropertyChangedInvocatorAttribute() { }
+    public NotifyPropertyChangedInvocatorAttribute([NotNull] string parameterName)
+    {
+      ParameterName = parameterName;
+    }
+
+    [CanBeNull] public string ParameterName { get; }
+  }
+
+  /// <summary>
+  /// Describes dependency between method input and output.
+  /// </summary>
+  /// <syntax>
+  /// <p>Function Definition Table syntax:</p>
+  /// <list>
+  /// <item>FDT      ::= FDTRow [;FDTRow]*</item>
+  /// <item>FDTRow   ::= Input =&gt; Output | Output &lt;= Input</item>
+  /// <item>Input    ::= ParameterName: Value [, Input]*</item>
+  /// <item>Output   ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
+  /// <item>Value    ::= true | false | null | notnull | canbenull</item>
+  /// </list>
+  /// If the method has a single input parameter, its name could be omitted.<br/>
+  /// Using <c>halt</c> (or <c>void</c>/<c>nothing</c>, which is the same) for the method output
+  /// means that the method doesn't return normally (throws or terminates the process).<br/>
+  /// Value <c>canbenull</c> is only applicable for output parameters.<br/>
+  /// You can use multiple <c>[ContractAnnotation]</c> for each FDT row, or use single attribute
+  /// with rows separated by semicolon. There is no notion of order rows, all rows are checked
+  /// for applicability and applied per each program state tracked by the analysis engine.<br/>
+  /// </syntax>
+  /// <examples><list>
+  /// <item><code>
+  /// [ContractAnnotation("=&gt; halt")]
+  /// public void TerminationMethod()
+  /// </code></item>
+  /// <item><code>
+  /// [ContractAnnotation("null &lt;= param:null")] // reverse condition syntax
+  /// public string GetName(string surname)
+  /// </code></item>
+  /// <item><code>
+  /// [ContractAnnotation("s:null =&gt; true")]
+  /// public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
+  /// </code></item>
+  /// <item><code>
+  /// // A method that returns null if the parameter is null,
+  /// // and not null if the parameter is not null
+  /// [ContractAnnotation("null =&gt; null; notnull =&gt; notnull")]
+  /// public object Transform(object data)
+  /// </code></item>
+  /// <item><code>
+  /// [ContractAnnotation("=&gt; true, result: notnull; =&gt; false, result: null")]
+  /// public bool TryParse(string s, out Person result)
+  /// </code></item>
+  /// </list></examples>
+  [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
+  public sealed class ContractAnnotationAttribute : Attribute
+  {
+    public ContractAnnotationAttribute([NotNull] string contract)
+      : this(contract, false) { }
+
+    public ContractAnnotationAttribute([NotNull] string contract, bool forceFullStates)
+    {
+      Contract = contract;
+      ForceFullStates = forceFullStates;
+    }
+
+    [NotNull] public string Contract { get; }
+
+    public bool ForceFullStates { get; }
+  }
+
+  /// <summary>
+  /// Indicates whether the marked element should be localized.
+  /// </summary>
+  /// <example><code>
+  /// [LocalizationRequiredAttribute(true)]
+  /// class Foo {
+  ///   string str = "my string"; // Warning: Localizable string
+  /// }
+  /// </code></example>
+  [AttributeUsage(AttributeTargets.All)]
+  public sealed class LocalizationRequiredAttribute : Attribute
+  {
+    public LocalizationRequiredAttribute() : this(true) { }
+
+    public LocalizationRequiredAttribute(bool required)
+    {
+      Required = required;
+    }
+
+    public bool Required { get; }
+  }
+
+  /// <summary>
+  /// Indicates that the value of the marked type (or its derivatives)
+  /// cannot be compared using '==' or '!=' operators and <c>Equals()</c>
+  /// should be used instead. However, using '==' or '!=' for comparison
+  /// with <c>null</c> is always permitted.
+  /// </summary>
+  /// <example><code>
+  /// [CannotApplyEqualityOperator]
+  /// class NoEquality { }
+  /// 
+  /// class UsesNoEquality {
+  ///   void Test() {
+  ///     var ca1 = new NoEquality();
+  ///     var ca2 = new NoEquality();
+  ///     if (ca1 != null) { // OK
+  ///       bool condition = ca1 == ca2; // Warning
+  ///     }
+  ///   }
+  /// }
+  /// </code></example>
+  [AttributeUsage(AttributeTargets.Interface | AttributeTargets.Class | AttributeTargets.Struct)]
+  public sealed class CannotApplyEqualityOperatorAttribute : Attribute { }
+
+  /// <summary>
+  /// When applied to a target attribute, specifies a requirement for any type marked
+  /// with the target attribute to implement or inherit specific type or types.
+  /// </summary>
+  /// <example><code>
+  /// [BaseTypeRequired(typeof(IComponent)] // Specify requirement
+  /// class ComponentAttribute : Attribute { }
+  /// 
+  /// [Component] // ComponentAttribute requires implementing IComponent interface
+  /// class MyComponent : IComponent { }
+  /// </code></example>
+  [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
+  [BaseTypeRequired(typeof(Attribute))]
+  public sealed class BaseTypeRequiredAttribute : Attribute
+  {
+    public BaseTypeRequiredAttribute([NotNull] Type baseType)
+    {
+      BaseType = baseType;
+    }
+
+    [NotNull] public Type BaseType { get; }
+  }
+
+  /// <summary>
+  /// Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
+  /// so this symbol will not be reported as unused (as well as by other usage inspections).
+  /// </summary>
+  [AttributeUsage(AttributeTargets.All)]
+  public sealed class UsedImplicitlyAttribute : Attribute
+  {
+    public UsedImplicitlyAttribute()
+      : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { }
+
+    public UsedImplicitlyAttribute(ImplicitUseKindFlags useKindFlags)
+      : this(useKindFlags, ImplicitUseTargetFlags.Default) { }
+
+    public UsedImplicitlyAttribute(ImplicitUseTargetFlags targetFlags)
+      : this(ImplicitUseKindFlags.Default, targetFlags) { }
+
+    public UsedImplicitlyAttribute(ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags)
+    {
+      UseKindFlags = useKindFlags;
+      TargetFlags = targetFlags;
+    }
+
+    public ImplicitUseKindFlags UseKindFlags { get; }
+
+    public ImplicitUseTargetFlags TargetFlags { get; }
+  }
+
+  /// <summary>
+  /// Can be applied to attributes, type parameters, and parameters of a type assignable from <see cref="System.Type"/> .
+  /// When applied to an attribute, the decorated attribute behaves the same as <see cref="UsedImplicitlyAttribute"/>.
+  /// When applied to a type parameter or to a parameter of type <see cref="System.Type"/>,  indicates that the corresponding type
+  /// is used implicitly.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Class | AttributeTargets.GenericParameter | AttributeTargets.Parameter)]
+  public sealed class MeansImplicitUseAttribute : Attribute
+  {
+    public MeansImplicitUseAttribute()
+      : this(ImplicitUseKindFlags.Default, ImplicitUseTargetFlags.Default) { }
+
+    public MeansImplicitUseAttribute(ImplicitUseKindFlags useKindFlags)
+      : this(useKindFlags, ImplicitUseTargetFlags.Default) { }
+
+    public MeansImplicitUseAttribute(ImplicitUseTargetFlags targetFlags)
+      : this(ImplicitUseKindFlags.Default, targetFlags) { }
+
+    public MeansImplicitUseAttribute(ImplicitUseKindFlags useKindFlags, ImplicitUseTargetFlags targetFlags)
+    {
+      UseKindFlags = useKindFlags;
+      TargetFlags = targetFlags;
+    }
+
+    [UsedImplicitly] public ImplicitUseKindFlags UseKindFlags { get; }
+
+    [UsedImplicitly] public ImplicitUseTargetFlags TargetFlags { get; }
+  }
+
+  /// <summary>
+  /// Specify the details of implicitly used symbol when it is marked
+  /// with <see cref="MeansImplicitUseAttribute"/> or <see cref="UsedImplicitlyAttribute"/>.
+  /// </summary>
+  [Flags]
+  public enum ImplicitUseKindFlags
+  {
+    Default = Access | Assign | InstantiatedWithFixedConstructorSignature,
+    /// <summary>Only entity marked with attribute considered used.</summary>
+    Access = 1,
+    /// <summary>Indicates implicit assignment to a member.</summary>
+    Assign = 2,
+    /// <summary>
+    /// Indicates implicit instantiation of a type with fixed constructor signature.
+    /// That means any unused constructor parameters won't be reported as such.
+    /// </summary>
+    InstantiatedWithFixedConstructorSignature = 4,
+    /// <summary>Indicates implicit instantiation of a type.</summary>
+    InstantiatedNoFixedConstructorSignature = 8,
+  }
+
+  /// <summary>
+  /// Specify what is considered to be used implicitly when marked
+  /// with <see cref="MeansImplicitUseAttribute"/> or <see cref="UsedImplicitlyAttribute"/>.
+  /// </summary>
+  [Flags]
+  public enum ImplicitUseTargetFlags
+  {
+    Default = Itself,
+    Itself = 1,
+    /// <summary>Members of entity marked with attribute are considered used.</summary>
+    Members = 2,
+    /// <summary> Inherited entities are considered used. </summary>
+    WithInheritors = 4,
+    /// <summary>Entity marked with attribute and all its members considered used.</summary>
+    WithMembers = Itself | Members
+  }
+
+  /// <summary>
+  /// This attribute is intended to mark publicly available API
+  /// which should not be removed and so is treated as used.
+  /// </summary>
+  [MeansImplicitUse(ImplicitUseTargetFlags.WithMembers)]
+  [AttributeUsage(AttributeTargets.All, Inherited = false)]
+  public sealed class PublicAPIAttribute : Attribute
+  {
+    public PublicAPIAttribute() { }
+
+    public PublicAPIAttribute([NotNull] string comment)
+    {
+      Comment = comment;
+    }
+
+    [CanBeNull] public string Comment { get; }
+  }
+
+  /// <summary>
+  /// Tells code analysis engine if the parameter is completely handled when the invoked method is on stack.
+  /// If the parameter is a delegate, indicates that delegate is executed while the method is executed.
+  /// If the parameter is an enumerable, indicates that it is enumerated while the method is executed.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter)]
+  public sealed class InstantHandleAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates that a method does not make any observable state changes.
+  /// The same as <c>System.Diagnostics.Contracts.PureAttribute</c>.
+  /// </summary>
+  /// <example><code>
+  /// [Pure] int Multiply(int x, int y) => x * y;
+  /// 
+  /// void M() {
+  ///   Multiply(123, 42); // Warning: Return value of pure method is not used
+  /// }
+  /// </code></example>
+  [AttributeUsage(AttributeTargets.Method)]
+  public sealed class PureAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates that the return value of the method invocation must be used.
+  /// </summary>
+  /// <remarks>
+  /// Methods decorated with this attribute (in contrast to pure methods) might change state,
+  /// but make no sense without using their return value. <br/>
+  /// Similarly to <see cref="PureAttribute"/>, this attribute
+  /// will help detecting usages of the method when the return value in not used.
+  /// Additionally, you can optionally specify a custom message, which will be used when showing warnings, e.g.
+  /// <code>[MustUseReturnValue("Use the return value to...")]</code>.
+  /// </remarks>
+  [AttributeUsage(AttributeTargets.Method)]
+  public sealed class MustUseReturnValueAttribute : Attribute
+  {
+    public MustUseReturnValueAttribute() { }
+
+    public MustUseReturnValueAttribute([NotNull] string justification)
+    {
+      Justification = justification;
+    }
+
+    [CanBeNull] public string Justification { get; }
+  }
+
+  /// <summary>
+  /// Indicates the type member or parameter of some type, that should be used instead of all other ways
+  /// to get the value of that type. This annotation is useful when you have some "context" value evaluated
+  /// and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one.
+  /// </summary>
+  /// <example><code>
+  /// class Foo {
+  ///   [ProvidesContext] IBarService _barService = ...;
+  /// 
+  ///   void ProcessNode(INode node) {
+  ///     DoSomething(node, node.GetGlobalServices().Bar);
+  ///     //              ^ Warning: use value of '_barService' field
+  ///   }
+  /// }
+  /// </code></example>
+  [AttributeUsage(
+    AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Parameter | AttributeTargets.Method |
+    AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.Struct | AttributeTargets.GenericParameter)]
+  public sealed class ProvidesContextAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates that a parameter is a path to a file or a folder within a web project.
+  /// Path can be relative or absolute, starting from web root (~).
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter)]
+  public sealed class PathReferenceAttribute : Attribute
+  {
+    public PathReferenceAttribute() { }
+
+    public PathReferenceAttribute([NotNull, PathReference] string basePath)
+    {
+      BasePath = basePath;
+    }
+
+    [CanBeNull] public string BasePath { get; }
+  }
+
+  /// <summary>
+  /// An extension method marked with this attribute is processed by code completion
+  /// as a 'Source Template'. When the extension method is completed over some expression, its source code
+  /// is automatically expanded like a template at call site.
+  /// </summary>
+  /// <remarks>
+  /// Template method body can contain valid source code and/or special comments starting with '$'.
+  /// Text inside these comments is added as source code when the template is applied. Template parameters
+  /// can be used either as additional method parameters or as identifiers wrapped in two '$' signs.
+  /// Use the <see cref="MacroAttribute"/> attribute to specify macros for parameters.
+  /// </remarks>
+  /// <example>
+  /// In this example, the 'forEach' method is a source template available over all values
+  /// of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block:
+  /// <code>
+  /// [SourceTemplate]
+  /// public static void forEach&lt;T&gt;(this IEnumerable&lt;T&gt; xs) {
+  ///   foreach (var x in xs) {
+  ///      //$ $END$
+  ///   }
+  /// }
+  /// </code>
+  /// </example>
+  [AttributeUsage(AttributeTargets.Method)]
+  public sealed class SourceTemplateAttribute : Attribute { }
+
+  /// <summary>
+  /// Allows specifying a macro for a parameter of a <see cref="SourceTemplateAttribute">source template</see>.
+  /// </summary>
+  /// <remarks>
+  /// You can apply the attribute on the whole method or on any of its additional parameters. The macro expression
+  /// is defined in the <see cref="MacroAttribute.Expression"/> property. When applied on a method, the target
+  /// template parameter is defined in the <see cref="MacroAttribute.Target"/> property. To apply the macro silently
+  /// for the parameter, set the <see cref="MacroAttribute.Editable"/> property value = -1.
+  /// </remarks>
+  /// <example>
+  /// Applying the attribute on a source template method:
+  /// <code>
+  /// [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
+  /// public static void forEach&lt;T&gt;(this IEnumerable&lt;T&gt; collection) {
+  ///   foreach (var item in collection) {
+  ///     //$ $END$
+  ///   }
+  /// }
+  /// </code>
+  /// Applying the attribute on a template method parameter:
+  /// <code>
+  /// [SourceTemplate]
+  /// public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
+  ///   /*$ var $x$Id = "$newguid$" + x.ToString();
+  ///   x.DoSomething($x$Id); */
+  /// }
+  /// </code>
+  /// </example>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method, AllowMultiple = true)]
+  public sealed class MacroAttribute : Attribute
+  {
+    /// <summary>
+    /// Allows specifying a macro that will be executed for a <see cref="SourceTemplateAttribute">source template</see>
+    /// parameter when the template is expanded.
+    /// </summary>
+    [CanBeNull] public string Expression { get; set; }
+
+    /// <summary>
+    /// Allows specifying which occurrence of the target parameter becomes editable when the template is deployed.
+    /// </summary>
+    /// <remarks>
+    /// If the target parameter is used several times in the template, only one occurrence becomes editable;
+    /// other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence,
+    /// use values >= 0. To make the parameter non-editable when the template is expanded, use -1.
+    /// </remarks>
+    public int Editable { get; set; }
+
+    /// <summary>
+    /// Identifies the target parameter of a <see cref="SourceTemplateAttribute">source template</see> if the
+    /// <see cref="MacroAttribute"/> is applied on a template method.
+    /// </summary>
+    [CanBeNull] public string Target { get; set; }
+  }
+
+  [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = true)]
+  public sealed class AspMvcAreaMasterLocationFormatAttribute : Attribute
+  {
+    public AspMvcAreaMasterLocationFormatAttribute([NotNull] string format)
+    {
+      Format = format;
+    }
+
+    [NotNull] public string Format { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = true)]
+  public sealed class AspMvcAreaPartialViewLocationFormatAttribute : Attribute
+  {
+    public AspMvcAreaPartialViewLocationFormatAttribute([NotNull] string format)
+    {
+      Format = format;
+    }
+
+    [NotNull] public string Format { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = true)]
+  public sealed class AspMvcAreaViewLocationFormatAttribute : Attribute
+  {
+    public AspMvcAreaViewLocationFormatAttribute([NotNull] string format)
+    {
+      Format = format;
+    }
+
+    [NotNull] public string Format { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = true)]
+  public sealed class AspMvcMasterLocationFormatAttribute : Attribute
+  {
+    public AspMvcMasterLocationFormatAttribute([NotNull] string format)
+    {
+      Format = format;
+    }
+
+    [NotNull] public string Format { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = true)]
+  public sealed class AspMvcPartialViewLocationFormatAttribute : Attribute
+  {
+    public AspMvcPartialViewLocationFormatAttribute([NotNull] string format)
+    {
+      Format = format;
+    }
+
+    [NotNull] public string Format { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = true)]
+  public sealed class AspMvcViewLocationFormatAttribute : Attribute
+  {
+    public AspMvcViewLocationFormatAttribute([NotNull] string format)
+    {
+      Format = format;
+    }
+
+    [NotNull] public string Format { get; }
+  }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
+  /// is an MVC action. If applied to a method, the MVC action name is calculated
+  /// implicitly from the context. Use this attribute for custom wrappers similar to
+  /// <c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class AspMvcActionAttribute : Attribute
+  {
+    public AspMvcActionAttribute() { }
+
+    public AspMvcActionAttribute([NotNull] string anonymousProperty)
+    {
+      AnonymousProperty = anonymousProperty;
+    }
+
+    [CanBeNull] public string AnonymousProperty { get; }
+  }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. Indicates that the marked parameter is an MVC area.
+  /// Use this attribute for custom wrappers similar to
+  /// <c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class AspMvcAreaAttribute : Attribute
+  {
+    public AspMvcAreaAttribute() { }
+
+    public AspMvcAreaAttribute([NotNull] string anonymousProperty)
+    {
+      AnonymousProperty = anonymousProperty;
+    }
+
+    [CanBeNull] public string AnonymousProperty { get; }
+  }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is
+  /// an MVC controller. If applied to a method, the MVC controller name is calculated
+  /// implicitly from the context. Use this attribute for custom wrappers similar to
+  /// <c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String)</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class AspMvcControllerAttribute : Attribute
+  {
+    public AspMvcControllerAttribute() { }
+
+    public AspMvcControllerAttribute([NotNull] string anonymousProperty)
+    {
+      AnonymousProperty = anonymousProperty;
+    }
+
+    [CanBeNull] public string AnonymousProperty { get; }
+  }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. Indicates that the marked parameter is an MVC Master. Use this attribute
+  /// for custom wrappers similar to <c>System.Web.Mvc.Controller.View(String, String)</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class AspMvcMasterAttribute : Attribute { }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. Indicates that the marked parameter is an MVC model type. Use this attribute
+  /// for custom wrappers similar to <c>System.Web.Mvc.Controller.View(String, Object)</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter)]
+  public sealed class AspMvcModelTypeAttribute : Attribute { }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC
+  /// partial view. If applied to a method, the MVC partial view name is calculated implicitly
+  /// from the context. Use this attribute for custom wrappers similar to
+  /// <c>System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String)</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class AspMvcPartialViewAttribute : Attribute { }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
+  public sealed class AspMvcSuppressViewErrorAttribute : Attribute { }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. Indicates that a parameter is an MVC display template.
+  /// Use this attribute for custom wrappers similar to
+  /// <c>System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String)</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class AspMvcDisplayTemplateAttribute : Attribute { }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. Indicates that the marked parameter is an MVC editor template.
+  /// Use this attribute for custom wrappers similar to
+  /// <c>System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String)</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class AspMvcEditorTemplateAttribute : Attribute { }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. Indicates that the marked parameter is an MVC template.
+  /// Use this attribute for custom wrappers similar to
+  /// <c>System.ComponentModel.DataAnnotations.UIHintAttribute(System.String)</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class AspMvcTemplateAttribute : Attribute { }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
+  /// is an MVC view component. If applied to a method, the MVC view name is calculated implicitly
+  /// from the context. Use this attribute for custom wrappers similar to
+  /// <c>System.Web.Mvc.Controller.View(Object)</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class AspMvcViewAttribute : Attribute { }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
+  /// is an MVC view component name.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class AspMvcViewComponentAttribute : Attribute { }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
+  /// is an MVC view component view. If applied to a method, the MVC view component view name is default.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class AspMvcViewComponentViewAttribute : Attribute { }
+
+  /// <summary>
+  /// ASP.NET MVC attribute. When applied to a parameter of an attribute,
+  /// indicates that this parameter is an MVC action name.
+  /// </summary>
+  /// <example><code>
+  /// [ActionName("Foo")]
+  /// public ActionResult Login(string returnUrl) {
+  ///   ViewBag.ReturnUrl = Url.Action("Foo"); // OK
+  ///   return RedirectToAction("Bar"); // Error: Cannot resolve action
+  /// }
+  /// </code></example>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property)]
+  public sealed class AspMvcActionSelectorAttribute : Attribute { }
+
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.Field)]
+  public sealed class HtmlElementAttributesAttribute : Attribute
+  {
+    public HtmlElementAttributesAttribute() { }
+
+    public HtmlElementAttributesAttribute([NotNull] string name)
+    {
+      Name = name;
+    }
+
+    [CanBeNull] public string Name { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class HtmlAttributeValueAttribute : Attribute
+  {
+    public HtmlAttributeValueAttribute([NotNull] string name)
+    {
+      Name = name;
+    }
+
+    [NotNull] public string Name { get; }
+  }
+
+  /// <summary>
+  /// Razor attribute. Indicates that the marked parameter or method is a Razor section.
+  /// Use this attribute for custom wrappers similar to
+  /// <c>System.Web.WebPages.WebPageBase.RenderSection(String)</c>.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Method)]
+  public sealed class RazorSectionAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates how method, constructor invocation, or property access
+  /// over collection type affects the contents of the collection.
+  /// Use <see cref="CollectionAccessType"/> to specify the access type.
+  /// </summary>
+  /// <remarks>
+  /// Using this attribute only makes sense if all collection methods are marked with this attribute.
+  /// </remarks>
+  /// <example><code>
+  /// public class MyStringCollection : List&lt;string&gt;
+  /// {
+  ///   [CollectionAccess(CollectionAccessType.Read)]
+  ///   public string GetFirstString()
+  ///   {
+  ///     return this.ElementAt(0);
+  ///   }
+  /// }
+  /// class Test
+  /// {
+  ///   public void Foo()
+  ///   {
+  ///     // Warning: Contents of the collection is never updated
+  ///     var col = new MyStringCollection();
+  ///     string x = col.GetFirstString();
+  ///   }
+  /// }
+  /// </code></example>
+  [AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Property)]
+  public sealed class CollectionAccessAttribute : Attribute
+  {
+    public CollectionAccessAttribute(CollectionAccessType collectionAccessType)
+    {
+      CollectionAccessType = collectionAccessType;
+    }
+
+    public CollectionAccessType CollectionAccessType { get; }
+  }
+
+  /// <summary>
+  /// Provides a value for the <see cref="CollectionAccessAttribute"/> to define
+  /// how the collection method invocation affects the contents of the collection.
+  /// </summary>
+  [Flags]
+  public enum CollectionAccessType
+  {
+    /// <summary>Method does not use or modify content of the collection.</summary>
+    None = 0,
+    /// <summary>Method only reads content of the collection but does not modify it.</summary>
+    Read = 1,
+    /// <summary>Method can change content of the collection but does not add new elements.</summary>
+    ModifyExistingContent = 2,
+    /// <summary>Method can add new elements to the collection.</summary>
+    UpdatedContent = ModifyExistingContent | 4
+  }
+
+  /// <summary>
+  /// Indicates that the marked method is assertion method, i.e. it halts the control flow if
+  /// one of the conditions is satisfied. To set the condition, mark one of the parameters with
+  /// <see cref="AssertionConditionAttribute"/> attribute.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Method)]
+  public sealed class AssertionMethodAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates the condition parameter of the assertion method. The method itself should be
+  /// marked by <see cref="AssertionMethodAttribute"/> attribute. The mandatory argument of
+  /// the attribute is the assertion type.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter)]
+  public sealed class AssertionConditionAttribute : Attribute
+  {
+    public AssertionConditionAttribute(AssertionConditionType conditionType)
+    {
+      ConditionType = conditionType;
+    }
+
+    public AssertionConditionType ConditionType { get; }
+  }
+
+  /// <summary>
+  /// Specifies assertion type. If the assertion method argument satisfies the condition,
+  /// then the execution continues. Otherwise, execution is assumed to be halted.
+  /// </summary>
+  public enum AssertionConditionType
+  {
+    /// <summary>Marked parameter should be evaluated to true.</summary>
+    IS_TRUE = 0,
+    /// <summary>Marked parameter should be evaluated to false.</summary>
+    IS_FALSE = 1,
+    /// <summary>Marked parameter should be evaluated to null value.</summary>
+    IS_NULL = 2,
+    /// <summary>Marked parameter should be evaluated to not null value.</summary>
+    IS_NOT_NULL = 3,
+  }
+
+  /// <summary>
+  /// Indicates that the marked method unconditionally terminates control flow execution.
+  /// For example, it could unconditionally throw exception.
+  /// </summary>
+  [Obsolete("Use [ContractAnnotation('=> halt')] instead")]
+  [AttributeUsage(AttributeTargets.Method)]
+  public sealed class TerminatesProgramAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select,
+  /// .Where). This annotation allows inference of [InstantHandle] annotation for parameters
+  /// of delegate type by analyzing LINQ method chains.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Method)]
+  public sealed class LinqTunnelAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates that IEnumerable passed as a parameter is not enumerated.
+  /// Use this annotation to suppress the 'Possible multiple enumeration of IEnumerable' inspection.
+  /// </summary>
+  /// <example><code>
+  /// static void ThrowIfNull&lt;T&gt;([NoEnumeration] T v, string n) where T : class
+  /// {
+  ///   // custom check for null but no enumeration
+  /// }
+  /// 
+  /// void Foo(IEnumerable&lt;string&gt; values)
+  /// {
+  ///   ThrowIfNull(values, nameof(values));
+  ///   var x = values.ToList(); // No warnings about multiple enumeration
+  /// }
+  /// </code></example>
+  [AttributeUsage(AttributeTargets.Parameter)]
+  public sealed class NoEnumerationAttribute : Attribute { }
+
+  /// <summary>
+  /// Indicates that the marked parameter is a regular expression pattern.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property)]
+  public sealed class RegexPatternAttribute : Attribute { }
+
+  /// <summary>
+  /// Prevents the Member Reordering feature from tossing members of the marked class.
+  /// </summary>
+  /// <remarks>
+  /// The attribute must be mentioned in your member reordering patterns.
+  /// </remarks>
+  [AttributeUsage(
+    AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.Struct | AttributeTargets.Enum)]
+  public sealed class NoReorderAttribute : Attribute { }
+
+  /// <summary>
+  /// XAML attribute. Indicates the type that has <c>ItemsSource</c> property and should be treated
+  /// as <c>ItemsControl</c>-derived type, to enable inner items <c>DataContext</c> type resolve.
+  /// </summary>
+  [AttributeUsage(AttributeTargets.Class)]
+  public sealed class XamlItemsControlAttribute : Attribute { }
+
+  /// <summary>
+  /// XAML attribute. Indicates the property of some <c>BindingBase</c>-derived type, that
+  /// is used to bind some item of <c>ItemsControl</c>-derived type. This annotation will
+  /// enable the <c>DataContext</c> type resolve for XAML bindings for such properties.
+  /// </summary>
+  /// <remarks>
+  /// Property should have the tree ancestor of the <c>ItemsControl</c> type or
+  /// marked with the <see cref="XamlItemsControlAttribute"/> attribute.
+  /// </remarks>
+  [AttributeUsage(AttributeTargets.Property)]
+  public sealed class XamlItemBindingOfItemsControlAttribute : Attribute { }
+
+  /// <summary>
+  /// XAML attribute. Indicates the property of some <c>Style</c>-derived type, that
+  /// is used to style items of <c>ItemsControl</c>-derived type. This annotation will
+  /// enable the <c>DataContext</c> type resolve for XAML bindings for such properties.
+  /// </summary>
+  /// <remarks>
+  /// Property should have the tree ancestor of the <c>ItemsControl</c> type or
+  /// marked with the <see cref="XamlItemsControlAttribute"/> attribute.
+  /// </remarks>
+  [AttributeUsage(AttributeTargets.Property)]
+  public sealed class XamlItemStyleOfItemsControlAttribute : Attribute { }
+
+  [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
+  public sealed class AspChildControlTypeAttribute : Attribute
+  {
+    public AspChildControlTypeAttribute([NotNull] string tagName, [NotNull] Type controlType)
+    {
+      TagName = tagName;
+      ControlType = controlType;
+    }
+
+    [NotNull] public string TagName { get; }
+
+    [NotNull] public Type ControlType { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Property | AttributeTargets.Method)]
+  public sealed class AspDataFieldAttribute : Attribute { }
+
+  [AttributeUsage(AttributeTargets.Property | AttributeTargets.Method)]
+  public sealed class AspDataFieldsAttribute : Attribute { }
+
+  [AttributeUsage(AttributeTargets.Property)]
+  public sealed class AspMethodPropertyAttribute : Attribute { }
+
+  [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
+  public sealed class AspRequiredAttributeAttribute : Attribute
+  {
+    public AspRequiredAttributeAttribute([NotNull] string attribute)
+    {
+      Attribute = attribute;
+    }
+
+    [NotNull] public string Attribute { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Property)]
+  public sealed class AspTypePropertyAttribute : Attribute
+  {
+    public bool CreateConstructorReferences { get; }
+
+    public AspTypePropertyAttribute(bool createConstructorReferences)
+    {
+      CreateConstructorReferences = createConstructorReferences;
+    }
+  }
+
+  [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
+  public sealed class RazorImportNamespaceAttribute : Attribute
+  {
+    public RazorImportNamespaceAttribute([NotNull] string name)
+    {
+      Name = name;
+    }
+
+    [NotNull] public string Name { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
+  public sealed class RazorInjectionAttribute : Attribute
+  {
+    public RazorInjectionAttribute([NotNull] string type, [NotNull] string fieldName)
+    {
+      Type = type;
+      FieldName = fieldName;
+    }
+
+    [NotNull] public string Type { get; }
+
+    [NotNull] public string FieldName { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
+  public sealed class RazorDirectiveAttribute : Attribute
+  {
+    public RazorDirectiveAttribute([NotNull] string directive)
+    {
+      Directive = directive;
+    }
+
+    [NotNull] public string Directive { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
+  public sealed class RazorPageBaseTypeAttribute : Attribute
+  {
+      public RazorPageBaseTypeAttribute([NotNull] string baseType)
+      {
+        BaseType = baseType;
+      }
+      public RazorPageBaseTypeAttribute([NotNull] string baseType, string pageName)
+      {
+          BaseType = baseType;
+          PageName = pageName;
+      }
+
+      [NotNull] public string BaseType { get; }
+      [CanBeNull] public string PageName { get; }
+  }
+
+  [AttributeUsage(AttributeTargets.Method)]
+  public sealed class RazorHelperCommonAttribute : Attribute { }
+
+  [AttributeUsage(AttributeTargets.Property)]
+  public sealed class RazorLayoutAttribute : Attribute { }
+
+  [AttributeUsage(AttributeTargets.Method)]
+  public sealed class RazorWriteLiteralMethodAttribute : Attribute { }
+
+  [AttributeUsage(AttributeTargets.Method)]
+  public sealed class RazorWriteMethodAttribute : Attribute { }
+
+  [AttributeUsage(AttributeTargets.Parameter)]
+  public sealed class RazorWriteMethodParameterAttribute : Attribute { }
+}
\ No newline at end of file
diff --git a/VECTO3GUI2020/Properties/Strings.Designer.cs b/VECTO3GUI2020/Properties/Strings.Designer.cs
index 522ce734b94cd98ad63e2a908fc4ea30da29f80e..89bcc4dc547641e67f3dc60b23e4d2f61354ada5 100644
--- a/VECTO3GUI2020/Properties/Strings.Designer.cs
+++ b/VECTO3GUI2020/Properties/Strings.Designer.cs
@@ -60,6 +60,15 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Adjustable Auxiliary Heater.
+        /// </summary>
+        public static string AdjustableAuxiliaryHeater {
+            get {
+                return ResourceManager.GetString("AdjustableAuxiliaryHeater", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Airdrag Area.
         /// </summary>
@@ -69,6 +78,15 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Air Electric Heater.
+        /// </summary>
+        public static string AirElectricHeater {
+            get {
+                return ResourceManager.GetString("AirElectricHeater", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Angledrive Type.
         /// </summary>
@@ -78,6 +96,15 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Heater Power.
+        /// </summary>
+        public static string AuxHeaterPower {
+            get {
+                return ResourceManager.GetString("AuxHeaterPower", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Axle Configuration.
         /// </summary>
@@ -96,6 +123,15 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Brake Lights LED.
+        /// </summary>
+        public static string BrakelightsLED {
+            get {
+                return ResourceManager.GetString("BrakelightsLED", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Certification Number.
         /// </summary>
@@ -132,6 +168,15 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Dayrunning Lights LED.
+        /// </summary>
+        public static string DayrunninglightsLED {
+            get {
+                return ResourceManager.GetString("DayrunninglightsLED", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Dimension.
         /// </summary>
@@ -150,6 +195,24 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Doordrive Technology.
+        /// </summary>
+        public static string DoorDriveTechnology {
+            get {
+                return ResourceManager.GetString("DoorDriveTechnology", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Double Glazing.
+        /// </summary>
+        public static string DoubleGlazing {
+            get {
+                return ResourceManager.GetString("DoubleGlazing", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Efficiency.
         /// </summary>
@@ -168,6 +231,15 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Entrance Height.
+        /// </summary>
+        public static string EntranceHeight {
+            get {
+                return ResourceManager.GetString("EntranceHeight", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Gross Vehicle Mass.
         /// </summary>
@@ -186,6 +258,60 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Head Lights LED.
+        /// </summary>
+        public static string HeadlightsLED {
+            get {
+                return ResourceManager.GetString("HeadlightsLED", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Heat Pump Mode Driver.
+        /// </summary>
+        public static string HeatPumpModeDriverCompartment {
+            get {
+                return ResourceManager.GetString("HeatPumpModeDriverCompartment", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Heat Pump Mode Passenger.
+        /// </summary>
+        public static string HeatPumpModePassengerCompartment {
+            get {
+                return ResourceManager.GetString("HeatPumpModePassengerCompartment", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Heat Pump Type Driver.
+        /// </summary>
+        public static string HeatPumpTypeDriverCompartment {
+            get {
+                return ResourceManager.GetString("HeatPumpTypeDriverCompartment", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Heat Pump Type Passenger.
+        /// </summary>
+        public static string HeatPumpTypePassengerCompartment {
+            get {
+                return ResourceManager.GetString("HeatPumpTypePassengerCompartment", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Height.
+        /// </summary>
+        public static string Height {
+            get {
+                return ResourceManager.GetString("Height", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Idling Speed.
         /// </summary>
@@ -195,6 +321,15 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Interior Lights LED.
+        /// </summary>
+        public static string InteriorLightsLED {
+            get {
+                return ResourceManager.GetString("InteriorLightsLED", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Legislative Class.
         /// </summary>
@@ -204,6 +339,24 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Length.
+        /// </summary>
+        public static string Length {
+            get {
+                return ResourceManager.GetString("Length", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Low Entry.
+        /// </summary>
+        public static string LowEntry {
+            get {
+                return ResourceManager.GetString("LowEntry", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Manufacturer.
         /// </summary>
@@ -249,6 +402,42 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Passengers Lower Deck.
+        /// </summary>
+        public static string NumberOfPassengersLowerDeck {
+            get {
+                return ResourceManager.GetString("NumberOfPassengersLowerDeck", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Passengers Upper Deck.
+        /// </summary>
+        public static string NumberOfPassengersUpperDeck {
+            get {
+                return ResourceManager.GetString("NumberOfPassengersUpperDeck", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Other Heating Technology.
+        /// </summary>
+        public static string OtherHeatingTechnology {
+            get {
+                return ResourceManager.GetString("OtherHeatingTechnology", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Position Lights LED.
+        /// </summary>
+        public static string PositionlightsLED {
+            get {
+                return ResourceManager.GetString("PositionlightsLED", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Predictive Cruise Control.
         /// </summary>
@@ -294,6 +483,15 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Registered Class.
+        /// </summary>
+        public static string RegisteredClass {
+            get {
+                return ResourceManager.GetString("RegisteredClass", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Retarder Ratio.
         /// </summary>
@@ -331,6 +529,33 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Seperate Air Distribution Ducts.
+        /// </summary>
+        public static string SeparateAirDistributionDucts {
+            get {
+                return ResourceManager.GetString("SeparateAirDistributionDucts", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to System Configuration.
+        /// </summary>
+        public static string SystemConfiguration {
+            get {
+                return ResourceManager.GetString("SystemConfiguration", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Tank System.
+        /// </summary>
+        public static string TankSystem {
+            get {
+                return ResourceManager.GetString("TankSystem", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Transmission Type.
         /// </summary>
@@ -358,6 +583,24 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Vehicle Code.
+        /// </summary>
+        public static string VehicleCode {
+            get {
+                return ResourceManager.GetString("VehicleCode", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Declaration Type.
+        /// </summary>
+        public static string VehicleDeclarationType {
+            get {
+                return ResourceManager.GetString("VehicleDeclarationType", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Vehicle Identification Number.
         /// </summary>
@@ -376,6 +619,15 @@ namespace VECTO3GUI2020.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Water Electric Heater.
+        /// </summary>
+        public static string WaterElectricHeater {
+            get {
+                return ResourceManager.GetString("WaterElectricHeater", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Waste Heat Recovery.
         /// </summary>
@@ -384,5 +636,14 @@ namespace VECTO3GUI2020.Properties {
                 return ResourceManager.GetString("WHRType", resourceCulture);
             }
         }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Width.
+        /// </summary>
+        public static string Width {
+            get {
+                return ResourceManager.GetString("Width", resourceCulture);
+            }
+        }
     }
 }
diff --git a/VECTO3GUI2020/Properties/Strings.resx b/VECTO3GUI2020/Properties/Strings.resx
index 27a2216137c3bfb8aa5a61496bce1a291f9c8e7c..ae1fe2220c2a1ef102fc18eae4a3bee106b94fed 100644
--- a/VECTO3GUI2020/Properties/Strings.resx
+++ b/VECTO3GUI2020/Properties/Strings.resx
@@ -226,4 +226,91 @@
     <value>Do you want to overwrite 
  </value>
   </data>
+  <data name="AdjustableAuxiliaryHeater" xml:space="preserve">
+    <value>Adjustable Auxiliary Heater</value>
+  </data>
+  <data name="AirElectricHeater" xml:space="preserve">
+    <value>Air Electric Heater</value>
+  </data>
+  <data name="AuxHeaterPower" xml:space="preserve">
+    <value>Heater Power</value>
+  </data>
+  <data name="BrakelightsLED" xml:space="preserve">
+    <value>Brake Lights LED</value>
+  </data>
+  <data name="DayrunninglightsLED" xml:space="preserve">
+    <value>Dayrunning Lights LED</value>
+  </data>
+  <data name="DoorDriveTechnology" xml:space="preserve">
+    <value>Doordrive Technology</value>
+  </data>
+  <data name="DoubleGlazing" xml:space="preserve">
+    <value>Double Glazing</value>
+  </data>
+  <data name="EntranceHeight" xml:space="preserve">
+    <value>Entrance Height</value>
+  </data>
+  <data name="HeadlightsLED" xml:space="preserve">
+    <value>Head Lights LED</value>
+  </data>
+  <data name="HeatPumpModeDriverCompartment" xml:space="preserve">
+    <value>Heat Pump Mode Driver</value>
+  </data>
+  <data name="HeatPumpModePassengerCompartment" xml:space="preserve">
+    <value>Heat Pump Mode Passenger</value>
+  </data>
+  <data name="HeatPumpTypeDriverCompartment" xml:space="preserve">
+    <value>Heat Pump Type Driver</value>
+  </data>
+  <data name="HeatPumpTypePassengerCompartment" xml:space="preserve">
+    <value>Heat Pump Type Passenger</value>
+  </data>
+  <data name="Height" xml:space="preserve">
+    <value>Height</value>
+  </data>
+  <data name="InteriorLightsLED" xml:space="preserve">
+    <value>Interior Lights LED</value>
+  </data>
+  <data name="Length" xml:space="preserve">
+    <value>Length</value>
+  </data>
+  <data name="LowEntry" xml:space="preserve">
+    <value>Low Entry</value>
+  </data>
+  <data name="NumberOfPassengersLowerDeck" xml:space="preserve">
+    <value>Passengers Lower Deck</value>
+  </data>
+  <data name="NumberOfPassengersUpperDeck" xml:space="preserve">
+    <value>Passengers Upper Deck</value>
+  </data>
+  <data name="OtherHeatingTechnology" xml:space="preserve">
+    <value>Other Heating Technology</value>
+  </data>
+  <data name="PositionlightsLED" xml:space="preserve">
+    <value>Position Lights LED</value>
+  </data>
+  <data name="RegisteredClass" xml:space="preserve">
+    <value>Registered Class</value>
+  </data>
+  <data name="SeparateAirDistributionDucts" xml:space="preserve">
+    <value>Seperate Air Distribution Ducts</value>
+  </data>
+  <data name="SystemConfiguration" xml:space="preserve">
+    <value>System Configuration</value>
+  </data>
+  <data name="TankSystem" xml:space="preserve">
+    <value>Tank System</value>
+  </data>
+  <data name="VehicleCode" xml:space="preserve">
+    <value>Vehicle Code</value>
+  </data>
+  <data name="VehicleDeclarationType" xml:space="preserve">
+    <value>Declaration Type</value>
+  </data>
+  <data name="WaterElectricHeater" xml:space="preserve">
+    <value>Water Electric Heater</value>
+  </data>
+  <data name="Width" xml:space="preserve">
+    <value>Width</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/VECTO3GUI2020/Resources/Colors.xaml b/VECTO3GUI2020/Resources/Colors.xaml
deleted file mode 100644
index 3aa47eae7766b209bfa61eaaf78799418cce4e4f..0000000000000000000000000000000000000000
--- a/VECTO3GUI2020/Resources/Colors.xaml
+++ /dev/null
@@ -1,12 +0,0 @@
-<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-                    xmlns:local="clr-namespace:VECTO3GUI2020">
-    <SolidColorBrush x:Key="AccentColorButton" Color="#FF10796B"/>
-    <Color x:Key="ButtonBackgroundColor">White</Color>
-    <LinearGradientBrush x:Key="ButtonBackgroundBrush" EndPoint="0,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
-        <GradientStop Color="Black" Offset="1"/>
-        <GradientStop Color="{DynamicResource ButtonBackgroundColor}" Offset="0.187"/>
-        <GradientStop Color="#FF494949" Offset="0.906"/>
-    </LinearGradientBrush>
-
-</ResourceDictionary>
\ No newline at end of file
diff --git a/VECTO3GUI2020/Resources/Converter.xaml b/VECTO3GUI2020/Resources/Converter.xaml
index 361e9aed132af07521cfde8ef0c3ba90b47fb793..32b306aa638ed36e577f99cc2d95a75c02ac69c5 100644
--- a/VECTO3GUI2020/Resources/Converter.xaml
+++ b/VECTO3GUI2020/Resources/Converter.xaml
@@ -3,13 +3,17 @@
                     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" />
     <converter:LabledTextBoxLabelConverter x:Key="LabledTextBoxLabelConverter" />
     <converter:InvertBoolConverter x:Key="InvertBoolConverter"/>
-    <converter:InvertedBoolToVisibilityConverter x:Key="InvertedBoolToVisibilityConverter"></converter:InvertedBoolToVisibilityConverter>
+    <converter:InvertedBoolToVisibilityConverter x:Key="InvertedBoolToVisibilityConverter"/>
+    <converter:MultistageParameterModeToVisibilityConverter x:Key="ParameterModeToVisibilityConverter"/>
+    <converter:XToBoolConverter x:Key="XToBoolConverter"/>
+    <converter:EnumConverter x:Key="EnumConverter"></converter:EnumConverter>
+    <converter:NullToUnsetValueConverter x:Key="NullToUnsetValue"></converter:NullToUnsetValueConverter>
 </ResourceDictionary>
 
diff --git a/VECTO3GUI2020/Resources/GlobalStyles.xaml b/VECTO3GUI2020/Resources/GlobalStyles.xaml
deleted file mode 100644
index 34fc7f3116542fd540da6507dc1ad6601fab2c74..0000000000000000000000000000000000000000
--- a/VECTO3GUI2020/Resources/GlobalStyles.xaml
+++ /dev/null
@@ -1,126 +0,0 @@
-<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
-
-
-
-    <Style x:Key="ListViewStyle" TargetType="ListView">
-        <Setter Property="Background" Value="DimGray"/>
-        <Setter Property="Foreground" Value="White"     />
-    </Style>
-    <SolidColorBrush x:Key="Button.Static.Background" Color="#FFDFFFFA"/>
-    <SolidColorBrush x:Key="Button.Pressed.Border" Color="#FF2C628B"/>
-    <SolidColorBrush x:Key="Button.Static.Border" Color="#FF02888B"/>
-
-    <SolidColorBrush x:Key="Button.MouseOver.Background" Color="#FFBEE6FD"/>
-    <SolidColorBrush x:Key="Button.MouseOver.Border" Color="#FF3C7FB1"/>
-    <SolidColorBrush x:Key="Button.Pressed.Background" Color="#FFC4E5F6"/>
-    <SolidColorBrush x:Key="Button.Disabled.Background" Color="#FFF4F4F4"/>
-    <SolidColorBrush x:Key="Button.Disabled.Border" Color="#FFADB2B5"/>
-    <SolidColorBrush x:Key="Button.Disabled.Foreground" Color="#FF838383"/>
-
-
-    <ControlTemplate x:Key="MainViewButtonStyle" TargetType="{x:Type ButtonBase}">
-        <Border x:Name="border" SnapsToDevicePixels="True" BorderBrush="{DynamicResource AccentColorButton}" BorderThickness="2" Background="{DynamicResource Button.Static.Background}">
-            <ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
-        </Border>
-        <ControlTemplate.Triggers>
-            <Trigger Property="Button.IsDefaulted" Value="True">
-                <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
-            </Trigger>
-            <Trigger Property="IsMouseOver" Value="True">
-                <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.MouseOver.Border}"/>
-                <Setter Property="Background" TargetName="border" Value="{StaticResource Button.MouseOver.Background}"/>
-            </Trigger>
-            <Trigger Property="IsPressed" Value="True">
-                <Setter Property="Background" TargetName="border" Value="{StaticResource Button.Pressed.Background}"/>
-                <Setter Property="BorderBrush" TargetName="border" Value="#FF2C628B"/>
-            </Trigger>
-            <Trigger Property="ToggleButton.IsChecked" Value="True">
-                <Setter Property="Background" TargetName="border" Value="#FFBCDDEE"/>
-                <Setter Property="BorderBrush" TargetName="border" Value="#FF245A83"/>
-            </Trigger>
-            <Trigger Property="IsEnabled" Value="False">
-                <Setter Property="Background" TargetName="border" Value="#FFF4F4F4"/>
-                <Setter Property="BorderBrush" TargetName="border" Value="#FFADB2B5"/>
-                <!--Setter Property="Foreground" Value="#FF838383"/-->
-            </Trigger>
-        </ControlTemplate.Triggers>
-    </ControlTemplate>
-    <Style x:Key="FocusVisual">
-        <Setter Property="Control.Template">
-            <Setter.Value>
-                <ControlTemplate>
-                    <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
-                </ControlTemplate>
-            </Setter.Value>
-        </Setter>
-    </Style>
-
-    <Style x:Key="MainViewButton" TargetType="{x:Type Button}">
-        <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/>
-        <Setter Property="Background" Value="{StaticResource Button.Static.Background}"/>
-        <Setter Property="BorderBrush" Value="{StaticResource Button.Static.Border}"/>
-        <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
-        <Setter Property="BorderThickness" Value="1"/>
-        <Setter Property="HorizontalContentAlignment" Value="Center"/>
-        <Setter Property="VerticalContentAlignment" Value="Center"/>
-        <Setter Property="Padding" Value="1"/>
-        <Setter Property="Template">
-            <Setter.Value>
-                <ControlTemplate TargetType="{x:Type Button}">
-                    <Border x:Name="border" BorderBrush="#FF1E716A" BorderThickness="{TemplateBinding BorderThickness}" Background="White" SnapsToDevicePixels="true">
-                        <Border.OpacityMask>
-                            <RadialGradientBrush>
-                                <GradientStop Color="Black" Offset="0.133"/>
-                                <GradientStop Color="White" Offset="0.6"/>
-                            </RadialGradientBrush>
-                        </Border.OpacityMask>
-                        <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
-                    </Border>
-                    <ControlTemplate.Triggers>
-                        <Trigger Property="IsDefaulted" Value="true">
-                            <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
-                        </Trigger>
-                        <Trigger Property="IsMouseOver" Value="true">
-                            <Setter Property="Background" TargetName="border" Value="{StaticResource Button.MouseOver.Background}"/>
-                            <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.MouseOver.Border}"/>
-                        </Trigger>
-                        <Trigger Property="IsPressed" Value="true">
-                            <Setter Property="Background" TargetName="border" Value="{StaticResource Button.Pressed.Background}"/>
-                            <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.Pressed.Border}"/>
-                        </Trigger>
-                        <Trigger Property="IsEnabled" Value="false">
-                            <Setter Property="Background" TargetName="border" Value="{StaticResource Button.Disabled.Background}"/>
-                            <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.Disabled.Border}"/>
-                            <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{StaticResource Button.Disabled.Foreground}"/>
-                        </Trigger>
-                    </ControlTemplate.Triggers>
-                </ControlTemplate>
-            </Setter.Value>
-        </Setter>
-    </Style>
-    <Style x:Key="LabelStyleSubView" TargetType="{x:Type Label}">
-        <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
-        <Setter Property="Background" Value="Transparent"/>
-        <Setter Property="Padding" Value="5"/>
-        <Setter Property="HorizontalContentAlignment" Value="Left"/>
-        <Setter Property="VerticalContentAlignment" Value="Top"/>
-        <Setter Property="FontWeight" Value="DemiBold"/>
-        <Setter Property="FontSize" Value="14"/>
-        <Setter Property="Template">
-            <Setter.Value>
-                <ControlTemplate TargetType="{x:Type Label}">
-                    <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
-                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
-                    </Border>
-                    <ControlTemplate.Triggers>
-                        <Trigger Property="IsEnabled" Value="false">
-                            <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
-                        </Trigger>
-                    </ControlTemplate.Triggers>
-                </ControlTemplate>
-            </Setter.Value>
-        </Setter>
-    </Style>
-
-</ResourceDictionary>
\ No newline at end of file
diff --git a/VECTO3GUI2020/Resources/Icons/AddDocument_16x.xaml b/VECTO3GUI2020/Resources/Icons/AddDocument_16x.xaml
new file mode 100644
index 0000000000000000000000000000000000000000..6b3473284c5fb261a1f15daf4f501b0eed1fef22
--- /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/Icon2.ico b/VECTO3GUI2020/Resources/Icons/Icon2.ico
similarity index 100%
rename from VECTO3GUI2020/Resources/Icon2.ico
rename to VECTO3GUI2020/Resources/Icons/Icon2.ico
diff --git a/VECTO3GUI2020/Resources/Icons/Trash_16x.ico b/VECTO3GUI2020/Resources/Icons/Trash_16x.ico
new file mode 100644
index 0000000000000000000000000000000000000000..9bba79cd42607f14c1e052e5e61c40863707236d
Binary files /dev/null and b/VECTO3GUI2020/Resources/Icons/Trash_16x.ico differ
diff --git a/VECTO3GUI2020/Resources/Icons/Trash_16x.xaml b/VECTO3GUI2020/Resources/Icons/Trash_16x.xaml
new file mode 100644
index 0000000000000000000000000000000000000000..79f4d2fe3bd45ea19611b8d758fbf0077b7a2a52
--- /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 0000000000000000000000000000000000000000..80c941c266efa76b9cbd07a5733cf99eba203d00
--- /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/folderpicker.ico b/VECTO3GUI2020/Resources/Icons/folderpicker.ico
similarity index 100%
rename from VECTO3GUI2020/Resources/folderpicker.ico
rename to VECTO3GUI2020/Resources/Icons/folderpicker.ico
diff --git a/VECTO3GUI2020/Resources/ObjectProvider.xaml b/VECTO3GUI2020/Resources/ObjectProvider.xaml
new file mode 100644
index 0000000000000000000000000000000000000000..3a81ded5705d19ff629abc157468c868091a9a04
--- /dev/null
+++ b/VECTO3GUI2020/Resources/ObjectProvider.xaml
@@ -0,0 +1,7 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+                    xmlns:helper="clr-namespace:VECTO3GUI2020.Helper">
+    <ObjectDataProvider x:Key="milimeterDummy"
+                        ObjectType="{x:Type helper:ConvertedSIDummyCreator}"
+                        MethodName="CreateMillimeterDummy"/>
+</ResourceDictionary>
\ No newline at end of file
diff --git a/VECTO3GUI2020/ButtonStyles.xaml b/VECTO3GUI2020/Resources/Styles/ButtonStyles.xaml
similarity index 51%
rename from VECTO3GUI2020/ButtonStyles.xaml
rename to VECTO3GUI2020/Resources/Styles/ButtonStyles.xaml
index d109e55647522754237bb1f3d332caa7d8fa9052..b5b95eb545e5061c7af04fcb4599cfaba6de5a33 100644
--- a/VECTO3GUI2020/ButtonStyles.xaml
+++ b/VECTO3GUI2020/Resources/Styles/ButtonStyles.xaml
@@ -3,6 +3,8 @@
     <SolidColorBrush x:Key="Button.Static.Background2" Color="#FFDDDDDD"/>
     <SolidColorBrush x:Key="Button.Static.Border2" Color="#FF707070"/>
     <SolidColorBrush x:Key="MultiStageButtonMouseOverBackGround" Color="#FFBEE6FD"/>
+    
+    
     <Style x:Key="MultiStageButtonStyle1" TargetType="{x:Type Button}">
         <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/>
         <Setter Property="Background" Value="{StaticResource Button.Static.Background2}"/>
@@ -15,7 +17,7 @@
         <Setter Property="Template">
             <Setter.Value>
                 <ControlTemplate TargetType="{x:Type Button}">
-                    <Border x:Name="border" BorderBrush="{DynamicResource AccentColorButton}" BorderThickness="0,0,0,1" Background="White" SnapsToDevicePixels="true" Width="80" Height="30">
+                    <Border x:Name="border" BorderBrush="{DynamicResource AccentColorButton}" BorderThickness="0,0,0,1" Background="White" SnapsToDevicePixels="true" Width="Auto" Height="30">
                         <VisualStateManager.VisualStateGroups>
                             <VisualStateGroup x:Name="CommonStates">
                                 <VisualStateGroup.Transitions>
@@ -34,12 +36,58 @@
                             <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
                         </Trigger>
                         <Trigger Property="IsMouseOver" Value="true">
-                            <Setter Property="Background" TargetName="border" Value="{StaticResource MultiStageButtonMouseOverBackGround}"/>
+                            <Setter Property="Background" TargetName="border" Value="{StaticResource ButtonHighlightColor}"/>
                             <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource AccentColorButton}"/>
                         </Trigger>
                         <Trigger Property="IsPressed" Value="true">
-                            <Setter Property="Background" TargetName="border" Value="{StaticResource Button.Pressed.Background}"/>
-                            <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.Pressed.Border}"/>
+                            <Setter Property="Background" TargetName="border" Value="{StaticResource ButtonHightlightPressedColor}"/>
+                            <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource AccentColorButton}"/>
+                        </Trigger>
+                        <Trigger Property="IsEnabled" Value="false">
+                            <Setter Property="Background" TargetName="border" Value="{StaticResource Button.Disabled.Background}"/>
+                            <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource Button.Disabled.Border}"/>
+                            <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{StaticResource Button.Disabled.Foreground}"/>
+                        </Trigger>
+                    </ControlTemplate.Triggers>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+    </Style>
+    <Style x:Key="FocusVisual">
+        <Setter Property="Control.Template">
+            <Setter.Value>
+                <ControlTemplate>
+                    <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+    </Style>
+    <Style x:Key="FilePickerButtonStyle" TargetType="{x:Type Button}">
+        <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/>
+        <Setter Property="Background" Value="{StaticResource Button.Static.Background}"/>
+        <Setter Property="BorderBrush" Value="{StaticResource Button.Static.Border}"/>
+        <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
+        <Setter Property="BorderThickness" Value="1"/>
+        <Setter Property="HorizontalContentAlignment" Value="Center"/>
+        <Setter Property="VerticalContentAlignment" Value="Center"/>
+        <Setter Property="Padding" Value="1"/>
+        <Setter Property="Template">
+            <Setter.Value>
+                <ControlTemplate TargetType="{x:Type Button}">
+                    <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
+                        <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                    </Border>
+                    <ControlTemplate.Triggers>
+                        <Trigger Property="IsDefaulted" Value="true">
+                            <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
+                        </Trigger>
+                        <Trigger Property="IsMouseOver" Value="true">
+                            <Setter Property="Background" TargetName="border" Value="{DynamicResource ButtonHighlightColor}"/>
+                            <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource AccentColorButton}"/>
+                        </Trigger>
+                        <Trigger Property="IsPressed" Value="true">
+                            <Setter Property="Background" TargetName="border" Value="{StaticResource ButtonHightlightPressedColor}"/>
+                            <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource AccentColorButton}"/>
                         </Trigger>
                         <Trigger Property="IsEnabled" Value="false">
                             <Setter Property="Background" TargetName="border" Value="{StaticResource Button.Disabled.Background}"/>
diff --git a/VECTO3GUI2020/Resources/Styles/Colors.xaml b/VECTO3GUI2020/Resources/Styles/Colors.xaml
new file mode 100644
index 0000000000000000000000000000000000000000..b1d145a181bfb441ea7927d55f31595ac7b1a19c
--- /dev/null
+++ b/VECTO3GUI2020/Resources/Styles/Colors.xaml
@@ -0,0 +1,16 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+                    xmlns:local="clr-namespace:VECTO3GUI2020">
+
+    <Color x:Key="SystemAccentColor">
+    </Color>
+    <SolidColorBrush x:Key="AccentColorButton" Color="{x:Static SystemParameters.WindowGlassColor}"/>
+    <!-- <SolidColorBrush x:Key="AccentColorButton" Color="#FF10796B"/>-->
+    <Color x:Key="ButtonBackgroundColor">White</Color>
+    <SolidColorBrush x:Key="ButtonHighlightColor" Opacity="0.3"
+                     Color="{Binding Color, Source={StaticResource AccentColorButton}, Mode=OneWay}"  />
+    <SolidColorBrush x:Key="ButtonHightlightPressedColor" Opacity="0.4"
+                     Color="{Binding Color, Source={StaticResource AccentColorButton}, Mode=OneWay}"  />
+
+
+</ResourceDictionary>
\ No newline at end of file
diff --git a/VECTO3GUI2020/Resources/Styles/GlobalStyles.xaml b/VECTO3GUI2020/Resources/Styles/GlobalStyles.xaml
new file mode 100644
index 0000000000000000000000000000000000000000..c4aa2d9608b97ce62f93e9d2981762524524cc18
--- /dev/null
+++ b/VECTO3GUI2020/Resources/Styles/GlobalStyles.xaml
@@ -0,0 +1,91 @@
+<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+
+
+
+    <Style x:Key="ListViewStyle" TargetType="ListView">
+        <Setter Property="Background" Value="DimGray"/>
+        <Setter Property="Foreground" Value="White"     />
+    </Style>
+    <SolidColorBrush x:Key="Button.Static.Background" Color="#FFDDDDDD"/>
+    <SolidColorBrush x:Key="Button.Pressed.Border" Color="#FF2C628B"/>
+    <SolidColorBrush x:Key="Button.Static.Border" Color="#FF707070"/>
+
+    <SolidColorBrush x:Key="Button.MouseOver.Background" Color="#FFBEE6FD"/>
+    <SolidColorBrush x:Key="Button.MouseOver.Border" Color="#FF3C7FB1"/>
+    <SolidColorBrush x:Key="Button.Pressed.Background" Color="#FFC4E5F6"/>
+    <SolidColorBrush x:Key="Button.Disabled.Background" Color="#FFF4F4F4"/>
+    <SolidColorBrush x:Key="Button.Disabled.Border" Color="#FFADB2B5"/>
+    <SolidColorBrush x:Key="Button.Disabled.Foreground" Color="#FF838383"/>
+    <SolidColorBrush x:Key="TextBox.Static.Border" Color="#FFABAdB3"/>
+    <SolidColorBrush x:Key="TextBox.MouseOver.Border" Color="#FF7EB4EA"/>
+    <SolidColorBrush x:Key="TextBox.Focus.Border" Color="#FF569DE5"/>
+    <Style x:Key="TextBoxStyle1" TargetType="{x:Type TextBox}">
+        <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
+        <Setter Property="BorderBrush" Value="{StaticResource TextBox.Static.Border}"/>
+        <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
+        <Setter Property="BorderThickness" Value="1"/>
+        <Setter Property="KeyboardNavigation.TabNavigation" Value="None"/>
+        <Setter Property="HorizontalContentAlignment" Value="Left"/>
+        <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
+        <Setter Property="AllowDrop" Value="true"/>
+        <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst"/>
+        <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
+        <Setter Property="Template">
+            <Setter.Value>
+                <ControlTemplate TargetType="{x:Type TextBox}">
+                    <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
+                        <ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"/>
+                    </Border>
+                    <ControlTemplate.Triggers>
+                        <Trigger Property="IsEnabled" Value="false">
+                            <Setter Property="Opacity" TargetName="border" Value="0.56"/>
+                        </Trigger>
+                        <Trigger Property="IsMouseOver" Value="true">
+                            <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource ButtonHighlightColor}"/>
+                            <!--<Setter Property="BorderBrush" TargetName="border" Value="{StaticResource TextBox.MouseOver.Border}"/>-->
+                        </Trigger>
+                        <Trigger Property="IsKeyboardFocused" Value="true">
+                            <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource ButtonHighlightColor}"/>
+
+                            <!--<Setter Property="BorderBrush" TargetName="border" Value="{StaticResource TextBox.Focus.Border}"/>-->
+                        </Trigger>
+                    </ControlTemplate.Triggers>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+        <Style.Triggers>
+            <MultiTrigger>
+                <MultiTrigger.Conditions>
+                    <Condition Property="IsInactiveSelectionHighlightEnabled" Value="true"/>
+                    <Condition Property="IsSelectionActive" Value="false"/>
+                </MultiTrigger.Conditions>
+                <Setter Property="SelectionBrush" Value="{DynamicResource {x:Static SystemColors.InactiveSelectionHighlightBrushKey}}"/>
+            </MultiTrigger>
+        </Style.Triggers>
+    </Style>
+    <Style x:Key="LabelStyle1" TargetType="{x:Type Label}">
+        <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
+        <Setter Property="Background" Value="{DynamicResource ButtonHighlightColor}"/>
+        <Setter Property="Padding" Value="5"/>
+        <Setter Property="HorizontalContentAlignment" Value="Left"/>
+        <Setter Property="VerticalContentAlignment" Value="Top"/>
+        <Setter Property="Template">
+            <Setter.Value>
+                <ControlTemplate TargetType="{x:Type Label}">
+                    <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
+                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
+                    </Border>
+                    <ControlTemplate.Triggers>
+                        <Trigger Property="IsEnabled" Value="false">
+                            <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
+                        </Trigger>
+                    </ControlTemplate.Triggers>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+    </Style>
+
+
+
+</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 0000000000000000000000000000000000000000..52b5e05bc231e372f69c23b87b291383e8116d4c
--- /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/Resources/ViewModelBindings.xaml b/VECTO3GUI2020/Resources/ViewModelBindings.xaml
index 993c2c434cb59d23be5c9c3ab0b8fd7db5685b8a..3934f0b971503fa7856d55e3c26f0c0184140215 100644
--- a/VECTO3GUI2020/Resources/ViewModelBindings.xaml
+++ b/VECTO3GUI2020/Resources/ViewModelBindings.xaml
@@ -36,10 +36,10 @@
     <DataTemplate DataType="{x:Type jobeditimpl:DeclarationJobEditViewModel_v2_0}">
         <jobeditviews:DeclarationJobEditView/>
     </DataTemplate>
-    
-    
-    
 
+
+
+    <!--#region HeavyLorry -->
     <DataTemplate DataType="{x:Type vehicleimpl:VehicleViewModel_v1_0 }">
         <vehicleviews:VehicleView_v2_0/>
     </DataTemplate>
@@ -51,7 +51,7 @@
     <DataTemplate DataType="{x:Type componentimpl:CommonComponentViewModel}">
         <componentviews:CommonComponentView/>
     </DataTemplate>
-    
+
     <DataTemplate DataType="{x:Type componentimpl:EngineViewModel_v2_0}">
         <componentviews:EngineView_v2_0/>
     </DataTemplate>
@@ -79,7 +79,7 @@
     <DataTemplate DataType="{x:Type componentimpl:AxleGearViewModel_v1_0}">
         <componentviews:AxleGearView_v2_0/>
     </DataTemplate>
-    
+
     <DataTemplate DataType="{x:Type componentviews:AxleGearView_v2_0}">
         <componentviews:AxleGearView_v2_0/>
     </DataTemplate>
@@ -192,8 +192,13 @@
     <DataTemplate DataType="{x:Type componentimpl:EngineFuelViewModel}">
         <componentviews:EngineFuelView/>
     </DataTemplate>
+    <!--#endregion-->
+    
+    <DataTemplate DataType="{x:Type componentimpl:AirDragViewModel_v2_8}">
+        <multistageviews:AirDragView_v2_8></multistageviews:AirDragView_v2_8>
+    </DataTemplate>
 
-
+    <!--#region Multistage -->
     <DataTemplate DataType="{x:Type multistageimpl:NewMultiStageJobViewModel}">
         <multistageviews:NewMultistageFileView/>
     </DataTemplate>
@@ -214,4 +219,13 @@
         <multistageviews:MultistageAirDragView/>
     </DataTemplate>
 
+    <DataTemplate DataType="{x:Type multistageimpl:MultistageAuxiliariesViewModel}">
+        <multistageviews:ManufacturingStageAuxiliariesView/>
+    </DataTemplate>
+    <!--#endregion-->
+
+    <DataTemplate DataType="{x:Type local:TestViewModel}">
+        <local:Test></local:Test>
+    </DataTemplate>
+
 </ResourceDictionary>
\ No newline at end of file
diff --git a/VECTO3GUI2020/Test.xaml b/VECTO3GUI2020/Test.xaml
index 9eeaeb40e20548db7319e1ec1ed23420ba7ac135..d0a30c571dbb38c00615b6e6196b05c7854722c8 100644
--- a/VECTO3GUI2020/Test.xaml
+++ b/VECTO3GUI2020/Test.xaml
@@ -1,37 +1,24 @@
-<Window x:Class="VECTO3GUI2020.Views.Test"
-        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-        xmlns:local="clr-namespace:VECTO3GUI2020.Views"
-        xmlns:custom="clr-namespace:VECTO3GUI2020.Views.CustomControls"
-        mc:Ignorable="d"
-        Title="Test" Height="450" Width="800">
-    <Grid>
-        <Grid.RowDefinitions>
-            <RowDefinition Height="1*"/>
-            <RowDefinition Height="1*"/>
-            <RowDefinition Height="1*"/>
-        </Grid.RowDefinitions>
-        <Grid.ColumnDefinitions>
-            <ColumnDefinition Width="1*"/>
-            <ColumnDefinition Width="1*"/>
-            <ColumnDefinition Width="1*"/>
-        </Grid.ColumnDefinitions>
-        
-      
-        <custom:LabledTextBox 
-            Grid.Row="0" Grid.Column="0"
-            Label="{Binding TestProperty}"
-            Text="{Binding TestProperty}"
-            Height="20"
-            />
-        <custom:LabledTextBoxUnit Grid.Row="0" Grid.Column="1" Height="20" />
+<UserControl x:Class="VECTO3GUI2020.Test"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             xmlns:local="clr-namespace:VECTO3GUI2020"
+             xmlns:customControls="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls"
+             xmlns:helper="clr-namespace:VECTO3GUI2020.Helper"
+             mc:Ignorable="d" 
+             d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance local:TestViewModel }">
 
-        <custom:LabledTextBoxAutomatic Grid.Row="2" Content="{Binding TestProperty}"></custom:LabledTextBoxAutomatic>
+    <Grid>
 
-        <DataGrid Grid.ColumnSpan="3" Grid.Row="1">
-            
-        </DataGrid>
+        <!--https://www.thomasclaudiushuber.com/2008/01/10/bind-to-methods-with-objectdataprovider/-->
+        <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}" ListItems="{Binding HeatPumpModeListItems}"></customControls:MultiStageParameter>
+            <customControls:MultiStageParameter Mode="COMBOBOX" Content="{Binding HeatPumpMode2}"></customControls:MultiStageParameter>
+            <customControls:MultiStageParameter Mode="TEXTBOX" Content="{Binding TestString, ValidatesOnExceptions=True}"></customControls:MultiStageParameter>
+        </StackPanel>
     </Grid>
-</Window>
+</UserControl>
diff --git a/VECTO3GUI2020/Test.xaml.cs b/VECTO3GUI2020/Test.xaml.cs
index 325d6af67fc508a0ceb415e5d4c8a509f8fe6028..540ccaf6e0de93263e7cdb24146e548c883950f0 100644
--- a/VECTO3GUI2020/Test.xaml.cs
+++ b/VECTO3GUI2020/Test.xaml.cs
@@ -1,26 +1,28 @@
-using System.Windows;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
 
-namespace VECTO3GUI2020.Views
+namespace VECTO3GUI2020
 {
     /// <summary>
-    /// Interaktionslogik für Test.xaml
+    /// Interaction logic for Test.xaml
     /// </summary>
-    public partial class Test : Window
+    public partial class Test : UserControl
     {
-        public string TestProperty { get; set; } = "hi";
-
-
-        private enum TestEnum
-        {
-            Hallo = 0, Welt, ich, bin, eine, Aufzählung
-        }
-
-    
-
         public Test()
         {
             InitializeComponent();
-            this.DataContext = this;
         }
     }
 }
diff --git a/VECTO3GUI2020/TestViewModel.cs b/VECTO3GUI2020/TestViewModel.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6a66b18a75787d54e94ad2a1c1d0f7911ca31bfa
--- /dev/null
+++ b/VECTO3GUI2020/TestViewModel.cs
@@ -0,0 +1,92 @@
+using System;
+using System.CodeDom;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Castle.Components.DictionaryAdapter;
+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;
+
+namespace VECTO3GUI2020
+{
+    public class TestViewModel : ViewModelBase, IMainViewModel
+    {
+		private ConvertedSI _convertedSI;
+
+		public ConvertedSI ConvertedSI
+		{
+			get => _convertedSI;
+			set => SetProperty(ref _convertedSI, value);
+
+		}
+
+		private ConvertedSI _convertedSI1;
+
+		public ConvertedSI ConvertedSI1
+		{
+			get => _convertedSI1;
+			set => SetProperty(ref _convertedSI1, value);
+
+		}
+
+
+		private Meter _meter;
+		private HeatPumpMode? _heatpumpMode;
+		private string _testString;
+
+		public Meter Meter
+		{
+			get => _meter;
+			set => SetProperty(ref _meter, value);
+		}
+
+		public HeatPumpMode? HeatPumpMode
+		{
+			get => _heatpumpMode;
+			set => SetProperty(ref _heatpumpMode, value);
+		}
+
+		private IList<HeatPumpMode> allowedValues = new List<HeatPumpMode>(){
+			TUGraz.VectoCommon.BusAuxiliaries.HeatPumpMode.cooling,
+			TUGraz.VectoCommon.BusAuxiliaries.HeatPumpMode.heating_and_cooling
+		};
+
+		private HeatPumpMode? _heatpumpMode2;
+
+		public HeatPumpMode? HeatPumpMode2
+		{
+			get => _heatpumpMode2;
+			set => SetProperty(ref _heatpumpMode2, value);
+		}
+
+		public ObservableCollection<Enum> HeatPumpModeListItems
+		{
+			get => new ObservableCollection<Enum>(allowedValues.Cast<Enum>());
+		}
+
+		public String TestString
+		{
+			get => _testString;
+			set
+			{
+				if (value.IsNullOrEmpty()) {
+					throw new VectoEmptyFieldException();
+				}
+				SetProperty(ref _testString, value);
+			}
+		}
+
+
+		public TestViewModel()
+		{
+			
+		}
+    }
+}
diff --git a/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLAirDragWriter.cs b/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLAirDragWriter.cs
index 0156742325a64d3f6103dfb2fd4703ca71be7756..0ef9bc19890062b7f1d15363ed3cc40064e645bb 100644
--- a/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLAirDragWriter.cs
+++ b/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLAirDragWriter.cs
@@ -4,12 +4,14 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using System.Xml.Linq;
+using Castle.Core.Internal;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
 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
 {
@@ -23,6 +25,7 @@ namespace VECTO3GUI2020.Util.XML.Implementation.ComponentWriter
 		public XMLAirDragWriter(IAirdragDeclarationInputData inputData)
 		{
 			_inputData = inputData;
+			_uri = inputData.DigestValue.Reference.Replace("#","");
 		}
 
 		public XElement GetElement()
@@ -31,11 +34,18 @@ namespace VECTO3GUI2020.Util.XML.Implementation.ComponentWriter
 
 				Initialize();
 				CreateDataElements();
-				_xElement.Add(this.CreateSignatureElement(_defaultNamespace, _uri, _inputData.DigestValue));
+				var signatureElemnet = this.CreateSignatureElement(_defaultNamespace, _uri, _inputData.DigestValue);
+				_xElement.Add(signatureElemnet);
 			}
 
 			return _xElement;
 		}
+
+		public XElement GetElement(XNamespace wrapperNamespace)
+		{
+			throw new NotImplementedException();
+		}
+
 		protected abstract void Initialize();
 		protected abstract void CreateDataElements();
 
@@ -45,7 +55,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()
@@ -53,23 +64,26 @@ namespace VECTO3GUI2020.Util.XML.Implementation.ComponentWriter
 			var dataElement = new XElement(_defaultNamespace + XMLNames.ComponentDataWrapper);
 			_xElement.Add(dataElement);
 
-			dataElement.Add(new XAttribute(XMLNames.Component_ID_Attr, _uri), new XAttribute(XMLNamespaces.Xsi + XMLNames.Component_Type_Attr, XMLNames.AirDrag_Data_Type_Attr));
+			dataElement.Add(new XAttribute(XMLNames.Component_ID_Attr, _uri), new XAttribute(XMLNamespaces.Xsi + XMLNames.Component_Type_Attr, "v2.0:" +
+			 XMLNames.AirDrag_Data_Type_Attr));
 
 			dataElement.Add(new XElement(_defaultNamespace + XMLNames.Component_Manufacturer, _inputData.Manufacturer));
 			dataElement.Add(new XElement(_defaultNamespace + XMLNames.Component_Model, _inputData.Model));
 			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)));
 
+
+			dataElement.DescendantsAndSelf().Where(e => e.Value.IsNullOrEmpty()).Remove();
 		}
 
 		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 0000000000000000000000000000000000000000..c54b57651bf7dc6016f7277fa4b53f7766df1f52
--- /dev/null
+++ b/VECTO3GUI2020/Util/XML/Implementation/ComponentWriter/XMLBusAuxiliariesWriter.cs
@@ -0,0 +1,106 @@
+using System.Linq;
+using System.Xml.Linq;
+using Castle.Core.Internal;
+using TUGraz.VectoCommon.BusAuxiliaries;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Resources;
+using VECTO3GUI2020.Util.XML.Interfaces;
+
+namespace VECTO3GUI2020.Util.XML.Implementation.ComponentWriter
+{
+	public interface IXMLBusAuxiliariesWriter : IXMLComponentWriter
+	{
+
+	}
+
+	public abstract class XMLBusAuxiliariesWriter : IXMLBusAuxiliariesWriter
+	{
+		protected readonly IBusAuxiliariesDeclarationData _inputData;
+		protected XElement _xElement;
+
+		protected XMLBusAuxiliariesWriter(IBusAuxiliariesDeclarationData inputData)
+		{
+			_inputData = inputData;
+		}
+
+		public XElement GetElement()
+		{
+			if (_xElement == null)
+			{
+				Initialize();
+				CreateElements();
+			}
+
+			return _xElement;
+		}
+
+		public XElement GetElement(XNamespace wrapperNamespace)
+		{
+			throw new System.NotImplementedException();
+		}
+
+		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.V28; 
+			_xElement = new XElement(_defaultNamespace + XMLNames.Component_Auxiliaries);
+		}
+
+		public override void CreateElements()
+		{
+	
+			var dataElement = new XElement(_defaultNamespace + XMLNames.ComponentDataWrapper,
+				new XAttribute(XMLNamespaces.Xsi + XMLNames.Attr_Type, "CompletedVehicleAuxiliaryDataDeclarationType"));
+			_xElement.Add(dataElement);
+
+
+			if (_inputData.ElectricConsumers != null) {
+				var electricSystemElement = new XElement(_defaultNamespace + XMLNames.BusAux_ElectricSystem);
+				var ledLightsElement = new XElement(_defaultNamespace + "LEDLights");
+				ledLightsElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_Interiorlights, _inputData.ElectricConsumers.InteriorLightsLED));
+				ledLightsElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_Dayrunninglights, _inputData.ElectricConsumers.DayrunninglightsLED));
+				ledLightsElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_Positionlights, _inputData.ElectricConsumers.PositionlightsLED));
+				ledLightsElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_Brakelights, _inputData.ElectricConsumers.BrakelightsLED));
+				ledLightsElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_Headlights, _inputData.ElectricConsumers.HeadlightsLED));
+				electricSystemElement.Add(ledLightsElement);
+				dataElement.Add(electricSystemElement);
+			}
+
+			if (_inputData.HVACAux != null) {
+				var hvacElement = new XElement(_defaultNamespace + "HVAC");
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_SystemConfiguration, _inputData.HVACAux.SystemConfiguration.GetXmlFormat()));
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpTypeDriver, _inputData.HVACAux.HeatPumpTypeDriverCompartment.GetLabel()));
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpModeDriver, _inputData.HVACAux.HeatPumpModeDriverCompartment.GetLabel()));
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpTypePassenger, _inputData.HVACAux.HeatPumpTypePassengerCompartment.GetLabel()));
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_HeatPumpModePassenger, _inputData.HVACAux.HeatPumpModePassengerCompartment.GetLabel()));
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_AuxiliaryHeaterPower, _inputData.HVACAux.AuxHeaterPower?.ToXMLFormat(0)));
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_DoubleGlazing, _inputData.HVACAux.DoubleGlazing));
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_AdjustableAuxiliaryHeater, _inputData.HVACAux.AdjustableAuxiliaryHeater));
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_SeparateAirDistributionDucts, _inputData.HVACAux.SeparateAirDistributionDucts));
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_WaterElectricHeater, _inputData.HVACAux.WaterElectricHeater));
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_AirElectricHeater, _inputData.HVACAux.AirElectricHeater));
+				hvacElement.Add(new XElement(_defaultNamespace + XMLNames.Bus_OtherHeatingTechnology, _inputData.HVACAux.OtherHeatingTechnology));
+				dataElement.Add(hvacElement);
+			}
+
+			dataElement.DescendantsAndSelf().Where(e => e.Value.IsNullOrEmpty()).Remove();
+		}
+
+		#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 8090a5e16cf82193f3d65b965e29958c1954cb75..47b010a3725167ad694ae8c71f1170031affc8e3 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,124 @@ namespace VECTO3GUI2020.Util.XML.Implementation
 	
     public class XMLVehicleWriter_ExcemptedVehicle_v2_2 { }
 
+	public class XMLVehicleWriter_v2_8 : XMLVehicleWriter
+	{
+		public 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()));
+			}
+			_Xelement.DescendantsAndSelf().Where(e => e.Value.IsNullOrEmpty()).Remove();
+
+			if (_inputData.Components != null) {
+				var componentElement = new XElement(
+					_defaultNamespace + XMLNames.Vehicle_Components,
+					new XAttribute(XMLNamespaces.Xsi + XMLNames.Attr_Type,
+						"CompletedVehicleComponentsDeclarationType"));
+
+				//Airdrag
+				if (_inputData.Components.AirdragInputData != null) {
+					var airDragElement = _xmlWriterFactory.CreateComponentWriter(_inputData.Components.AirdragInputData)
+						.GetElement();
+					var tempAirDragElement = new XElement(_defaultNamespace + XMLNames.Component_AirDrag);
+
+					airDragElement.Name = tempAirDragElement.Name;
+					componentElement.Add(airDragElement);
+				}
+
+				//auxiliaries
+				if (_inputData.Components.BusAuxiliaries != null) {
+					var auxiliaryElement = _xmlWriterFactory.CreateBuxAuxiliariesWriter(_inputData.Components.BusAuxiliaries)
+						.GetElement();
+					
+					componentElement.Add(auxiliaryElement);
+
+				}
+
+
+				_Xelement.Add(componentElement);
+			}
+
+			
+		}
+
+		#endregion
+	}
+
 }
diff --git a/VECTO3GUI2020/Util/XML/Interfaces/IXMLWriterFactory.cs b/VECTO3GUI2020/Util/XML/Interfaces/IXMLWriterFactory.cs
index aca85fc6179225530ab42bf6a87313c5ad54013c..94c82c81bd5e50e00ded437f64ef98ca70e7fd71 100644
--- a/VECTO3GUI2020/Util/XML/Interfaces/IXMLWriterFactory.cs
+++ b/VECTO3GUI2020/Util/XML/Interfaces/IXMLWriterFactory.cs
@@ -2,6 +2,7 @@
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
 using TUGraz.VectoCore.OutputData.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.OutputData.XML.Engineering.Writer;
+using VECTO3GUI2020.Util.XML.Implementation.ComponentWriter;
 
 namespace VECTO3GUI2020.Util.XML.Interfaces
 {
@@ -17,5 +18,7 @@ namespace VECTO3GUI2020.Util.XML.Interfaces
 
 		IXMLComponentWriter CreateComponentWriter(IPTOTransmissionInputData inputData);
 		IXMLComponentsWriter CreateComponentsWriter(IVehicleComponentsDeclaration inputData);
+
+		IXMLBusAuxiliariesWriter CreateBuxAuxiliariesWriter(IBusAuxiliariesDeclarationData inputData);
 	}
 }
diff --git a/VECTO3GUI2020/Util/XML/XMLNamespaces.cs b/VECTO3GUI2020/Util/XML/XMLNamespaces.cs
index f2852d486bea1bbc2e2444933b36afcc02cc1313..6c7d84fa0140d844cd795c7c8ce886fedf7933d6 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 1f446f5be99ccb67d3953a08789dc9a8ccd6bc17..8f8bbfc551b2a3b7f807ab7819f193314d2b74df 100644
--- a/VECTO3GUI2020/VECTO3GUI2020.csproj
+++ b/VECTO3GUI2020/VECTO3GUI2020.csproj
@@ -50,7 +50,7 @@
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <PropertyGroup>
-    <ApplicationIcon>Resources\Icon2.ico</ApplicationIcon>
+    <ApplicationIcon>Resources\Icons\Icon2.ico</ApplicationIcon>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
@@ -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>
@@ -119,24 +120,39 @@
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </ApplicationDefinition>
+    <Compile Include="Helper\ConvertedSIDummyCreator.cs" />
     <Compile Include="Helper\Converter\AlwaysVisibleConverter.cs" />
     <Compile Include="Helper\Converter\BoolToVisibilityConverter.cs" />
+    <Compile Include="Helper\Converter\EnumConverter.cs" />
     <Compile Include="Helper\Converter\InvertBoolConverter.cs" />
     <Compile Include="Helper\Converter\JobTypeStringConverter.cs" />
     <Compile Include="Helper\Converter\LabledTextBoxLabelConverter.cs" />
+    <Compile Include="Helper\Converter\MultistageParameterModeToVisibilityConverter.cs" />
+    <Compile Include="Helper\Converter\NullToUnsetValueConverter.cs" />
     <Compile Include="Helper\Converter\NullToVisibilityConverter.cs" />
     <Compile Include="Helper\Converter\LabledTextBoxConverter.cs" />
     <Compile Include="Helper\Converter\SIToUnitString.cs" />
     <Compile Include="Helper\Converter\SIValueToStringConverter.cs" />
     <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" />
     <Compile Include="Helper\WindowHelper.cs" />
     <Compile Include="Helper\XMLExtension.cs" />
+    <Compile Include="Helper\XmlHelper.cs" />
     <Compile Include="Ninject\FactoryModule.cs" />
+    <Compile Include="Ninject\IMultistageDependencies.cs" />
+    <Compile Include="Ninject\MultistageLazyDependencies.cs" />
     <Compile Include="Ninject\MultistageModule.cs" />
+    <Compile Include="Properties\Annotations.cs" />
+    <Compile Include="Test.xaml.cs">
+      <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" />
@@ -242,11 +258,10 @@
     <Compile Include="ViewModel\Interfaces\JobEdit\Vehicle\Components\ITorqueConverterViewModel.cs" />
     <Compile Include="ViewModel\Interfaces\JobEdit\Vehicle\Components\ITyreViewModel.cs" />
     <Compile Include="ViewModel\Interfaces\JobEdit\Vehicle\IVehicleViewModel.cs" />
-    <Compile Include="ViewModel\MultiStage\Implementation\DeclarationInterimStageBusVehicleViewModel_v2_8.cs" />
-    <Compile Include="ViewModel\MultiStage\Implementation\InterimStageBusAuxiliariesViewModel_v2_8.cs" />
-    <Compile Include="ViewModel\MultiStage\Implementation\InterimStageViewModel.cs" />
+    <Compile Include="ViewModel\MultiStage\Implementation\InterimStageBusVehicleViewModel_v2_8.cs" />
     <Compile Include="ViewModel\MultiStage\Implementation\ManufacturingStageViewModel_v0_1.cs" />
     <Compile Include="ViewModel\MultiStage\Implementation\MultistageAirdragViewModel.cs" />
+    <Compile Include="ViewModel\MultiStage\Implementation\MultistageAuxiliariesViewModel.cs" />
     <Compile Include="ViewModel\MultiStage\Implementation\NewMultiStageJobViewModel.cs" />
     <Compile Include="ViewModel\MultiStage\Implementation\MultistageJobViewModel_v0_1.cs" />
     <Compile Include="ViewModel\MultiStage\Interfaces\IMultistageAirdragViewModel.cs" />
@@ -342,12 +357,21 @@
     <Compile Include="Views\MessageView.xaml.cs">
       <DependentUpon>MessageView.xaml</DependentUpon>
     </Compile>
+    <Compile Include="Views\Multistage\AirDragView_v2_8.xaml.cs">
+      <DependentUpon>AirDragView_v2_8.xaml</DependentUpon>
+    </Compile>
     <Compile Include="Views\Multistage\CustomControls\FilePicker.xaml.cs">
       <DependentUpon>FilePicker.xaml</DependentUpon>
     </Compile>
+    <Compile Include="Views\Multistage\CustomControls\LabledTextBoxMultistage.xaml.cs">
+      <DependentUpon>LabledTextBoxMultistage.xaml</DependentUpon>
+    </Compile>
     <Compile Include="Views\Multistage\CustomControls\MultiStageParameter.xaml.cs">
       <DependentUpon>MultiStageParameter.xaml</DependentUpon>
     </Compile>
+    <Compile Include="Views\Multistage\ManufacturingStageAuxiliariesView.xaml.cs">
+      <DependentUpon>ManufacturingStageAuxiliariesView.xaml</DependentUpon>
+    </Compile>
     <Compile Include="Views\Multistage\MultistageAirDragView.xaml.cs">
       <DependentUpon>MultistageAirDragView.xaml</DependentUpon>
     </Compile>
@@ -366,23 +390,32 @@
     <Compile Include="Views\SettingsView.xaml.cs">
       <DependentUpon>SettingsView.xaml</DependentUpon>
     </Compile>
-    <Compile Include="Test.xaml.cs">
-      <DependentUpon>Test.xaml</DependentUpon>
-    </Compile>
     <Compile Include="Views\XMLViewer.xaml.cs">
       <DependentUpon>XMLViewer.xaml</DependentUpon>
     </Compile>
-    <Page Include="ButtonStyles.xaml">
+    <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="ButtonTemplates.xaml">
+    <Page Include="Resources\Icons\drawables.xaml">
+      <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="DataGridStyles.xaml">
+    <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>
+    </Page>
+    <Page Include="Resources\Styles\ButtonStyles.xaml">
       <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="Resources\Colors.xaml">
+    <Page Include="Resources\Styles\Colors.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
@@ -402,7 +435,11 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="Resources\GlobalStyles.xaml">
+    <Page Include="Resources\Styles\GlobalStyles.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+    <Page Include="Resources\Templates\ErrorTemplates.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
@@ -410,6 +447,10 @@
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </Page>
+    <Page Include="Test.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="Views\CustomControls\ComboParameter.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
@@ -530,14 +571,26 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="Views\Multistage\AirDragView_v2_8.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="Views\Multistage\CustomControls\FilePicker.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="Views\Multistage\CustomControls\LabledTextBoxMultistage.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="Views\Multistage\CustomControls\MultiStageParameter.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="Views\Multistage\ManufacturingStageAuxiliariesView.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="Views\Multistage\MultistageAirDragView.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
@@ -562,10 +615,6 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="Test.xaml">
-      <SubType>Designer</SubType>
-      <Generator>MSBuild:Compile</Generator>
-    </Page>
     <Page Include="Views\XMLViewer.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
@@ -626,7 +675,7 @@
     </BootstrapperPackage>
   </ItemGroup>
   <ItemGroup>
-    <Resource Include="Resources\Icon2.ico" />
+    <Resource Include="Resources\Icons\Icon2.ico" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\VectoCommon\VectoCommon\VectoCommon.csproj">
@@ -637,17 +686,24 @@
       <Project>{B673E12F-D323-4C4C-8805-9915B2C72D3D}</Project>
       <Name>VectoHashing</Name>
     </ProjectReference>
+    <ProjectReference Include="..\VectoCore\VectoCoreTest\VectoCoreTest.csproj">
+      <Project>{6A27F93E-4A58-48F6-B00B-3908C5D3D5A2}</Project>
+      <Name>VectoCoreTest</Name>
+    </ProjectReference>
     <ProjectReference Include="..\VectoCore\VectoCore\VectoCore.csproj">
       <Project>{cd36938a-add9-4c65-96da-b397cdeea90a}</Project>
       <Name>VectoCore</Name>
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <Resource Include="Resources\folderpicker.ico" />
+    <Resource Include="Resources\Icons\folderpicker.ico" />
   </ItemGroup>
   <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/Implementation/Common/ViewModelBase.cs b/VECTO3GUI2020/ViewModel/Implementation/Common/ViewModelBase.cs
index 227bebb57dda2ef521ab6b2a8098cf105aab3bec..876ef38084047d02775fd175a3c4f5df826c610d 100644
--- a/VECTO3GUI2020/ViewModel/Implementation/Common/ViewModelBase.cs
+++ b/VECTO3GUI2020/ViewModel/Implementation/Common/ViewModelBase.cs
@@ -1,6 +1,8 @@
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Runtime.CompilerServices;
+using System.Windows;
+using VECTO3GUI2020.Helper;
 using VECTO3GUI2020.ViewModel.Interfaces.Common;
 
 namespace VECTO3GUI2020.ViewModel.Implementation.Common
@@ -40,5 +42,21 @@ namespace VECTO3GUI2020.ViewModel.Implementation.Common
         }
 
 		public virtual string Title { get; set; } = "No Title Set";
+
+		protected void CloseWindow(Window window, IDialogHelper dialogHelper, bool showDialog = true)
+		{
+			MessageBoxResult result;
+			if (showDialog) {
+				result = dialogHelper.ShowMessageBox("Do you really want to close?", "Close", MessageBoxButton.YesNo,
+					MessageBoxImage.Question);
+            } else {
+				result = MessageBoxResult.Yes;
+			}
+			
+
+			if (result == MessageBoxResult.Yes) {
+				window?.Close();
+			}
+		}
 	}
 }
diff --git a/VECTO3GUI2020/ViewModel/Implementation/JobEdit/DeclarationJobEditViewModel.cs b/VECTO3GUI2020/ViewModel/Implementation/JobEdit/DeclarationJobEditViewModel.cs
index c71ea3f14bb2a4bd5418357de2a9c9187636ca1e..6e6b830b0fc1f34771b536e77449dc2a5867f112 100644
--- a/VECTO3GUI2020/ViewModel/Implementation/JobEdit/DeclarationJobEditViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/Implementation/JobEdit/DeclarationJobEditViewModel.cs
@@ -104,6 +104,7 @@ namespace VECTO3GUI2020.ViewModel.Implementation.JobEdit
 		private ICommand _saveAsCommand;
 		private DataSource _dataSource;
 		private IDialogHelper _dialogHelper;
+		private VectoSimulationJobType _jobType;
 
 
 		private void UpdateDataSource(string filename)
@@ -166,6 +167,8 @@ namespace VECTO3GUI2020.ViewModel.Implementation.JobEdit
 		public string JobName => Name;
 
 		public string ShiftStrategy => throw new NotImplementedException();
+
+		public VectoSimulationJobType JobType => _jobType;
 	}
 
     public class DeclarationJobEditViewModel_v1_0 : DeclarationJobEditViewModel
diff --git a/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/Components/AirDragViewModel.cs b/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/Components/AirDragViewModel.cs
index 7be3d7fc23cb761ff1e4d61933da7cec3e9132f7..f4314ec98e0f6a2fbc1593d45c110d0182017b80 100644
--- a/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/Components/AirDragViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/Components/AirDragViewModel.cs
@@ -1,5 +1,7 @@
 using System;
 using System.Diagnostics;
+using System.Reflection.Emit;
+using System.Xml;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
@@ -16,6 +18,8 @@ namespace VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle.Components
 
         protected IAirdragDeclarationInputData _inputData;
 
+		public XmlNode XMLSource { get; }
+
 		private ICommonComponentViewModel _commonComponentViewModel;
 		public ICommonComponentViewModel CommonComponentViewModel
 		{
@@ -31,11 +35,15 @@ namespace VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle.Components
 
 
         public AirDragViewModel(IXMLAirdragDeclarationInputData inputData, IComponentViewModelFactory vmFactory)
-        {
+		{
+			LabelVisible = true;
+			IsReadOnly = false;
 			_inputData = inputData as IAirdragDeclarationInputData;
             Debug.Assert(_inputData != null);
             _isPresent = (_inputData?.DataSource?.SourceFile != null);
 
+			XMLSource = (inputData as AbstractCommonComponentType)?.XMLSource;
+
             _commonComponentViewModel = vmFactory.CreateCommonComponentViewModel(_inputData);
 			SetProperties();
 		}
@@ -49,6 +57,11 @@ namespace VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle.Components
 		#region Implementation of IAirDragDeclarationInputData
 		
 		protected SquareMeter _airDragArea;
+		protected SquareMeter _transferredAirDragArea;
+		protected SquareMeter _airDragArea_0;
+		private bool _isReadOnly;
+		private bool _labelVisible;
+
 		public DataSource DataSource
 		{
 			get => _commonComponentViewModel.DataSource;
@@ -100,9 +113,33 @@ namespace VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle.Components
 		public string AppVersion => _commonComponentViewModel.AppVersion;
 
 
-		public virtual SquareMeter AirDragArea {get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
+		public virtual SquareMeter AirDragArea
+		{
+			get => throw new NotImplementedException();
+			set => throw new NotImplementedException();
+		}
+		public virtual SquareMeter TransferredAirDragArea { 
+			get => throw new NotImplementedException();
+			set => throw new NotImplementedException();
+		}
+		public virtual SquareMeter AirDragArea_0 { 
+			get => throw new NotImplementedException();
+			set => throw new NotImplementedException();
+		}
 
 		#endregion
+
+		public bool LabelVisible
+		{
+			get => _labelVisible;
+			set => SetProperty(ref _labelVisible, value);
+		}
+
+		public bool IsReadOnly
+		{
+			get => _isReadOnly;
+			set => SetProperty(ref _isReadOnly, value);
+		}
 	}
 
 
@@ -132,6 +169,8 @@ namespace VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle.Components
 		public override void SetProperties()
 		{
 			_airDragArea = _inputData.AirDragArea;
+			_airDragArea_0 = _inputData.AirDragArea_0;
+			_transferredAirDragArea = _inputData.TransferredAirDragArea;
 		}
 
 		public override SquareMeter AirDragArea
@@ -139,5 +178,33 @@ namespace VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle.Components
 			get => _airDragArea;
 			set => SetProperty(ref _airDragArea, value);
 		}
+
+		public override SquareMeter TransferredAirDragArea { 
+			get => _transferredAirDragArea;
+			set => SetProperty(ref _transferredAirDragArea, value);
+		}
+
+		public override SquareMeter AirDragArea_0
+		{
+			get => _airDragArea_0;
+			set => SetProperty(ref _airDragArea_0, value);
+		}
+	}
+
+	public class AirDragViewModel_v2_8 : AirDragViewModel_v2_0
+	{
+		public new static readonly string VERSION = typeof(XMLDeclarationAirdragDataProviderV28).FullName;
+
+		public AirDragViewModel_v2_8(IXMLAirdragDeclarationInputData inputData, IComponentViewModelFactory vmFactory) : base(inputData, vmFactory)
+		{
+			LabelVisible = false;
+			IsReadOnly = true;
+		}
+
+		public override void SetProperties()
+		{
+			base.SetProperties();
+
+		}
 	}
 }
diff --git a/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/VehicleViewModel.cs b/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/VehicleViewModel.cs
index 2a3c6c6d995823bbd3986dead333fa01a33feba3..acb4986d545aaceafcced71f60eef36ab701326c 100644
--- a/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/VehicleViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/VehicleViewModel.cs
@@ -179,6 +179,8 @@ namespace VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle
 			set => throw new NotImplementedException();
 		}
 
+		public virtual string LegislativeCategory => throw new NotImplementedException();
+
 		LegislativeClass? IVehicleDeclarationInputData.LegislativeClass { get; }
 
 		public virtual LegislativeClass LegislativeClass
diff --git a/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs b/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs
index c957de3f19c6615fdea7feea11a70f92ce67fb24..014b95dc66735ba0c4d905237ddba2ac2db8dd0e 100644
--- a/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs
@@ -101,7 +101,7 @@ namespace VECTO3GUI2020.ViewModel.Implementation
 
 		private void NewManufacturingStageFileExecute()
 		{
-            _windowHelper.ShowWindow(_multiStageViewModelFactory.CreateNewMultiStageJobViewModel());
+            _windowHelper.ShowWindow(_multiStageViewModelFactory.GetNewMultistageJobViewModel());
 		}
 
 
@@ -122,9 +122,7 @@ namespace VECTO3GUI2020.ViewModel.Implementation
         private void AddJobExecute()
         {
             IsLoading = true;
-			string path = _settings.DefaultFilePath;
-			var filename = _dialogHelper.OpenXMLFileDialog(path);
-
+			var filename = _dialogHelper.OpenXMLFileDialog();
 			if (filename != null)
             {
                 fileReadingBackgroundWorker.RunWorkerAsync(filename);
@@ -278,25 +276,29 @@ namespace VECTO3GUI2020.ViewModel.Implementation
             string filename = e.Argument as string;
             Debug.Assert(filename != null);
 
-			//TODO: update usage of GetDocumentType;
-   //         //Loading the file
-			//try {
-			//	var xElement = new System.Xml.XmlDocument();
-			//	xElement.Load(filename);
-			//	var documentType = XMLHelper.GetDocumentType(xElement.);
-			//	if (documentType == null) {
-			//		Debug.WriteLine("Unknown Document Type");
-			//		e.Cancel = true;
-			//		return;
-			//	}
-
-			//	var result = _documentViewModelFactory.CreateDocumentViewModel((XmlDocumentType)documentType, filename);
-			//	e.Result = result;
-			//} catch (Exception) {
-			//	e.Cancel = true;
-			//	throw;
-			//}
-		}
+            //TODO: update usage of GetDocumentType;
+            //Loading the file
+            try
+            {
+                var xElement = new System.Xml.XmlDocument();
+                xElement.Load(filename);
+                var documentType = XMLHelper.GetDocumentType(xElement?.DocumentElement?.LocalName);
+                if (documentType == null)
+                {
+                    Debug.WriteLine("Unknown Document Type");
+                    e.Cancel = true;
+                    return;
+                }
+
+                var result = _documentViewModelFactory.CreateDocumentViewModel((XmlDocumentType)documentType, filename);
+                e.Result = result;
+            }
+            catch (Exception)
+            {
+                e.Cancel = true;
+                throw;
+            }
+        }
 
         void fileworker_ProgressChanged(object sender, ProgressChangedEventArgs e)
         {
diff --git a/VECTO3GUI2020/ViewModel/Implementation/MainWindowViewModel.cs b/VECTO3GUI2020/ViewModel/Implementation/MainWindowViewModel.cs
index 2da740c78e3c7d774b85b513df3fde4c538937a2..f1d16c06613bb306b61d69a04869a30f48ae7f7e 100644
--- a/VECTO3GUI2020/ViewModel/Implementation/MainWindowViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/Implementation/MainWindowViewModel.cs
@@ -32,6 +32,7 @@ namespace VECTO3GUI2020.ViewModel.Implementation
 			_windowHelper = windowHelper;
 			_settingsViewModel = settingsViewModel;
 			_jobListVm = jobListViewModel;
+			_bottomView = new TestViewModel();
 		}
 
 		public IMainViewModel CurrentViewModelTop
diff --git a/VECTO3GUI2020/ViewModel/Interfaces/JobEdit/Vehicle/Components/IAirDragViewModel.cs b/VECTO3GUI2020/ViewModel/Interfaces/JobEdit/Vehicle/Components/IAirDragViewModel.cs
index 866e9164f3d8b1c42d062ff3b109bfa460076c34..9f49b555da963b5bdf7872909d9d99abbdf376a9 100644
--- a/VECTO3GUI2020/ViewModel/Interfaces/JobEdit/Vehicle/Components/IAirDragViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/Interfaces/JobEdit/Vehicle/Components/IAirDragViewModel.cs
@@ -1,8 +1,12 @@
-using TUGraz.VectoCommon.InputData;
+using System.Xml;
+using TUGraz.VectoCommon.InputData;
 
 namespace VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle.Components
 {
     public interface IAirDragViewModel : IAirdragDeclarationInputData, IComponentViewModel
     {
-    }
+        bool LabelVisible { get; set; }
+        bool IsReadOnly { get; set; }
+		XmlNode XMLSource { get; }
+	}
 }
diff --git a/VECTO3GUI2020/ViewModel/Interfaces/JobEdit/Vehicle/IVehicleViewModel.cs b/VECTO3GUI2020/ViewModel/Interfaces/JobEdit/Vehicle/IVehicleViewModel.cs
index 3eda515a55158ba019041928f43fa574901514ce..0360dcf829e5bd985bde6007684dc0c16297b034 100644
--- a/VECTO3GUI2020/ViewModel/Interfaces/JobEdit/Vehicle/IVehicleViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/Interfaces/JobEdit/Vehicle/IVehicleViewModel.cs
@@ -14,11 +14,11 @@ namespace VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle
 		//TODO: Move to IVehicleDeclarationInputData
 		RetarderType RetarderType { get; }
 		double RetarderRatio { get; }
-
 		AngledriveType AngledriveType { get; }
-
 		IPTOTransmissionInputData PTOTransmissionInputData { get; }
 
+
 		ObservableCollection<IComponentViewModel> ComponentViewModels { get; set; }
+		
 	}
 }
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/DeclarationInterimStageBusVehicleViewModel_v2_8.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/DeclarationInterimStageBusVehicleViewModel_v2_8.cs
deleted file mode 100644
index 5b76925e0e12aad2ad17fe1f295e026f592f5bb0..0000000000000000000000000000000000000000
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/DeclarationInterimStageBusVehicleViewModel_v2_8.cs
+++ /dev/null
@@ -1,421 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Configuration;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Xml;
-using Castle.Core.Internal;
-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.Properties;
-using VECTO3GUI2020.ViewModel.Implementation.Common;
-using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle;
-using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle.Components;
-using VECTO3GUI2020.ViewModel.MultiStage.Interfaces;
-
-namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
-{
-    class DeclarationInterimStageBusVehicleViewModel_v2_8 : ViewModelBase, IVehicleViewModel
-	{
-		public static readonly string INPUTPROVIDERTYPE = typeof(XMLDeclarationInterimStageBusDataProviderV28).ToString();
-
-		public string Name
-		{
-			get { return "Vehicle"; }
-		}
-
-		public bool IsPresent
-		{
-			get { return true; }
-		}
-
-		public DataSource DataSource
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public bool SavedInDeclarationMode
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		#region Implementation used fields in IVehicleInputData
-		private string _manufacturer;
-		private string _model;
-		private string _vin;
-		private string _manufacturerAddress;
-
-		private bool _measurementsGroupEditingEnabled = false;
-		private bool _numberOfPassengersEditingEnabled = false;
-		private int? _numberOfPassengersUpperDeck;
-		private int? _numberOfPassengersLowerDeck;
-		private Kilogram _grossVehicleMassRating;
-		private Meter _entranceHeight;
-		private bool? _lowEntry;
-		private VehicleCode? _vehicleCode;
-		private RegistrationClass? _registeredClass;
-		private bool? _airdragModifiedMultistage;
-		private LegislativeClass? _legislativeClass;
-		private ConsumerTechnology? _doorDriveTechnology;
-		private TankSystem? _tankSystem;
-		private Kilogram _curbMassChassis;
-		private Meter _length; 
-		private Meter _height;
-		private Meter _width;
-
-
-
-		public string Manufacturer
-		{
-			get { return _manufacturer; }
-			set
-			{
-				SetProperty(ref _manufacturer, value);
-			}
-		}
-
-		public string Model
-		{
-			get { return _model; }
-			set { SetProperty(ref _model, value); }
-		}
-
-		public string VIN
-		{
-			get { return _vin; }
-			set { SetProperty(ref _vin, value); }
-		}
-
-		public string ManufacturerAddress
-		{
-			get { return String.IsNullOrEmpty(_manufacturerAddress) ? null : _manufacturerAddress; }
-			set { SetProperty(ref _manufacturerAddress, value); }
-		}
-
-
-		public bool MeasurementsGroupEditingEnabled
-		{
-			get { return _measurementsGroupEditingEnabled; }
-			set { SetProperty(ref _measurementsGroupEditingEnabled, value); }
-		}
-
-
-		public Meter Height
-		{
-			get { return _height; }
-			set { SetProperty(ref _height, value); }
-		}
-
-
-		public Meter Length
-		{
-			get { return _length; }
-			set { SetProperty(ref _length, value); }
-		}
-
-		public Meter Width
-		{
-			get { return _width; }
-			set { SetProperty(ref _width, value); }
-		}
-
-
-		public Kilogram CurbMassChassis //Corrected Actual Mass
-		{
-			get { return _curbMassChassis; }
-			set { SetProperty(ref _curbMassChassis, value); }
-		}
-
-		public bool NumberOfPassengersEditingEnabled
-		{
-			get { return _numberOfPassengersEditingEnabled; }
-			set { SetProperty(ref _numberOfPassengersEditingEnabled, value); }
-		}
-
-
-		public int? NumberOfPassengersUpperDeck
-		{
-			get { return _numberOfPassengersUpperDeck; }
-			set { SetProperty(ref _numberOfPassengersUpperDeck, value); }
-		}
-
-		public int? NumberOfPassengersLowerDeck
-		{
-			get { return _numberOfPassengersLowerDeck; }
-			set { SetProperty(ref _numberOfPassengersLowerDeck, value); }
-		}
-
-
-		public TankSystem? TankSystem
-		{
-			get { return _tankSystem; }
-			set { SetProperty(ref _tankSystem, value); }
-		}
-
-		public Kilogram GrossVehicleMassRating //Technical Permissible Maximum Laden Mass
-		{
-			get =>_grossVehicleMassRating;
-			set => SetProperty(ref _grossVehicleMassRating, value);
-		}
-
-		public ConsumerTechnology? DoorDriveTechnology
-		{
-			get => _doorDriveTechnology;
-			set => SetProperty(ref _doorDriveTechnology, value);
-		}
-
-		public LegislativeClass? LegislativeClass
-		{
-			get => _legislativeClass;
-			set => SetProperty(ref _legislativeClass, value);
-		}
-
-		public bool? AirdragModifiedMultistage
-		{
-			get => _airdragModifiedMultistage;
-			set => SetProperty(ref _airdragModifiedMultistage, value);
-		}
-
-		public RegistrationClass? RegisteredClass
-		{
-			get => _registeredClass;
-			set => SetProperty(ref _registeredClass , value);
-		}
-
-		public VehicleCode? VehicleCode
-		{
-			get => _vehicleCode;
-			set => SetProperty(ref _vehicleCode, value);
-		}
-
-		public bool? LowEntry
-		{
-			get => _lowEntry;
-			set => SetProperty(ref _lowEntry, value);
-		}
-
-
-		public Meter EntranceHeight
-		{
-			get => _entranceHeight;
-			set => SetProperty(ref _entranceHeight, value);
-		}
-
-		public VehicleDeclarationType VehicleDeclarationType
-		{
-			get => _vehicleDeclarationType;
-			set => SetProperty(ref _vehicleDeclarationType, value);
-		}
-
-		#endregion
-
-		private IList<IComponentViewModel> _componentViewModels;
-		private IVehicleDeclarationInputData _inputData;
-
-		private Dictionary<string, object> _accumulatedProperties = new Dictionary<string, object>();
-		private IVehicleViewModel _prevStageVehicleViewModel;
-		private IVehicleDeclarationInputData _prevStageInputData;
-		private VehicleDeclarationType _vehicleDeclarationType;
-
-		public ObservableCollection<IComponentViewModel> ComponentViewModels
-		{
-			get { throw new NotImplementedException(); }
-			set { throw new NotImplementedException(); }
-		}
-
-		public IVehicleViewModel PreviousStageVehicleViewModel
-		{
-			get => _prevStageVehicleViewModel;
-		}
-
-
-		public DeclarationInterimStageBusVehicleViewModel_v2_8()
-		{
-
-		}
-
-
-		public DeclarationInterimStageBusVehicleViewModel_v2_8(IVehicleDeclarationInputData prevStageInputData, IMultiStageViewModelFactory vmFactory)
-		{
-			PrevStageInputData = prevStageInputData;
-		}
-
-		public IVehicleDeclarationInputData PrevStageInputData
-		{
-			get { return _prevStageInputData; }
-			set { SetProperty(ref _prevStageInputData, value); }
-		}
-
-
-		#region implementation of IVehicleDeclarationInputData;
-		public DateTime Date
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public string AppVersion
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public CertificationMethod CertificationMethod
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public string CertificationNumber
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public DigestData DigestValue
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public string Identifier
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public bool ExemptedVehicle
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-
-
-		public VehicleCategory VehicleCategory
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public AxleConfiguration AxleConfiguration
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-
-
-
-		public IList<ITorqueLimitInputData> TorqueLimits
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-
-		public PerSecond EngineIdleSpeed
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public bool VocationalVehicle
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public bool SleeperCab
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-
-
-
-
-		public IAdvancedDriverAssistantSystemDeclarationInputData ADAS
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public bool ZeroEmissionVehicle
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public bool HybridElectricHDV
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public bool DualFuelVehicle
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public Watt MaxNetPower1
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public Watt MaxNetPower2
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-
-
-		public CubicMeter CargoVolume
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-
-		public bool Articulated
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-
-
-
-
-		public IVehicleComponentsDeclaration Components
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public XmlNode XMLSource
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public IPTOViewModel PTOViewModel
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public RetarderType RetarderType
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public double RetarderRatio
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public AngledriveType AngledriveType
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public IPTOTransmissionInputData PTOTransmissionInputData
-		{
-			get { throw new NotImplementedException(); }
-		}
-
-		public Dictionary<string, object> AccumulatedProperties
-		{
-			get => _accumulatedProperties;
-			set => throw new NotImplementedException();
-		}
-
-		#endregion;
-	}
-}
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusAuxiliariesViewModel_v2_8.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusAuxiliariesViewModel_v2_8.cs
deleted file mode 100644
index a225e9ed44900653a491d88102202f2341ad7aeb..0000000000000000000000000000000000000000
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusAuxiliariesViewModel_v2_8.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using VECTO3GUI2020.ViewModel.Implementation.Common;
-
-namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
-{
-    public class InterimStageBusAuxiliariesViewModel_v2_8 : ViewModelBase
-    {
-    }
-}
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c43d35ebfec72e6e48c0f8ffc43c1e4a6c940abe
--- /dev/null
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs
@@ -0,0 +1,869 @@
+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.Ninject;
+using VECTO3GUI2020.Properties;
+using VECTO3GUI2020.ViewModel.Implementation.Common;
+using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle;
+using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle.Components;
+using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
+using VECTO3GUI2020.ViewModel.MultiStage.Interfaces;
+using Convert = System.Convert;
+
+namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
+{
+	public enum AIRDRAGMODIFIED
+	{
+		[GuiLabel("Unknown")]
+		UNKNOWN = 0,
+		[GuiLabel("True")]
+		TRUE = 1,
+		[GuiLabel("False")]
+		FALSE = 2,
+
+	}
+
+	public static class AirdragModifiedEnumHelper
+	{
+		public static AIRDRAGMODIFIED toAirdragModifiedEnum(this bool? nullableBool)
+		{
+			if (nullableBool.HasValue) {
+				return nullableBool.Value == true ? AIRDRAGMODIFIED.TRUE : AIRDRAGMODIFIED.FALSE;
+
+			}
+			return AIRDRAGMODIFIED.UNKNOWN;
+		}
+
+
+		public static bool? toNullableBool(this AIRDRAGMODIFIED airdragModified)
+		{
+			switch (airdragModified) {
+				case AIRDRAGMODIFIED.TRUE:
+					return true;
+				case AIRDRAGMODIFIED.FALSE:
+					return false;
+				default:
+					return null;
+			}
+		}
+	}
+
+	public interface IMultistageVehicleViewModel : IVehicleViewModel
+	{
+		bool HasErrors { get; }
+		Dictionary<string, string> Errors { get; }
+		IMultistageAirdragViewModel MultistageAirdragViewModel { get; set; }
+		IMultistageAuxiliariesViewModel MultistageAuxiliariesViewModel { get; set; }
+		void SetAirdragData(IAirdragDeclarationInputData airdragData);
+		void SetVehicleInputData(IVehicleDeclarationInputData vehicleInputData);
+	}
+
+
+	public class DeclarationInterimStageBusVehicleViewModel_v2_8 : ViewModelBase, IMultistageVehicleViewModel,
+		IVehicleComponentsDeclaration, IAdvancedDriverAssistantSystemDeclarationInputData, IDataErrorInfo
+	{
+
+		private readonly IMultiStageViewModelFactory _multiStageViewModelFactory;
+
+		#region Subcomponents
+		private IMultistageAirdragViewModel _multistageAirdragViewModel;
+		private IMultistageAuxiliariesViewModel _multistageAuxiliariesViewModel;
+		public IMultistageAirdragViewModel MultistageAirdragViewModel
+		{
+			get => _multistageAirdragViewModel;
+			set => SetProperty(ref _multistageAirdragViewModel, value);
+		}
+
+		public IMultistageAuxiliariesViewModel MultistageAuxiliariesViewModel
+		{
+			get => _multistageAuxiliariesViewModel;
+			set => SetProperty(ref _multistageAuxiliariesViewModel, value);
+		}
+
+		#endregion
+
+		public static readonly string INPUTPROVIDERTYPE =
+			typeof(XMLDeclarationInterimStageBusDataProviderV28).ToString();
+
+		public string Name => "Vehicle";
+
+		public bool IsPresent => true;
+
+		public DataSource DataSource => throw new NotImplementedException();
+
+		public bool SavedInDeclarationMode => true;
+
+		public ObservableCollection<IComponentViewModel> ComponentViewModels
+		{
+			get { throw new NotImplementedException(); }
+			set { throw new NotImplementedException(); }
+		}
+
+
+		public DeclarationInterimStageBusVehicleViewModel_v2_8(IVehicleDeclarationInputData consolidatedVehicleData,
+			IMultiStageViewModelFactory multistageViewModelFactory)
+		{
+			ConsolidatedVehicleData = consolidatedVehicleData;
+			_multiStageViewModelFactory = multistageViewModelFactory;
+
+			MultistageAirdragViewModel = _multiStageViewModelFactory.GetMultistageAirdragViewModel(consolidatedVehicleData?.Components?.AirdragInputData);
+			MultistageAuxiliariesViewModel =
+				_multiStageViewModelFactory.GetAuxiliariesViewModel(consolidatedVehicleData?.Components?
+					.BusAuxiliaries);
+			AirdragModifiedMultistageEditingEnabled = false;
+		}
+
+		public IVehicleDeclarationInputData ConsolidatedVehicleData
+		{
+			get { return _consolidatedVehicleData; }
+			set { SetProperty(ref _consolidatedVehicleData, value); }
+		}
+
+		public void SetAirdragData(IAirdragDeclarationInputData airdragData)
+		{
+			throw new NotImplementedException();
+			MultistageAirdragViewModel.SetAirdragInputData(airdragInputData: airdragData);
+		}
+
+		public void SetBusAuxiliaries(IBusAuxiliariesDeclarationData busAuxData)
+		{
+			throw new NotImplementedException();
+		}
+
+		public void SetVehicleInputData(IVehicleDeclarationInputData vehicleInputData)
+		{
+			Manufacturer = vehicleInputData.Manufacturer;
+			Identifier = vehicleInputData.Identifier;
+			ManufacturerAddress = vehicleInputData.ManufacturerAddress;
+			VIN = vehicleInputData.VIN;
+			Model = vehicleInputData.Model;
+			LegislativeClass = vehicleInputData.LegislativeClass;
+			CurbMassChassis = vehicleInputData.CurbMassChassis;
+			GrossVehicleMassRating = vehicleInputData.GrossVehicleMassRating;
+			AirdragModifiedMultistage = vehicleInputData.AirdragModifiedMultistage;
+			TankSystem = vehicleInputData.TankSystem;
+			RegisteredClass = vehicleInputData.RegisteredClass;
+			NumberOfPassengersUpperDeck = vehicleInputData.NumberOfPassengersUpperDeck;
+			NumberOfPassengersLowerDeck = vehicleInputData.NumberOfPassengersLowerDeck;
+			VehicleCode = vehicleInputData.VehicleCode;
+			LowEntry = vehicleInputData.LowEntry;
+			Height = vehicleInputData.Height;
+			Width = vehicleInputData.Width;
+			Length = vehicleInputData.Length;
+			EntranceHeight = vehicleInputData.EntranceHeight;
+			DoorDriveTechnology = vehicleInputData.DoorDriveTechnology;
+			VehicleDeclarationType = vehicleInputData.VehicleDeclarationType;
+			AdasEditingEnabled = vehicleInputData.ADAS != null;
+			EngineStopStartNullable = vehicleInputData.ADAS?.EngineStopStart;
+			EcoRollTypeNullable = vehicleInputData.ADAS?.EcoRoll;
+			PredictiveCruiseControlNullable = vehicleInputData.ADAS?.PredictiveCruiseControl;
+			ATEcoRollReleaseLockupClutch = vehicleInputData.ADAS?.ATEcoRollReleaseLockupClutch;
+			AirdragModifiedMultistage = vehicleInputData.AirdragModifiedMultistage;
+			AirdragModifiedMultistageEditingEnabled = false;
+			OnPropertyChanged(String.Empty);
+			
+
+		}
+
+
+
+
+		#region Implementation used fields in IVehicleInputData
+
+		private string _manufacturer;
+		private string _model;
+		private string _vin;
+		private string _manufacturerAddress;
+
+		private bool _measurementsGroupEditingEnabled = false;
+		private bool _numberOfPassengersEditingEnabled = false;
+		private int? _numberOfPassengersUpperDeck;
+		private int? _numberOfPassengersLowerDeck;
+		private Kilogram _grossVehicleMassRating;
+		private Meter _entranceHeight;
+		private bool? _lowEntry;
+		private VehicleCode? _vehicleCode;
+		private RegistrationClass? _registeredClass;
+		private bool? _airdragModifiedMultistage;
+		private bool _airdragModifiedEditingEnabled = false;
+		private LegislativeClass? _legislativeClass;
+		private ConsumerTechnology? _doorDriveTechnology;
+		private TankSystem? _tankSystem;
+		private Kilogram _curbMassChassis;
+		private Meter _length;
+		private Meter _height;
+		private Meter _width;
+
+
+		public string Manufacturer
+		{
+			get { return _manufacturer; }
+			set
+			{
+				SetProperty(ref _manufacturer, value);
+			}
+		}
+
+		public string Model
+		{
+			get { return _model; }
+			set { SetProperty(ref _model, value); }
+		}
+
+		public string VIN
+		{
+			get { return _vin; }
+			set { SetProperty(ref _vin, value); }
+		}
+
+		public string ManufacturerAddress
+		{
+			get { return String.IsNullOrEmpty(_manufacturerAddress) ? null : _manufacturerAddress; }
+			set { SetProperty(ref _manufacturerAddress, value); }
+		}
+
+		#region Measurements
+		public bool MeasurementsGroupEditingEnabled
+		{
+			get { return _measurementsGroupEditingEnabled; }
+			set { SetProperty(ref _measurementsGroupEditingEnabled, value); }
+		}
+
+		public ConvertedSI HeightInMm
+		{
+			get { return Height?.ConvertToMilliMeter(); }
+			set { Height = value?.ConvertToMeter(); }
+		}
+
+		public ConvertedSI ConsolidatedHeightInMm
+		{
+			get { return ConsolidatedVehicleData?.Height?.ConvertToMilliMeter(); }
+			set { throw new NotImplementedException(); }
+		}
+
+		public Meter Height
+		{
+			get { return _height; }
+			set
+			{
+				SetProperty(ref _height, value);
+				//OnPropertyChanged(nameof(HeightInMm));
+			}
+		}
+
+		public ConvertedSI LengthInMm
+		{
+			get { return Length?.ConvertToMilliMeter(); }
+			set { Length = value?.ConvertToMeter(); }
+		}
+
+		public ConvertedSI ConsolidatedLengthInMm
+		{
+			get { return ConsolidatedVehicleData?.Length?.ConvertToMilliMeter(); }
+			set { throw new NotImplementedException(); }
+		}
+
+
+		public Meter Length
+		{
+			get { return _length; }
+			set
+			{
+				SetProperty(ref _length, value);
+				//OnPropertyChanged(nameof(LengthInMm));
+			}
+		}
+
+		public ConvertedSI WidthInMm
+		{
+			get { return Width?.ConvertToMilliMeter(); }
+			set { Width = value?.ConvertToMeter(); }
+		}
+
+		public ConvertedSI ConsolidatedWidthInMm
+		{
+			get { return ConsolidatedVehicleData?.Width?.ConvertToMilliMeter(); }
+			set { throw new NotImplementedException(); }
+		}
+
+
+		public Meter Width
+		{
+			get { return _width; }
+			set
+			{
+				SetProperty(ref _width, value);
+				//OnPropertyChanged(nameof(WidthInMm));
+			}
+		}
+
+		public ConvertedSI ConsolidatedEntranceHeightInMm
+		{
+			get { return ConsolidatedVehicleData?.EntranceHeight?.ConvertToMilliMeter(); }
+			set { throw new NotImplementedException(); }
+		}
+
+		public ConvertedSI EntranceHeightInMm
+		{
+			get { return EntranceHeight?.ConvertToMilliMeter(); }
+			set
+			{
+				EntranceHeight = value?.ConvertToMeter(); 
+				
+			}
+		}
+
+
+		public Meter EntranceHeight
+		{
+			get => _entranceHeight;
+			set
+			{
+				SetProperty(ref _entranceHeight, value);
+				//OnPropertyChanged(nameof(EntranceHeightInMm));
+			}
+		}
+
+		#endregion
+		public Kilogram CurbMassChassis //Corrected Actual Mass
+		{
+			get { return _curbMassChassis; }
+			set { SetProperty(ref _curbMassChassis, value); }
+		}
+
+		public bool NumberOfPassengersEditingEnabled
+		{
+			get { return _numberOfPassengersEditingEnabled; }
+			set { SetProperty(ref _numberOfPassengersEditingEnabled, value); }
+		}
+
+
+		public int? NumberOfPassengersUpperDeck
+		{
+			get { return _numberOfPassengersUpperDeck; }
+			set { SetProperty(ref _numberOfPassengersUpperDeck, value); }
+		}
+
+		public int? NumberOfPassengersLowerDeck
+		{
+			get { return _numberOfPassengersLowerDeck; }
+			set { SetProperty(ref _numberOfPassengersLowerDeck, value); }
+		}
+
+
+		public TankSystem? TankSystem
+		{
+			get { return _tankSystem; }
+			set { SetProperty(ref _tankSystem, value); }
+		}
+
+		public Kilogram GrossVehicleMassRating //Technical Permissible Maximum Laden Mass
+		{
+			get => _grossVehicleMassRating;
+			set => SetProperty(ref _grossVehicleMassRating, value);
+		}
+
+		public ConsumerTechnology? DoorDriveTechnology
+		{
+			get => _doorDriveTechnology;
+			set => SetProperty(ref _doorDriveTechnology, value);
+		}
+
+		public LegislativeClass? LegislativeClass
+		{
+			get => _legislativeClass;
+			set => SetProperty(ref _legislativeClass, value);
+		}
+
+        #region AirdragModified
+		
+
+        public AIRDRAGMODIFIED? AirdragModifiedEnum
+		{
+			get
+			{
+				if (AirdragModifiedMultistageEditingEnabled) {
+					return _airdragModifiedMultistage.toAirdragModifiedEnum();
+				} else {
+					return null;
+				}
+			}
+			set {
+				AirdragModifiedMultistage = value?.toNullableBool();
+			}
+		}
+
+		public AIRDRAGMODIFIED? ConsolidatedAirdragmodified
+		{
+			get
+			{
+				if (_consolidatedVehicleData?.AirdragModifiedMultistage != null) {
+					return _consolidatedVehicleData.AirdragModifiedMultistage.toAirdragModifiedEnum();
+				} else {
+					return null;
+				}
+			}
+			set => throw new NotImplementedException();
+		}
+
+		public bool? AirdragModifiedMultistage
+		{
+			get => _airdragModifiedMultistage;
+			set => SetProperty(ref _airdragModifiedMultistage, value);
+		}
+
+		
+		public bool AirdragModifiedMultistageEditingEnabled
+		{
+			get
+			{
+				//IF MODIFIED ONCE IT HAS TO BE SET
+				if (_consolidatedVehicleData?.AirdragModifiedMultistage != null) {
+					_airdragModifiedEditingEnabled = true;
+				}
+				return _airdragModifiedEditingEnabled;
+			}
+			set{
+				SetProperty(ref _airdragModifiedEditingEnabled, value);
+			}
+				
+		}
+		#endregion;
+
+		public RegistrationClass? RegisteredClass
+		{
+			get => _registeredClass;
+			set => SetProperty(ref _registeredClass, value);
+		}
+
+		public VehicleCode? VehicleCode
+		{
+			get => _vehicleCode;
+			set => SetProperty(ref _vehicleCode, value);
+		}
+
+		public ObservableCollection<Enum> VehicleCodeAllowedValues { get; } = 
+			new ObservableCollection<Enum>(Enum.GetValues(typeof(VehicleCode)).Cast<Enum>().ToList().Where(
+				(e => (VehicleCode)e != TUGraz.VectoCommon.Models.VehicleCode.NOT_APPLICABLE)));
+
+
+        public bool? LowEntry
+		{
+			get => _lowEntry;
+			set => SetProperty(ref _lowEntry, value);
+		}
+
+		
+
+
+
+		public VehicleDeclarationType VehicleDeclarationType
+		{
+			get => _vehicleDeclarationType;
+			set => SetProperty(ref _vehicleDeclarationType, value);
+		}
+
+		#endregion
+
+
+		private string _identifier;
+		private IVehicleDeclarationInputData _consolidatedVehicleData;
+		private VehicleDeclarationType _vehicleDeclarationType;
+
+
+		#region implementation of IVehicleComponentsDeclaration
+
+		public IAirdragDeclarationInputData AirdragInputData
+		{
+			get => MultistageAirdragViewModel.AirDragViewModel;
+		}
+
+		public IBusAuxiliariesDeclarationData BusAuxiliaries
+		{
+			get => MultistageAuxiliariesViewModel.HasValues ? MultistageAuxiliariesViewModel : null;
+		}
+
+		#region not implemented
+
+		public string LegislativeCategory
+		{
+			get => throw new NotImplementedException();
+		}
+		public IGearboxDeclarationInputData GearboxInputData => throw new NotImplementedException();
+
+		public ITorqueConverterDeclarationInputData TorqueConverterInputData => throw new NotImplementedException();
+
+		public IAxleGearInputData AxleGearInputData => throw new NotImplementedException();
+
+		public IAngledriveInputData AngledriveInputData => throw new NotImplementedException();
+
+		public IEngineDeclarationInputData EngineInputData => throw new NotImplementedException();
+
+		public IAuxiliariesDeclarationInputData AuxiliaryInputData => throw new NotImplementedException();
+
+		public IRetarderInputData RetarderInputData => throw new NotImplementedException();
+
+		public IPTOTransmissionInputData PTOTransmissionInputData => throw new NotImplementedException();
+
+		public IAxlesDeclarationInputData AxleWheels => throw new NotImplementedException();
+
+
+		public IElectricStorageDeclarationInputData ElectricStorage => throw new NotImplementedException();
+
+		public IElectricMachinesDeclarationInputData ElectricMachines => throw new NotImplementedException();
+
+		#endregion
+
+		#endregion
+
+
+
+		#region implementation of IAdvancedDriverAssistantSystemDeclarationInputData
+
+		private PredictiveCruiseControlType _predictiveCruiseControl;
+		private bool? _atEcoRollReleaseLockupClutch;
+		private EcoRollType _ecoRoll;
+		private bool _engineStopStart;
+		private bool _adasEditingEnabled;
+		private bool? _engineStopStartNullable;
+		private EcoRollType? _ecoRollTypeNullable;
+		private PredictiveCruiseControlType? _predictiveCruiseControlNullable;
+
+
+
+		public IAdvancedDriverAssistantSystemDeclarationInputData ADAS
+		{
+			get
+			{
+				if (EngineStopStartNullable.HasValue 
+					|| EcoRollTypeNullable.HasValue
+					|| PredictiveCruiseControlNullable.HasValue
+					|| ATEcoRollReleaseLockupClutch.HasValue) {
+					return this;
+				} else {
+					return null;
+				}
+			;
+		}
+
+				
+			
+		}
+
+		public bool AdasEditingEnabled
+		{
+			get => _adasEditingEnabled;
+			set
+			{
+				SetProperty(ref _adasEditingEnabled, value);
+			}
+		}
+
+		public bool? EngineStopStartNullable
+		{
+			get => _engineStopStartNullable;
+			set
+			{
+				SetProperty(ref _engineStopStartNullable, value);
+			}
+		}
+
+		public bool EngineStopStart
+		{
+			get
+			{
+				return _engineStopStartNullable.HasValue ? _engineStopStartNullable.Value : false;
+			}
+		}
+
+		public EcoRollType? EcoRollTypeNullable
+		{
+			get => _ecoRollTypeNullable;
+			set
+			{
+				SetProperty(ref _ecoRollTypeNullable, value);
+			}
+		}
+
+		public EcoRollType EcoRoll
+		{
+			get
+			{
+				return _ecoRollTypeNullable.HasValue ? _ecoRollTypeNullable.Value : EcoRollType.None;
+			}
+		}
+
+		public PredictiveCruiseControlType? PredictiveCruiseControlNullable
+		{
+			get => _predictiveCruiseControlNullable;
+			set
+			{
+				SetProperty(ref _predictiveCruiseControlNullable, value);
+			}
+		}
+
+		public PredictiveCruiseControlType PredictiveCruiseControl
+		{
+			get
+			{
+				return _predictiveCruiseControlNullable.HasValue
+					? _predictiveCruiseControlNullable.Value
+					: PredictiveCruiseControlType.None;
+			}
+		}
+
+		public bool? ATEcoRollReleaseLockupClutch
+		{
+			get => _atEcoRollReleaseLockupClutch;
+			set
+			{
+				SetProperty(ref _atEcoRollReleaseLockupClutch, value);
+			}
+		}
+
+		#endregion
+
+
+		#region implementation of IVehicleDeclarationInputData;
+
+		public DateTime Date
+		{
+			get => DateTime.Today;
+		}
+
+		public string AppVersion
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public CertificationMethod CertificationMethod
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public string CertificationNumber
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public DigestData DigestValue
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public string Identifier
+		{
+			get
+			{
+				return _identifier;
+			}
+			private set
+			{
+				SetProperty(ref _identifier, value);
+			}
+		}
+
+		public bool ExemptedVehicle
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+
+
+		public VehicleCategory VehicleCategory
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public AxleConfiguration AxleConfiguration
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+
+
+
+		public IList<ITorqueLimitInputData> TorqueLimits
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+
+		public PerSecond EngineIdleSpeed
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public bool VocationalVehicle
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public bool SleeperCab
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+
+
+
+
+
+
+		public bool ZeroEmissionVehicle
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public bool HybridElectricHDV
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public bool DualFuelVehicle
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public Watt MaxNetPower1
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public Watt MaxNetPower2
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+
+
+		public CubicMeter CargoVolume
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+
+		public bool Articulated
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+
+
+
+
+		public IVehicleComponentsDeclaration Components
+		{
+			get
+			{
+				if (AirdragInputData != null || BusAuxiliaries != null) {
+					return this;
+				} else {
+					return null;
+				}
+			}
+		}
+
+		
+		public XmlNode XMLSource
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public IPTOViewModel PTOViewModel
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public RetarderType RetarderType
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public double RetarderRatio
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		public AngledriveType AngledriveType
+		{
+			get { throw new NotImplementedException(); }
+		}
+
+		#endregion;
+
+
+
+		#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 == AIRDRAGMODIFIED.UNKNOWN)) {
+							result = "Air drag modified has to be set";
+						}
+						break;
+				}
+				//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/InterimStageViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageViewModel.cs
deleted file mode 100644
index 3df39723bd1edd2136a2fa2fc7c43564c2dfde48..0000000000000000000000000000000000000000
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageViewModel.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using TUGraz.VectoCommon.InputData;
-using VECTO3GUI2020.ViewModel.Implementation.Common;
-
-namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
-{
-    public class InterimStageViewModel : ViewModelBase, IManufacturingStageViewModel
-	{
-		private DigestData _hashPreviousStage;
-		private int _stageCount;
-		private IVehicleDeclarationInputData _vehicle;
-		private IApplicationInformation _applicationInformation;
-		private DigestData _signature;
-
-		public DigestData HashPreviousStage => _hashPreviousStage;
-
-		public int StageCount => _stageCount;
-
-		public IVehicleDeclarationInputData Vehicle => _vehicle;
-
-		public IApplicationInformation ApplicationInformation => _applicationInformation;
-
-		public DigestData Signature => _signature;
-	}
-}
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs
index 1bc6d2d42bc1d7205a2e04794b87ae1cc14f8bd9..ae4fa9940d3b4d85fc9c30c304ed02ee30693684 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs
@@ -22,7 +22,7 @@ using VECTO3GUI2020.ViewModel.MultiStage.Interfaces;
 
 namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 {
-    public class ManufacturingStageViewModel_v0_1 : ViewModelBase, IManufacturingStageViewModel
+	public class ManufacturingStageViewModel_v0_1 : ViewModelBase, IManufacturingStageViewModel
 	{
 		public static readonly string INPUTPROVIDERTYPE = typeof(XMLDeclarationMultistageTypeInputDataV01).ToString();
 		public static readonly string QualifiedXSD = XMLDeclarationMultistageTypeInputDataV01.QUALIFIED_XSD_TYPE;
@@ -51,11 +51,11 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 		private IApplicationInformation _applicationInformation = new ApplicationInformation {
 			Date = DateTime.Today,
 		};
-		private IVehicleViewModel _vehicleViewModel;
+		private IMultistageVehicleViewModel _vehicleViewModel;
 		private IMultiStageViewModelFactory _viewModelFactory;
 		private IViewModelBase _currentview;
 
-		public IVehicleViewModel VehicleViewModel
+		public IMultistageVehicleViewModel VehicleViewModel
 		{
 			get => _vehicleViewModel;
 			set => SetProperty(ref _vehicleViewModel, value);
@@ -68,34 +68,47 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 		} 
 
 		public DigestData Signature => throw new NotImplementedException();
+		public void SetInputData(IVehicleDeclarationInputData vehicleInputData)
+		{
+			_vehicleViewModel.SetVehicleInputData(vehicleInputData);
+			_vehicleViewModel.MultistageAirdragViewModel.SetAirdragInputData(vehicleInputData?.Components?.AirdragInputData);
+			_vehicleViewModel.MultistageAuxiliariesViewModel.SetAuxiliariesInputData(vehicleInputData?.Components?.BusAuxiliaries);
+
+		}
 
 
-		public ManufacturingStageViewModel_v0_1(IManufacturingStageInputData prevStageInputData, IMultiStageViewModelFactory viewModelFactory)
+		public ManufacturingStageViewModel_v0_1(IManufacturingStageInputData consolidatedManufacturingStageInputData, IMultiStageViewModelFactory viewModelFactory)
 		{
 			_viewModelFactory = viewModelFactory;
-			StageCount = prevStageInputData.StageCount + 1;
-			HashPreviousStage = prevStageInputData.Signature;
-
-
+			
+			_stageCount = consolidatedManufacturingStageInputData?.StageCount + 1 ?? 2;
 
+			_consolidatedManufacturingStageInputData = consolidatedManufacturingStageInputData;
 
 
+			VehicleViewModel = (IMultistageVehicleViewModel)_viewModelFactory.GetInterimStageVehicleViewModel(consolidatedManufacturingStageInputData?.Vehicle);
+			CurrentView = VehicleViewModel as IViewModelBase;
 
 
-			VehicleViewModel =
-				_viewModelFactory.CreateInterimStageVehicleViewModel(prevStageInputData.Vehicle.GetType().ToString(), prevStageInputData.Vehicle);
-			CurrentView = VehicleViewModel as IViewModelBase;
 			Components.Add(VehicleViewModel.Name, VehicleViewModel as IViewModelBase);
 
 
-			var airDragEditViewModel = viewModelFactory.CreateMultistageAirdragViewModel();
-			Components.Add("Airdrag", airDragEditViewModel as IViewModelBase);
+			
+			Components.Add("Airdrag", VehicleViewModel.MultistageAirdragViewModel as IViewModelBase);
+
+			Components.Add("Auxiliaries", VehicleViewModel.MultistageAuxiliariesViewModel as IViewModelBase);
 		}
 
 
-		private ICommand _switchComponentViewCommand;
+		
 		private int _stageCount;
 		private DigestData _hashPreviousStage;
+		private IManufacturingStageInputData _consolidatedManufacturingStageInputData;
+
+		#region Commands
+
+		private ICommand _switchComponentViewCommand;
+
 
 		public ICommand SwitchComponentViewCommand
 		{
@@ -113,6 +126,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 			}
 		}
 
+		#endregion
+
 		private class ApplicationInformationMultistage : IApplicationInformation
 		{
 			public string SimulationToolVersion => "VECTO3";
@@ -123,9 +138,6 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 
 	public interface IManufacturingStageViewModel : IManufacturingStageInputData
 	{
-
-
-
-		
+		void SetInputData(IVehicleDeclarationInputData vehicleInputData);
 	}
 }
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs
index 34e78a737068f954bf85d8ef7974b432b52eaee9..e3e54ba60dd8c98fa6469d4c4d09e38ea78c54e6 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs
@@ -1,26 +1,47 @@
 using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
 using System.Windows;
 using System.Windows.Input;
+using System.Xml;
+using System.Xml.Linq;
+using System.Xml.Schema;
+using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Resources;
+using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory;
+using TUGraz.VectoCore.Utils;
 using VECTO3GUI2020.Helper;
+using VECTO3GUI2020.Ninject;
 using VECTO3GUI2020.Properties;
 using VECTO3GUI2020.Util;
-using VECTO3GUI2020.ViewModel.Implementation.Common;
 using VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle.Components;
 using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle.Components;
 using VECTO3GUI2020.ViewModel.MultiStage.Interfaces;
+using ViewModelBase = VECTO3GUI2020.ViewModel.Implementation.Common.ViewModelBase;
+using XmlDocumentType = System.Xml.XmlDocumentType;
 
 namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 {
 	public class MultistageAirdragViewModel : ViewModelBase, IMultistageAirdragViewModel
 	{
-		private IDialogHelper _dialogHelper;
-		private IXMLInputDataReader _inputDataReader;
-		private IComponentViewModelFactory _componentViewModelFactory;
 		private IAirDragViewModel _airdragViewModel;
-		private bool _airdragModified;
 
+		public string AirdragFilePath
+		{
+			get
+			{
+				return AirDragViewModel?.DataSource.SourceFile.ToString();
+			} 
+			set => SetProperty(ref _airdragFilePath, value);
+		}
 
 		public IAirDragViewModel AirDragViewModel
 		{
@@ -28,16 +49,42 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 			set => SetProperty(ref _airdragViewModel, value);
 		}
 
-		public bool AirdragModified
+		public void SetAirdragInputData(IAirdragDeclarationInputData airdragInputData)
 		{
-			get => _airdragModified;
-			set => SetProperty(ref _airdragModified, value);
+			Debug.WriteLine("[MultistageAirdragViewModel] loaded AirdragInputData");
+			if (airdragInputData == null) {
+				AirDragViewModel = null;
+				return;
+				
+			}
+			AirDragViewModel = _dependencies.ComponentViewModelFactory.CreateComponentViewModel(airdragInputData) as IAirDragViewModel;
+			if (AirDragViewModel != null) {
+				AirDragViewModel.LabelVisible = false;
+				AirDragViewModel.IsReadOnly = true;
+			}
+		}
+
+		public IAirdragDeclarationInputData ConsolidatedAirdragData
+		{
+			get => _consolidatedAirdragInputData;
+			set => SetProperty(ref _consolidatedAirdragInputData, value);
 		}
 
 
 		#region Commands
 
+
+
 		private ICommand _loadAirdragFileCommand;
+		private ICommand _removeAirdragDataCommand;
+
+
+
+		private Dictionary<string, string> _validationErrors;
+
+		private IAirdragDeclarationInputData _consolidatedAirdragInputData;
+		private string _airdragFilePath;
+		private readonly IMultistageDependencies _dependencies;
 
 		public ICommand LoadAirdragFileCommand
 		{
@@ -46,31 +93,126 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 
 		public void LoadAirdragFileCommandExecute()
 		{
-			var fileName = _dialogHelper.OpenXMLFileDialog(Settings.Default.DefaultFilePath);
-
+			var fileName =_dependencies.DialogHelper.OpenXMLFileDialog();
+			if (fileName == null) {
+				return;
+			}
+			var success = true;
+			var errorStringBuilder = new StringBuilder();
 			try {
-				IAirdragDeclarationInputData airdragInputData = _inputDataReader.Create(fileName) as IAirdragDeclarationInputData;
-				AirDragViewModel = (AirDragViewModel)_componentViewModelFactory.CreateComponentViewModel(airdragInputData);
-				AirdragModified = true;
-
-
+				var xDoc = XDocument.Load(fileName);
+				var doc = new XmlDocument();
+				doc.Load(fileName);
+
+				var airdragElements = xDoc.Descendants().Where(e => e.Name.LocalName == XMLNames.Component_AirDrag);
+				if (airdragElements.Count() == 1) {
+
+					//GET FROM FILE
+					var dataProviderVersion = XMLDeclarationAirdragDataProviderV20.QUALIFIED_XSD_TYPE;
+					
+
+					var validator = new XMLValidator(doc);
+					var valid = validator.ValidateXML(TUGraz.VectoCore.Utils.XmlDocumentType
+						.DeclarationComponentData);
+					if (!valid) {
+						throw new VectoException("Invalid input file");
+					}
+					
+					//dataProviderVersion = XMLHelper.GetVersion(doc.Node);
+
+					XElement airdragElement = airdragElements.First();
+					XmlNode airdragNode = airdragElement.ToXmlNode();
+
+					var airDragInputData = _dependencies.InjectFactory.CreateAirdragData(dataProviderVersion, null, airdragNode, fileName);
+					AirDragViewModel = _dependencies.ComponentViewModelFactory.CreateComponentViewModel(airDragInputData) as IAirDragViewModel;
+					AirDragViewModel.IsReadOnly = true;
+					AirDragViewModel.LabelVisible = false;
+					success = true;
+				} else {
+					success = false;
+				}
 			}
 			catch (Exception e) {
-				_dialogHelper.ShowMessageBox(e.Message, "Invalid File", MessageBoxButton.OK,
+				_dependencies.DialogHelper.ShowMessageBox(e.Message, 
+					"Invalid File", 
+					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;
+			if (xmlException != null)
+			{
+				var message = xmlException.InnerException;
+				var sourceObject = xmlException.SourceObject as XmlElement;
+				var localName = sourceObject?.LocalName;
+
+				if (sourceObject != null)
+					_validationErrors.Add(localName, message?.Message);
 			}
 		}
 
+		public ICommand RemoveAirdragDataCommand{
+			get => _removeAirdragDataCommand ?? new RelayCommand(() => {
+				AirDragViewModel = null;
+				OnPropertyChanged(nameof(AirdragFilePath));
+			},  () => AirDragViewModel != null);
+		}
+
 		#endregion
 
 
 
 
-		public MultistageAirdragViewModel(IDialogHelper dialogHelper, IXMLInputDataReader inputDataReader, IComponentViewModelFactory componentViewModelFactory)
+		public MultistageAirdragViewModel(IMultistageDependencies dependencies)
 		{
-			_dialogHelper = dialogHelper;
-			_inputDataReader = inputDataReader;
-			_componentViewModelFactory = componentViewModelFactory;
+			_dependencies = dependencies;
+			_airdragFilePath = "Select Airdrag File - if no file is selected a default Airdrag Component is loaded";
 		}
+
+		public MultistageAirdragViewModel(IAirdragDeclarationInputData consolidatedAirdragInputData,
+			IMultistageDependencies multistageDependencies) : this(multistageDependencies)
+		{
+			ConsolidatedAirdragData = consolidatedAirdragInputData;
+		}
+
+		public DataSource DataSource => _airdragViewModel?.DataSource;
+
+		public bool SavedInDeclarationMode => _airdragViewModel?.SavedInDeclarationMode ?? false;
+
+		public string Manufacturer => _airdragViewModel?.Manufacturer;
+
+		public string Model => _airdragViewModel?.Model;
+
+		public DateTime Date => _airdragViewModel.Date;
+
+		public string AppVersion => _airdragViewModel.AppVersion;
+
+		public CertificationMethod CertificationMethod => _airdragViewModel.CertificationMethod;
+
+		public string CertificationNumber => _airdragViewModel.CertificationNumber;
+
+		public DigestData DigestValue => _airdragViewModel.DigestValue;
+
+		public SquareMeter AirDragArea => _airdragViewModel.AirDragArea;
+
+		public SquareMeter TransferredAirDragArea => _airdragViewModel.TransferredAirDragArea;
+
+		public SquareMeter AirDragArea_0 => _airdragViewModel.AirDragArea_0;
 	}
 }
\ No newline at end of file
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAuxiliariesViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAuxiliariesViewModel.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f41ebb6fabc2f4b64831af84da257d90ea83b69f
--- /dev/null
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAuxiliariesViewModel.cs
@@ -0,0 +1,367 @@
+using System;
+using System.Collections.Generic;
+using System.Xml;
+using TUGraz.VectoCommon.BusAuxiliaries;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using VECTO3GUI2020.ViewModel.Implementation.Common;
+
+namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
+{
+
+	public interface IMultistageAuxiliariesViewModel : IBusAuxiliariesDeclarationData,
+		IElectricSupplyDeclarationData,
+		IPneumaticSupplyDeclarationData,
+		IElectricConsumersDeclarationData,
+		IPneumaticConsumersDeclarationData,
+		IHVACBusAuxiliariesDeclarationData
+	{
+		void SetAuxiliariesInputData(IBusAuxiliariesDeclarationData componentsAuxiliaryInputData);
+		bool HasValues { get; }
+	}
+
+
+	public class MultistageAuxiliariesViewModel : ViewModelBase, IMultistageAuxiliariesViewModel
+	{
+
+		private IBusAuxiliariesDeclarationData _consolidatedInputData;
+
+
+		public IBusAuxiliariesDeclarationData ConsolidatedInputData
+		{
+			get => _consolidatedInputData;
+			set => SetProperty(ref _consolidatedInputData, value);
+		}
+
+		public bool HasValues
+		{
+			get
+			{
+				var hasValues = false;
+
+
+				//Check if one of the Implemented properties of is not null
+				var HVACinterfaceProperties = typeof(IHVACBusAuxiliariesDeclarationData).GetProperties();
+
+				var notImplemented = new List<string>(new string[] {
+					nameof(IHVACBusAuxiliariesDeclarationData.AdjustableCoolantThermostat),
+					nameof(IHVACBusAuxiliariesDeclarationData.EngineWasteGasHeatExchanger)
+				});
+				foreach (var propInfo in HVACinterfaceProperties) {
+					if (notImplemented.Contains(propInfo.Name)) continue;
+					hasValues = hasValues || propInfo.GetValue(this) != null;
+				}
+
+
+				var ElectricConsumersInterfaceProperties = typeof(IElectricConsumersDeclarationData).GetProperties();
+				foreach (var propInfo in ElectricConsumersInterfaceProperties) {
+					hasValues = hasValues || propInfo.GetValue(this) != null;
+				}
+
+
+
+				return hasValues;
+			}
+		}
+
+
+		#region HVAC
+
+		private bool _heatPumpGroupEditingEnabled;
+		private BusHVACSystemConfiguration? _systemConfiguration;
+		private HeatPumpType? _heatPumpTypeDriverCompartment;
+		private HeatPumpMode? _heatPumpModeDriverCompartment;
+		private HeatPumpType? _heatPumpTypePassengerCompartment;
+		private HeatPumpMode? _heatPumpModePassengerCompartment;
+
+
+
+
+		public IHVACBusAuxiliariesDeclarationData HVACAux
+		{
+			get => this;
+			set => throw new NotImplementedException();
+		}
+
+
+		private Watt _auxHeaterPower;
+		private bool? _doubleGlazing;
+		private bool? _adjustableAuxiliaryHeater;
+		private bool? _separateAirDistributionDucts;
+		private bool? _waterElectricHeater;
+		private bool? _airElectricHeater;
+		private bool? _otherHeatingTechnology;
+
+
+		public Watt AuxHeaterPower
+		{
+			get => _auxHeaterPower;
+			set => SetProperty(ref _auxHeaterPower, value);
+		}
+
+		public bool? DoubleGlazing
+		{
+			get => _doubleGlazing;
+			set => SetProperty(ref _doubleGlazing, value);
+		}
+
+		public bool? AdjustableAuxiliaryHeater
+		{
+			get => _adjustableAuxiliaryHeater;
+			set => SetProperty(ref _adjustableAuxiliaryHeater, value);
+		}
+
+		public bool? SeparateAirDistributionDucts
+		{
+			get => _separateAirDistributionDucts;
+			set => SetProperty(ref _separateAirDistributionDucts, value);
+		}
+
+		public bool? WaterElectricHeater
+		{
+			get => _waterElectricHeater;
+			set => SetProperty(ref _waterElectricHeater, value);
+		}
+
+		public bool? AirElectricHeater
+		{
+			get => _airElectricHeater;
+			set => SetProperty(ref _airElectricHeater, value);
+		}
+
+		public bool? OtherHeatingTechnology
+		{
+			get => _otherHeatingTechnology;
+			set => SetProperty(ref _otherHeatingTechnology, value);
+		}
+
+		public bool? AdjustableCoolantThermostat => throw new NotImplementedException();
+
+		public bool EngineWasteGasHeatExchanger => throw new NotImplementedException();
+
+		public bool HeatPumpGroupEditingEnabled
+		{
+			get => _heatPumpGroupEditingEnabled;
+			set => SetProperty(ref _heatPumpGroupEditingEnabled, value);
+		}
+
+		public BusHVACSystemConfiguration? SystemConfiguration
+		{
+			get => _systemConfiguration;
+			set => SetProperty(ref _systemConfiguration, value);
+		}
+
+		public HeatPumpType? HeatPumpTypeDriverCompartment
+		{
+			get => _heatPumpTypeDriverCompartment;
+			set => SetProperty(ref _heatPumpTypeDriverCompartment, value);
+		}
+
+		public HeatPumpMode? HeatPumpModeDriverCompartment
+		{
+			get => _heatPumpModeDriverCompartment;
+			set => SetProperty(ref _heatPumpModeDriverCompartment, value);
+		}
+
+		public HeatPumpType? HeatPumpTypePassengerCompartment
+		{
+			get => _heatPumpTypePassengerCompartment;
+			set => SetProperty(ref _heatPumpTypePassengerCompartment, value);
+		}
+
+		public HeatPumpMode? HeatPumpModePassengerCompartment
+		{
+			get => _heatPumpModePassengerCompartment;
+			set => SetProperty(ref _heatPumpModePassengerCompartment, value);
+		}
+
+#endregion
+		#region IElectricConsumersDeclaration
+
+		//LED lights
+		private bool? _interiorLightsLed;
+		private bool? _dayrunninglightsLed;
+		private bool? _positionlightsLed;
+		private bool? _headlightsLed;
+		private bool? _brakelightsLed;
+	
+
+		public bool? InteriorLightsLED
+		{
+			get => _interiorLightsLed;
+			set => SetProperty(ref _interiorLightsLed, value);
+		}
+
+		public bool? DayrunninglightsLED
+		{
+			get => _dayrunninglightsLed;
+			set => SetProperty(ref _dayrunninglightsLed, value);
+		}
+
+		public bool? PositionlightsLED
+		{
+			get => _positionlightsLed;
+			set => SetProperty(ref _positionlightsLed, value);
+		}
+
+		public bool? HeadlightsLED
+		{
+			get => _headlightsLed;
+			set => SetProperty(ref _headlightsLed, value);
+		}
+
+		public bool? BrakelightsLED
+		{
+			get => _brakelightsLed;
+			set => SetProperty(ref _brakelightsLed, value);
+		}
+
+
+
+		#endregion
+		#region IPneumaticSuppyDeclarationData
+		public IPneumaticSupplyDeclarationData PneumaticSupply
+		{
+			get => this;
+			set => throw new NotImplementedException();
+		}
+
+		private CompressorDrive _compressorDrive;
+		public CompressorDrive CompressorDrive
+		{
+			get => _compressorDrive;
+			set => SetProperty(ref _compressorDrive, value);
+		}
+
+
+		#endregion
+
+
+		#region Implementation of interfaces (unused Properties);
+
+		public XmlNode XMLSource => throw new NotImplementedException();
+
+		public string FanTechnology => throw new NotImplementedException();
+
+		public IList<string> SteeringPumpTechnology => throw new NotImplementedException();
+
+		public IElectricSupplyDeclarationData ElectricSupply
+		{
+			get => this;
+			set => throw new NotImplementedException();
+		}
+
+		public IElectricConsumersDeclarationData ElectricConsumers
+		{
+			get => this;
+			set => throw new NotImplementedException();
+		}
+
+		
+
+		public IPneumaticConsumersDeclarationData PneumaticConsumers
+		{
+			get => this;
+			set => throw new NotImplementedException();
+		}
+
+	
+
+
+
+		#endregion
+		public void SetAuxiliariesInputData(IBusAuxiliariesDeclarationData componentsAuxiliaryInputData)
+		{
+			if (componentsAuxiliaryInputData == null) {
+				return;
+			}
+
+			HeatPumpGroupEditingEnabled = componentsAuxiliaryInputData.HVACAux != null;
+			SystemConfiguration = componentsAuxiliaryInputData.HVACAux?.SystemConfiguration;
+			HeatPumpTypeDriverCompartment = componentsAuxiliaryInputData.HVACAux?.HeatPumpTypeDriverCompartment;
+			HeatPumpModeDriverCompartment = componentsAuxiliaryInputData.HVACAux?.HeatPumpModeDriverCompartment;
+			HeatPumpTypePassengerCompartment = componentsAuxiliaryInputData.HVACAux?.HeatPumpTypePassengerCompartment;
+			HeatPumpModePassengerCompartment = componentsAuxiliaryInputData.HVACAux?.HeatPumpModePassengerCompartment;
+
+			AuxHeaterPower = componentsAuxiliaryInputData.HVACAux?.AuxHeaterPower;
+			DoubleGlazing = componentsAuxiliaryInputData.HVACAux?.DoubleGlazing;
+			AdjustableAuxiliaryHeater = componentsAuxiliaryInputData.HVACAux?.AdjustableAuxiliaryHeater;
+			SeparateAirDistributionDucts = componentsAuxiliaryInputData.HVACAux?.SeparateAirDistributionDucts;
+			WaterElectricHeater = componentsAuxiliaryInputData.HVACAux?.WaterElectricHeater;
+			AirElectricHeater = componentsAuxiliaryInputData.HVACAux?.AirElectricHeater;
+			OtherHeatingTechnology = componentsAuxiliaryInputData.HVACAux?.OtherHeatingTechnology;
+
+			InteriorLightsLED = componentsAuxiliaryInputData.ElectricConsumers?.InteriorLightsLED;
+			DayrunninglightsLED = componentsAuxiliaryInputData.ElectricConsumers?.DayrunninglightsLED;
+			PositionlightsLED = componentsAuxiliaryInputData.ElectricConsumers?.PositionlightsLED;
+			HeadlightsLED = componentsAuxiliaryInputData.ElectricConsumers?.HeadlightsLED;
+			BrakelightsLED = componentsAuxiliaryInputData.ElectricConsumers?.BrakelightsLED;
+		}
+
+		private void ResetData()
+		{
+			HeatPumpGroupEditingEnabled = false;
+			SystemConfiguration = null;
+			HeatPumpTypeDriverCompartment = null;
+			HeatPumpModeDriverCompartment = null;
+			HeatPumpTypePassengerCompartment = null;
+			HeatPumpModePassengerCompartment = null;
+
+			AuxHeaterPower = null;
+			DoubleGlazing = null;
+			AdjustableAuxiliaryHeater = null;
+			SeparateAirDistributionDucts = null;
+			WaterElectricHeater = null;
+			AirElectricHeater = null;
+			OtherHeatingTechnology = null;
+
+			InteriorLightsLED = null;
+			DayrunninglightsLED = null;
+			PositionlightsLED = null;
+			HeadlightsLED = null;
+			BrakelightsLED = null;
+		}
+
+		public MultistageAuxiliariesViewModel(IBusAuxiliariesDeclarationData consolidatedAuxiliariesInputData)
+		{
+			ConsolidatedInputData = consolidatedAuxiliariesInputData;
+		}
+
+		#region Implementation of IElectricSupplyDeclarationData
+
+		public IList<IAlternatorDeclarationInputData> Alternators => throw new NotImplementedException();
+
+		public bool SmartElectrics => throw new NotImplementedException();
+
+		public Watt MaxAlternatorPower => throw new NotImplementedException();
+
+		public WattSecond ElectricStorageCapacity => throw new NotImplementedException();
+
+		#endregion
+
+		#region Implementation of IPneumaticSupplyDeclarationData
+
+		
+
+		public string Clutch => throw new NotImplementedException();
+
+		public double Ratio => throw new NotImplementedException();
+
+		public string CompressorSize => throw new NotImplementedException();
+
+		public bool SmartAirCompression => throw new NotImplementedException();
+
+		public bool SmartRegeneration => throw new NotImplementedException();
+
+		#endregion
+
+		#region Implementation of IPneumaticConsumersDeclarationData
+
+		public ConsumerTechnology AirsuspensionControl => throw new NotImplementedException();
+
+		public ConsumerTechnology AdBlueDosing => throw new NotImplementedException();
+
+		#endregion
+	}
+}
\ No newline at end of file
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs
index abc2dfc76a938a9e2c1a9be5db0d2bef7a3f21d1..c24da66929e18e8cdef9752fab1ee663caf01adc 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs
@@ -1,67 +1,317 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Windows;
+using System.Windows.Input;
+using System.Windows.Navigation;
+using System.Xml;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCore.InputData.FileIO.XML;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
+using TUGraz.VectoCore.Models.Simulation.Impl;
+using TUGraz.VectoCore.OutputData.FileIO;
+using TUGraz.VectoCore.Tests.Models.Simulation;
 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
 {
-	public class MultiStageJobViewModel_v0_1 : ViewModelBase, IMultiStageJobViewModel 
-	{
-		#region QualifiedXSD
 
-		public static readonly string QUALIFIED_XSD_TYPE = XMLDeclarationInputDataProviderMultistageV01.QUALIFIED_XSD_TYPE;
+	public interface IMultiStageJobViewModel : IDeclarationMultistageJobInputData, IMultistageVIFInputData, IMultistageBusInputDataProvider
+	{
+		IManufacturingStageViewModel ManufacturingStageViewModel { get; }
+	}
 
-		public static readonly string INPUTPROVIDERTYPE =
-			typeof(XMLDeclarationInputDataProviderMultistageV01).ToString();
 
+	public class MultiStageJobViewModel_v0_1 : ViewModelBase, IMultiStageJobViewModel
+	{
 		private IDeclarationMultistageJobInputData _jobInputData;
-		#endregion
 
 		private IManufacturingStageViewModel _manufacturingStageViewModel;
+		private IPrimaryVehicleInformationInputDataProvider _primaryVehicle;
+		private IList<IManufacturingStageInputData> _manufacturingStages;
+		private IManufacturingStageInputData _consolidateManufacturingStage;
+		private VectoSimulationJobType _jobType;
+		private bool _inputComplete;
+		private readonly IMultiStageViewModelFactory _vmFactory;
+
 		public IManufacturingStageViewModel ManufacturingStageViewModel
 		{
 			get => _manufacturingStageViewModel;
 			set => SetProperty(ref _manufacturingStageViewModel, value);
 		}
 
-		private IMultiStageViewModelFactory _vmFactory;
 
+		#region Commands
 
-		public MultiStageJobViewModel_v0_1(IMultistageBusInputDataProvider inputData, IMultiStageViewModelFactory vmFactory)
+
+
+		private ICommand _closeWindowCommand;
+		public ICommand CloseWindowCommand
 		{
-			_jobInputData = inputData.JobInputData;
-			_vmFactory = vmFactory;
+			get
+			{
+				return _closeWindowCommand ?? new RelayCommand<Window>(window => CloseWindow(window, _dialogHelper.Value), window => true);
+			}
+		}
+
 
+		private ICommand _saveVifCommand;
 
+		public ICommand SaveVIFCommand
+		{
+			get
+			{
+				return _saveVifCommand ?? new RelayCommand(() => {
+					var outputFile = _multistageDependencies.DialogHelperLazy.Value.SaveToXMLDialog(Settings.Default.DefaultFilePath);
+					if (outputFile == null) {
+						return;
+					}
+					SaveVif(this, outputFile);
+				}, () => true);
+			}
+		}
+
+		public static void SaveVif(IMultistageVIFInputData vifData, FileOutputVIFWriter writer)
+		{
+			SaveVif(vifData, null, writer);
+		}
+		
+		public static void SaveVif(IMultistageVIFInputData vifData, string outputFile, FileOutputVIFWriter writer = null)
+		{
+			if (writer == null) {
+				var numberOfManufacturingStages = vifData.MultistageJobInputData.JobInputData.ManufacturingStages?.Count ?? 0;
+				writer = new FileOutputVIFWriter(outputFile, numberOfManufacturingStages);
+			}
+
+			var inputData = new XMLDeclarationVIFInputData(vifData.MultistageJobInputData, vifData.VehicleInputData);
+
+			var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer);
+
+			var jobContainer = new JobContainer(new MockSumWriter()); //TODO: Replace with real sumwriter
+
+			var runs = factory.SimulationRuns().ToList();
+			foreach (var run in runs)
+			{
+				jobContainer.AddRun(run);
+			}
+
+			jobContainer.Execute();
+			jobContainer.WaitFinished();
 			
-			var prevStageInputData = _jobInputData.ManufacturingStages.Last();
+			var validator = new XMLValidator(XmlReader.Create(writer.XMLMultistageReportFileName));
+			var valid = validator.ValidateXML(XmlDocumentType.MultistageOutputData);
+			if (!valid) {
+				Debug.WriteLine("Invalid Outputfile");
+			}
 
-			_manufacturingStageViewModel =
-				vmFactory.CreateManufacturingStageViewModel(prevStageInputData.GetType().ToString(),
-					prevStageInputData);
+			Debug.WriteLine($"Written to {writer.XMLMultistageReportFileName}");
+		}
+
+		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);
 
-			_jobInputData.ManufacturingStages.Add(_manufacturingStageViewModel as IManufacturingStageInputData);
+		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 = false;
+			try {
+				valid = validator.ValidateXML(XmlDocumentType.DeclarationJobData);
+			} catch (Exception e) {
+				_dialogHelper.Value.ShowMessageBox(e.Message, "Error");
+			}
+			if (!valid) {
+				_dialogHelper.Value.ShowMessageBox($"Invalid Document: {validator.ValidationError}", "Error");
+				//xDoc.Save(filename, SaveOptions.OmitDuplicateNamespaces);
+				//LoadVehicleData(filename);
+			} else {
+				xDoc.Save(filename, SaveOptions.OmitDuplicateNamespaces);
+				LoadVehicleData(filename);
+			}
 		}
 
 
+		private ICommand _loadVehicleDataCommand;
+		private readonly Lazy<IDialogHelper> _dialogHelper;
+		private readonly Lazy<IXMLInputDataReader> _inputDataReader;
+		private string _vehicleInputDataFilePath = null;
+		private readonly IMultistageDependencies _multistageDependencies;
+		private readonly DataSource _dataSource;
 
-		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicle => throw new NotImplementedException();
+		public ICommand LoadVehicleDataCommand
+		{
+			get
+			{
+				return _loadVehicleDataCommand ?? new RelayCommand(LoadVehicleDataExecute, () => true);
+			}
+		}
 
-		public IList<IManufacturingStageInputData> ManufacturingStages => throw new NotImplementedException();
-	}
+		private void LoadVehicleDataExecute()
+		{
+			var fileName = _dialogHelper.Value.OpenXMLFileDialog();
+			if (fileName == null) {
+				return;
+			}
 
-	public interface IMultiStageJobViewModel : IDeclarationMultistageJobInputData
-	{
-		IManufacturingStageViewModel ManufacturingStageViewModel { get; }
+			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 true;
+			}
+
+			return false;
+		}
+
+		public string VehicleInputDataFilePath
+		{
+			get => _vehicleInputDataFilePath;
+			set => SetProperty(ref _vehicleInputDataFilePath, value);
+		}
+		#endregion
+
+
+		public MultiStageJobViewModel_v0_1(IMultistageBusInputDataProvider inputData, IMultiStageViewModelFactory vmFactory, IMultistageDependencies multistageDependencies )
+		{
+			_dataSource = inputData.DataSource;
+			_jobInputData = inputData.JobInputData;
+			_vmFactory = vmFactory;
+			_consolidateManufacturingStage = _jobInputData.ConsolidateManufacturingStage;
+			_manufacturingStages =_jobInputData.ManufacturingStages;
+			_primaryVehicle = _jobInputData.PrimaryVehicle;
+			_dialogHelper = multistageDependencies.DialogHelperLazy;
+			_inputDataReader = multistageDependencies.InputDataReaderLazy;
+			_manufacturingStageViewModel =
+				vmFactory.GetManufacturingStageViewModel(_consolidateManufacturingStage);
+			_multistageDependencies = multistageDependencies;
+		}
+
+
+		#region Implementation of IInputDataProvider
+
+		public DataSource DataSource => _dataSource;
+
+		#endregion
+
+		#region Implementation of IMultistageVIFInputData
+
+		public IVehicleDeclarationInputData VehicleInputData => _manufacturingStageViewModel.Vehicle;
+
+		public IMultistageBusInputDataProvider MultistageJobInputData => this;
+
+
+		#endregion
+
+		#region Implementation of IDeclarationInputDataProvider
+
+
+		public IDeclarationMultistageJobInputData JobInputData => _jobInputData;
+
+		IDeclarationJobInputData IDeclarationInputDataProvider.JobInputData => throw new NotImplementedException();
+
+		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicleData => _primaryVehicle;
+
+		public XElement XMLHash => throw new NotImplementedException();
+
+		#endregion
+
+		#region Implementation of IDeclarationMultistageJobInputData
+
+		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicle
+		{
+			get => _primaryVehicle;
+			set => _primaryVehicle = value;
+		}
+
+		public IList<IManufacturingStageInputData> ManufacturingStages
+		{
+			get => _manufacturingStages;
+			set => _manufacturingStages = value;
+		}
+
+		public IManufacturingStageInputData ConsolidateManufacturingStage
+		{
+			get => _consolidateManufacturingStage;
+			set => _consolidateManufacturingStage = value;
+		}
+
+		public VectoSimulationJobType JobType
+		{
+			get => _jobType;
+			set => _jobType = value;
+		}
+
+		public bool InputComplete
+		{
+			get => _inputComplete;
+			set => _inputComplete = value;
+		}
+
+
+		#endregion
 	}
+
+
 }
\ No newline at end of file
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/NewMultiStageJobViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/NewMultiStageJobViewModel.cs
index 860a7c77dcc61d23cdb406b4546dcd3215845ba6..33ff82615d8b0ab71de08ad4dde538597463f8ee 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/NewMultiStageJobViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/NewMultiStageJobViewModel.cs
@@ -46,7 +46,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 			_inputDataReader = inputDataReader;
 			_dialogHelper = dialogHelper;
 			_vmFactory = vmFactory;
-			Title = "New Multistage file";
+			Title = "New Multistage File";
 			VifPath = "Select VIF File";
 		}
 
@@ -62,7 +62,10 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 		private void AddVifFileExecute()
 		{
 			
-			var fileName = _dialogHelper.OpenXMLFileDialog(_settings.DefaultFilePath);
+			var fileName = _dialogHelper.OpenXMLFileDialog();
+			if (fileName == null) {
+				return;
+			}
 			IMultistageBusInputDataProvider inputDataProvider = null;
 			try {
 				inputDataProvider = _inputDataReader.Create(fileName) as IMultistageBusInputDataProvider;
@@ -77,12 +80,22 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 				return;
 			}
 
+			MultiStageJobViewModel = null;
 			MultiStageJobViewModel =
-				_vmFactory.CreateMultiStageJobViewModel(inputDataProvider.GetType().ToString(), inputDataProvider);
+				_vmFactory.GetMultiStageJobViewModel(inputDataProvider);
 			VifPath = fileName;
 		}
 
-		
+
+		private ICommand _closeWindow;
+
+		public ICommand CloseWindow
+		{
+			get => _closeWindow ?? new RelayCommand<Window>(window => base.CloseWindow(window, _dialogHelper, false),
+				(window) => MultiStageJobViewModel == null);
+		}
+
+
 
 		#endregion
 
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultiStageViewModelFactory.cs b/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultiStageViewModelFactory.cs
index 189839bbb571b7d9ce1b8a34a65c64d20483146b..90e54e472247409ce253f842c908ea3e585edc53 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultiStageViewModelFactory.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultiStageViewModelFactory.cs
@@ -14,16 +14,32 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Interfaces
 {
     public interface IMultiStageViewModelFactory
 	{
-		IViewModelBase CreateNewMultiStageJobViewModel();
+		IViewModelBase GetNewMultistageJobViewModel();
 
-		IMultiStageJobViewModel CreateMultiStageJobViewModel(string inputProviderType, IMultistageBusInputDataProvider inputData);
+		IMultiStageJobViewModel GetMultiStageJobViewModel(IMultistageBusInputDataProvider inputData);
 
-		IVehicleViewModel CreateInterimStageVehicleViewModel(string inputProviderType);
+		IVehicleViewModel GetInterimStageVehicleViewModel();
 
-		IVehicleViewModel CreateInterimStageVehicleViewModel(string inputProviderType, IVehicleDeclarationInputData prevStageInputData);
+		IVehicleViewModel GetInterimStageVehicleViewModel(IVehicleDeclarationInputData consolidatedVehicleData);
 
-		IManufacturingStageViewModel CreateManufacturingStageViewModel(string inputProviderType, IManufacturingStageInputData prevStageInputData);
+		IManufacturingStageViewModel GetManufacturingStageViewModel(IManufacturingStageInputData consolidatedManufacturingStageInputData);
+		IMultistageAirdragViewModel GetMultistageAirdragViewModel();
 
-		IMultistageAirdragViewModel CreateMultistageAirdragViewModel();
+		IMultistageAirdragViewModel GetMultistageAirdragViewModel(
+			IAirdragDeclarationInputData consolidatedAirdragInputData);
+
+		IMultistageAuxiliariesViewModel GetAuxiliariesViewModel(
+			IBusAuxiliariesDeclarationData consolidatedAuxiliariesInputData);
+		//IViewModelBase CreateNewMultiStageJobViewModel();
+
+		//IMultiStageJobViewModel CreateMultiStageJobViewModel(string inputProviderType, IMultistageBusInputDataProvider inputData);
+
+		//IVehicleViewModel CreateInterimStageVehicleViewModel(string inputProviderType);
+
+		//IVehicleViewModel CreateInterimStageVehicleViewModel(string inputProviderType, IVehicleDeclarationInputData prevStageInputData);
+
+		//IManufacturingStageViewModel CreateManufacturingStageViewModel(string inputProviderType, IManufacturingStageInputData consolidatedManufacturingStageInputData);
+
+		//IMultistageAirdragViewModel CreateMultistageAirdragViewModel();
 	}
 }
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultistageAirdragViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultistageAirdragViewModel.cs
index e4bd94ca779906599e45c1f79fc921fbdaa6ba31..76374ce4a63e6220041f9b79a23420562b9a3574 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultistageAirdragViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultistageAirdragViewModel.cs
@@ -1,9 +1,12 @@
-using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle.Components;
+using TUGraz.VectoCommon.InputData;
+using VECTO3GUI2020.ViewModel.Interfaces.JobEdit.Vehicle.Components;
 
 namespace VECTO3GUI2020.ViewModel.MultiStage.Interfaces
 {
-	public interface IMultistageAirdragViewModel
+	public interface IMultistageAirdragViewModel : IAirdragDeclarationInputData
 	{
-		
+		IAirDragViewModel AirDragViewModel { get; set; }
+
+		void SetAirdragInputData(IAirdragDeclarationInputData airdragInputData);
 	}
 }
\ No newline at end of file
diff --git a/VECTO3GUI2020/Views/CustomControls/CustomControlExtensionMethods.cs b/VECTO3GUI2020/Views/CustomControls/CustomControlExtensionMethods.cs
index 79cb6a1d4efc7ab3a9309ddbcd65fdebc18545db..39c340cab1c0b53be00821ad7b767b3d8b523926 100644
--- a/VECTO3GUI2020/Views/CustomControls/CustomControlExtensionMethods.cs
+++ b/VECTO3GUI2020/Views/CustomControls/CustomControlExtensionMethods.cs
@@ -1,11 +1,13 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 using System.Resources;
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows;
 using System.Windows.Controls;
+using TUGraz.VectoCommon.Utils;
 
 namespace VECTO3GUI2020.Views.CustomControls
 {
@@ -20,17 +22,17 @@ namespace VECTO3GUI2020.Views.CustomControls
 		public static string GetLabelByPropertyName(this UserControl userControl, DependencyProperty dependencyProperty, ResourceManager resourceManager)
 		{
 			var name = "unresolved";
-			var Binding = userControl.GetBindingExpression(dependencyProperty);
-			var PropertyName = Binding?.ResolvedSourcePropertyName;
+			var binding = userControl.GetBindingExpression(dependencyProperty);
+			var propertyName = binding?.ResolvedSourcePropertyName;
 			
-			if (PropertyName == null || Binding == null)
+			if (propertyName == null || binding == null)
 			{
 				return name;
 			}
 
 
-			var extendedPropertyName = Binding?.ResolvedSource.GetType().Name + "_" + PropertyName;
-			name = resourceManager?.GetString(extendedPropertyName) ?? resourceManager?.GetString(PropertyName) ?? (PropertyName + "_"); //_Postfix to label Property Names that are not in strings.resx
+			var extendedPropertyName = binding?.ResolvedSource.GetType().Name + "_" + propertyName;
+			name = resourceManager?.GetString(extendedPropertyName) ?? resourceManager?.GetString(propertyName) ?? (propertyName + "_"); //_Postfix to label Property Names that are not in strings.resx
 
 			return name;
 		}
@@ -43,8 +45,59 @@ namespace VECTO3GUI2020.Views.CustomControls
 			if (PropertyName == null || Binding == null) {
 				return typeof(object);
 			}
-			var PropertyType = Binding?.ResolvedSource.GetType().GetProperty(PropertyName).PropertyType;
+			var PropertyType = Binding?.ResolvedSource?.GetType().GetProperty(PropertyName).PropertyType;
 			return PropertyType;
 		}
+
+		public static object CreateDummyContent(this UserControl userControl, DependencyPropertyChangedEventArgs e, bool createEnum = false)
+		{
+			var type = userControl.GetPropertyType(e.Property);
+			if (type == null)
+			{
+				return null;
+			}
+			try
+			{
+				dynamic dynType = type;
+				var baseType = dynType.BaseType;
+				//Create SI Dummy
+
+				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 if(createEnum)
+				{
+					var bindingProperty = userControl.GetBindingExpression(e.Property);
+					var dataItemType = bindingProperty?.DataItem.GetType();
+					var sourcePropertyType =
+						dataItemType?.GetProperty(bindingProperty?.ResolvedSourcePropertyName)?.PropertyType;
+
+					var underlyingType = Nullable.GetUnderlyingType(dynType);
+					Enum dummyEnum;
+					if (underlyingType != null)
+					{
+						dummyEnum = Enum.Parse(underlyingType, underlyingType.GetEnumNames()[0]);
+					}
+					else
+					{
+						dummyEnum = Enum.Parse(dynType, dynType.GetEnumNames()[0]);
+					}
+
+					return dummyEnum;
+				}
+
+			}
+			catch (Exception ex)
+			{
+				Debug.WriteLine(ex.Message);
+				return null;
+			}
+
+			return null;
+		}
+
 	}
 }
diff --git a/VECTO3GUI2020/Views/JoblistView.xaml b/VECTO3GUI2020/Views/JoblistView.xaml
index eb9658e8d7527529e0a4bec394444a9a0b72e551..1498fe07bc94389bbf6ebb408054aa68a823e5fd 100644
--- a/VECTO3GUI2020/Views/JoblistView.xaml
+++ b/VECTO3GUI2020/Views/JoblistView.xaml
@@ -4,73 +4,98 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:VECTO3GUI2020.Views"
-             xmlns:converter="clr-namespace:VECTO3GUI2020.Helper.Converter"
+             xmlns:converter="clr-namespace:VECTO3GUI2020.Helper.Converter" xmlns:implementation="clr-namespace:VECTO3GUI2020.ViewModel.Implementation" d:DataContext="{d:DesignInstance Type=implementation:JobListViewModel}"
              mc:Ignorable="d" 
-             d:DesignHeight="450" d:DesignWidth="800">
+             d:DesignHeight="450" d:DesignWidth="1000">
 
-    <Grid Background="Azure">
+    <Grid>
         <Grid.ColumnDefinitions>
-            <ColumnDefinition Width="1*"/>
+            <ColumnDefinition MinWidth="140" Width="1*"/>
             <ColumnDefinition Name="MiddleColumn" Width="6*"/>
-            <ColumnDefinition Width="1*"/>
+            <ColumnDefinition MinWidth="140" Width="1*"/>
         </Grid.ColumnDefinitions>
 
-
-        <Grid Grid.Column="0">
-            <StackPanel>
-                <Button Template="{DynamicResource MainViewButtonStyle}">Simulieren</Button>
-                <Button Command="{Binding moveJobUp}" Template="{DynamicResource MainViewButtonStyle}"
+        <Border  BorderBrush="Transparent" BorderThickness="1">
+            <Grid>
+                <StackPanel HorizontalAlignment="Stretch">
+                    <Button x:Name="button" Margin="4" HorizontalAlignment="Stretch" 
+                        Style="{StaticResource MultiStageButtonStyle1}" >Simulation</Button>
+                    <Button x:Name="button1" Margin="4"  HorizontalAlignment="Stretch" 
+                        Style="{StaticResource MultiStageButtonStyle1}" 
+                        Command="{Binding moveJobUp}"
                         CommandParameter="{Binding ElementName=JobDataGrid, Path=SelectedItem}">Up</Button>
-                <Button Command="{Binding moveJobDown}" Template="{DynamicResource MainViewButtonStyle}"
+                    <Button x:Name="button2" Margin="4" HorizontalAlignment="Stretch" 
+                        Style="{StaticResource MultiStageButtonStyle1}" 
+                        Command="{Binding moveJobDown}"
                         CommandParameter="{Binding ElementName=JobDataGrid, Path=SelectedItem}">Down</Button>
-            </StackPanel>
-        </Grid>
+                </StackPanel>
+            </Grid>
+        </Border>
         <Grid Grid.Column="1">
-            <StackPanel Margin="2 0 2 0">
-                <DataGrid ItemsSource="{Binding Jobs}"
+            <Border BorderBrush="{StaticResource AccentColorButton}" BorderThickness="1">
+                <StackPanel VerticalAlignment="Stretch">
+                    <DataGrid ItemsSource="{Binding Jobs}"
                               Name="JobDataGrid"
                               HorizontalAlignment="Stretch"
                               IsReadOnly="True" 
                               CanUserReorderColumns="False" 
                               AutoGenerateColumns="False"
                               SelectionMode="Single"
-                              BorderThickness="0" 
-                              GridLinesVisibility="Horizontal" 
-                              HorizontalScrollBarVisibility="Disabled" RowHeaderWidth="0"                         
+                              GridLinesVisibility="None" 
+                              HorizontalScrollBarVisibility="Disabled" 
+                              RowHeaderWidth="0"
+                              ColumnHeaderHeight="30"     
+                              VerticalAlignment="Stretch"
+                              VerticalContentAlignment="Stretch"
+                              BorderThickness="0"
+                              ColumnHeaderStyle="{StaticResource JobListDataGridHeaderStyle}"
+                              Height="Auto"
+                              RowHeight="30"
+                              AlternatingRowBackground="LightGray" CellStyle="{DynamicResource DataGridCellStyle1}"
                               >
-                    <DataGrid.Columns>
-                        <DataGridTextColumn Header="Name" Binding="{Binding DocumentName}" Width="1*"/>
-                        <DataGridTextColumn Header="Type" Binding="{Binding DocumentType}" Width="1*"/>
-                    </DataGrid.Columns>
-
-                    <DataGrid.RowDetailsTemplate>
-                                <DataTemplate>
-                            <StackPanel Orientation="Vertical">
-                                <Label Content="Filename"/>
-                                <TextBlock Text="{Binding DataSource.SourceFile}" TextWrapping="Wrap" Margin="10" />
-                            </StackPanel>
-                                    
-                                </DataTemplate>
-                    </DataGrid.RowDetailsTemplate>
-                    <DataGrid.InputBindings>
-                        <MouseBinding
+                        <DataGrid.Columns>
+                            <DataGridTextColumn Header="Name" Binding="{Binding DocumentName}" Width="1*"></DataGridTextColumn>
+                            <DataGridTextColumn Header="Type" Binding="{Binding DocumentType}" Width="1*"></DataGridTextColumn>
+                        </DataGrid.Columns>
+                        <DataGrid.RowDetailsTemplate>
+                            <DataTemplate>
+                                <StackPanel Orientation="Vertical">
+                                    <Label x:Name="label" Content="Filename"/>
+                                    <TextBlock x:Name="textBlock" Text="{Binding DataSource.SourceFile}" TextWrapping="Wrap" Margin="10" />
+                                </StackPanel>
+                            </DataTemplate>
+                        </DataGrid.RowDetailsTemplate>
+                        <DataGrid.InputBindings>
+                            <MouseBinding
                         MouseAction="LeftDoubleClick"
                         Command="{Binding EditJob}"
                         CommandParameter="{Binding ElementName=JobDataGrid, Path=SelectedItem}"></MouseBinding>
-                    </DataGrid.InputBindings>
-                </DataGrid>
-                <Label Content="Loading . . ." Visibility="{Binding IsLoading, Converter={StaticResource BooleanToVisibilityConverter}}"/>
-            </StackPanel>
+                        </DataGrid.InputBindings>
+                    </DataGrid>
+                    <Label x:Name="label" Content="Loading . . ." Visibility="{Binding IsLoading, Converter={StaticResource BooleanToVisibilityConverter}}"/>
+                </StackPanel>
+            </Border>
         </Grid>
         <Grid Grid.Column="2">
-            <StackPanel>
-                <Button Command="{Binding AddJob}" Template="{DynamicResource MainViewButtonStyle}">OpenFile</Button>
-                <Button Command="{Binding EditJob}" Template="{DynamicResource MainViewButtonStyle}"
-                        CommandParameter="{Binding ElementName=JobDataGrid, Path=SelectedItem}" Style="{DynamicResource MainViewButton}">EditFile</Button>
-                <Button Command="{Binding NewManufacturingStageFile}" Template="{DynamicResource MainViewButtonStyle}">New Multistage File</Button>
-                <Button Command="{Binding RemoveJob}" Template="{DynamicResource MainViewButtonStyle}"
+            <Border  BorderBrush="Transparent" BorderThickness="1">
+                <StackPanel >
+                    <Button x:Name="button3" Margin="4" HorizontalAlignment="Stretch" 
+                        Style="{StaticResource MultiStageButtonStyle1}"
+                        Command="{Binding AddJob}" Background="#FFDDDDDD">
+                        OpenFile</Button>
+                    <Button x:Name="button4" Margin ="4" HorizontalAlignment="Stretch" 
+                        Style="{StaticResource MultiStageButtonStyle1}"
+                        Command="{Binding EditJob}"
+                        CommandParameter="{Binding ElementName=JobDataGrid, Path=SelectedItem}">EditFile</Button>
+                    <Button x:Name="button5" Margin="4" HorizontalAlignment="Stretch"
+                        Style="{StaticResource MultiStageButtonStyle1}"
+                        Command="{Binding NewManufacturingStageFile}" AutomationProperties.AutomationId="JobListViewNewManufacturingStageFileButton">New Multistage File</Button>
+                    <Button x:Name="button6" Margin="4" HorizontalAlignment="Stretch" 
+                        Style="{StaticResource MultiStageButtonStyle1}"
+                        Command="{Binding RemoveJob}"
                         CommandParameter="{Binding ElementName=JobDataGrid, Path=SelectedItem}">DeleteFile</Button>
-            </StackPanel>
+                </StackPanel>
+            </Border>
         </Grid>
     </Grid>
 </UserControl>
diff --git a/VECTO3GUI2020/Views/Multistage/AirDragView_v2_8.xaml b/VECTO3GUI2020/Views/Multistage/AirDragView_v2_8.xaml
new file mode 100644
index 0000000000000000000000000000000000000000..f09fcfaecd01282da28029b2559b740a029aaecc
--- /dev/null
+++ b/VECTO3GUI2020/Views/Multistage/AirDragView_v2_8.xaml
@@ -0,0 +1,35 @@
+<UserControl x:Class="VECTO3GUI2020.Views.Multistage.AirDragView_v2_8"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             xmlns:local="clr-namespace:VECTO3GUI2020.Views.Multistage"
+             xmlns:customControls="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls" 
+             xmlns:implementation="clr-namespace:VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle.Components" d:DataContext="{d:DesignInstance Type=implementation:AirDragViewModel_v2_8}"
+             mc:Ignorable="d" 
+             d:DesignHeight="450" d:DesignWidth="800">
+    <Grid>
+        <StackPanel>
+        <Label 
+            Visibility="{Binding LabelVisible, Converter={StaticResourceExtension BooleanToVisibilityConverter}}">Airdrag</Label>
+        <customControls:LabledTextBoxMultistage 
+            Content="{Binding Manufacturer}" 
+            ReadOnly="{Binding IsReadOnly}"/>
+        <customControls:LabledTextBoxMultistage 
+            Content="{Binding Model}" 
+            ReadOnly="{Binding IsReadOnly}"/>
+        <customControls:LabledTextBoxMultistage 
+            Content="{Binding CertificationNumber}" 
+            ReadOnly="{Binding IsReadOnly}"/>
+        <customControls:LabledTextBoxMultistage 
+            Content="{Binding AirDragArea}" 
+            ReadOnly="{Binding IsReadOnly}"/>
+        <customControls:LabledTextBoxMultistage 
+            Content="{Binding AirDragArea_0}" 
+            ReadOnly="{Binding IsReadOnly}"/>
+        <customControls:LabledTextBoxMultistage 
+            Content="{Binding TransferredAirDragArea}" 
+            ReadOnly="{Binding IsReadOnly}"/>
+        </StackPanel>
+    </Grid>
+</UserControl>
diff --git a/VECTO3GUI2020/Views/Multistage/AirDragView_v2_8.xaml.cs b/VECTO3GUI2020/Views/Multistage/AirDragView_v2_8.xaml.cs
new file mode 100644
index 0000000000000000000000000000000000000000..581e3209f91c2731f29a91b6a9a7809575b6fb3e
--- /dev/null
+++ b/VECTO3GUI2020/Views/Multistage/AirDragView_v2_8.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace VECTO3GUI2020.Views.Multistage
+{
+    /// <summary>
+    /// Interaction logic for AirDragView_v2_8.xaml
+    /// </summary>
+    public partial class AirDragView_v2_8 : UserControl
+    {
+        public AirDragView_v2_8()
+        {
+            InitializeComponent();
+        }
+    }
+}
diff --git a/VECTO3GUI2020/Views/Multistage/CustomControls/FilePicker.xaml b/VECTO3GUI2020/Views/Multistage/CustomControls/FilePicker.xaml
index 3678da4594f7616e639489fef7dc336aceccb3f6..614ebbf578717fae433d5e08887404b7c31095a6 100644
--- a/VECTO3GUI2020/Views/Multistage/CustomControls/FilePicker.xaml
+++ b/VECTO3GUI2020/Views/Multistage/CustomControls/FilePicker.xaml
@@ -5,19 +5,21 @@
              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">
-    <Grid>
-        <Grid Margin="4" DockPanel.Dock="Top">
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition></ColumnDefinition>
-                <ColumnDefinition Width="30px"></ColumnDefinition>
-            </Grid.ColumnDefinitions>
-            <TextBox VerticalContentAlignment="Center" Height="Auto" Padding="4" Margin = "0 0 0 0" IsReadOnly="True" 
-                     Text="{Binding Text, ElementName=filepickercustomcontrol}" HorizontalAlignment="Stretch"/>
-            <Button Padding="4" Margin="4 0 0 0" Grid.Column="1" Command="{Binding Command, ElementName=filepickercustomcontrol}">
-                <Image Source="../../../Resources/folderpicker.ico">
-                </Image>
-            </Button>
-        </Grid>
+             d:DesignHeight="30" d:DesignWidth="800" Name="filepickercustomcontrol" MinHeight="40" MinWidth="400">
+    <Grid Margin="4" VerticalAlignment="Stretch">
+        <Grid.RowDefinitions>
+            <RowDefinition></RowDefinition>
+        </Grid.RowDefinitions>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition></ColumnDefinition>
+            <ColumnDefinition Width="30px"></ColumnDefinition>
+        </Grid.ColumnDefinitions>
+        <TextBox x:Name="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 x:Name="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 b/VECTO3GUI2020/Views/Multistage/CustomControls/LabledTextBoxMultistage.xaml
new file mode 100644
index 0000000000000000000000000000000000000000..70a9405da64668068b8b8f80ad368e5a6eeed25e
--- /dev/null
+++ b/VECTO3GUI2020/Views/Multistage/CustomControls/LabledTextBoxMultistage.xaml
@@ -0,0 +1,29 @@
+<UserControl x:Class="VECTO3GUI2020.Views.Multistage.CustomControls.LabledTextBoxMultistage"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             xmlns:local="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls"
+             mc:Ignorable="d" 
+             Name="labledTextBoxMultistage"
+             d:DesignHeight="450" d:DesignWidth="800">
+    <Grid>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
+            <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
+            <ColumnDefinition Width="1*" SharedSizeGroup="N"/>
+        </Grid.ColumnDefinitions>
+
+        <Label Content="{Binding LabelText, ElementName=labledTextBoxMultistage}"/>
+        <TextBox Grid.Column="1" Name ="TextBoxContent" VerticalAlignment="Center" Margin="2 0 2 0" 
+                 Text="{Binding ElementName=labledTextBoxMultistage, Path=Content,
+                    Converter={StaticResourceExtension SIValueToStringConverter}, 
+                     ValidatesOnExceptions=True, 
+                    UpdateSourceTrigger=PropertyChanged}"
+                 Style="{DynamicResource TextBoxStyle1}"
+                 IsReadOnly="{Binding ElementName=labledTextBoxMultistage, Path=ReadOnly}"/>
+        <Label Grid.Column="2" x:Name="AutoUnitLabel"
+               Content="{Binding DummyContent, ElementName=labledTextBoxMultistage, Converter={StaticResource SIToUnitStringConverter}}">
+        </Label>
+    </Grid>
+</UserControl>
diff --git a/VECTO3GUI2020/Views/Multistage/CustomControls/LabledTextBoxMultistage.xaml.cs b/VECTO3GUI2020/Views/Multistage/CustomControls/LabledTextBoxMultistage.xaml.cs
new file mode 100644
index 0000000000000000000000000000000000000000..8fd84d304a34df546fd1f5c539263a198f576c5d
--- /dev/null
+++ b/VECTO3GUI2020/Views/Multistage/CustomControls/LabledTextBoxMultistage.xaml.cs
@@ -0,0 +1,108 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using VECTO3GUI2020.Properties;
+using VECTO3GUI2020.Views.CustomControls;
+
+namespace VECTO3GUI2020.Views.Multistage.CustomControls
+{
+
+
+
+
+    /// <summary>
+    /// Interaction logic for LabledTextBoxMultistage.xaml
+    /// </summary>
+    public partial class LabledTextBoxMultistage : UserControl
+    {
+		#region Dependency Properties
+
+		public static readonly DependencyProperty ReadOnlyProperty = DependencyProperty.Register(
+			"ReadOnly", typeof(bool), typeof(LabledTextBoxMultistage), new PropertyMetadata(default(bool)));
+
+		public bool ReadOnly
+		{
+			get { return (bool)GetValue(ReadOnlyProperty); }
+			set { SetValue(ReadOnlyProperty, value); }
+		}
+
+
+		public static readonly DependencyProperty DummyContentProperty = DependencyProperty.Register(
+			"DummyContent", typeof(object), typeof(LabledTextBoxMultistage), new PropertyMetadata(default(object)));
+
+		public object DummyContent
+		{
+			get { return (object)GetValue(DummyContentProperty); }
+			set { SetValue(DummyContentProperty, value); }
+		}
+
+		public new static readonly DependencyProperty ContentProperty =
+			DependencyProperty.Register("Content",
+				typeof(object),
+				typeof(LabledTextBoxMultistage),
+				new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, new PropertyChangedCallback(ContentChanged))); //TODO Default value null breaks it for SIs default value "" for strings
+
+		public new object Content
+		{
+			get { return (object)GetValue(ContentProperty); }
+			set
+			{
+				SetCurrentValue(ContentProperty, value);
+			}
+		}
+
+
+		public static readonly DependencyProperty LabelTextProperty = DependencyProperty.Register(
+			"LabelText", typeof(string), typeof(LabledTextBoxMultistage), new PropertyMetadata(null));
+
+		public string LabelText
+		{
+			get { return (string)GetValue(LabelTextProperty); }
+			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)
+		{
+			var labledTextBoxMultistage = (CustomControls.LabledTextBoxMultistage)d;
+
+
+			labledTextBoxMultistage.DummyContent = labledTextBoxMultistage.CreateDummyContent(e, 
+				createEnum:labledTextBoxMultistage.Mode == MultistageParameterViewMode.COMBOBOX);
+
+			if (labledTextBoxMultistage.LabelText != null)
+			{
+				return;
+			}
+			labledTextBoxMultistage.LabelText = labledTextBoxMultistage.GetLabelByPropertyName(
+				LabledTextBoxMultistage.ContentProperty,
+				Strings.ResourceManager);
+		}
+
+		public LabledTextBoxMultistage()
+        {
+            InitializeComponent();
+        }
+    }
+}
diff --git a/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml b/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml
index 014a3ffecadfd7a46b7c6767b231464cdb3b4b94..f98cf65220b7bd8e10e4894e676a6601ab0e44dd 100644
--- a/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml
+++ b/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml
@@ -6,12 +6,15 @@
              xmlns:local="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls"
              mc:Ignorable="d" 
              d:DesignHeight="450" d:DesignWidth="800" Name="MultistageParameterControl">
+
+
+
     <Grid>
 
         <!-- _____________________________________________ Text mode ___________________________________________________________________-->
         <Grid Visibility="{Binding ElementName=MultistageParameterControl, 
-        Path=ComboBoxMode, 
-        Converter={StaticResource InvertedBoolToVisibilityConverter}}">
+        Path=Mode, 
+        Converter={StaticResource ParameterModeToVisibilityConverter}, ConverterParameter={x:Static local:MultistageParameterViewMode.TEXTBOX}}">
             <Grid.ColumnDefinitions>
                 <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
                 <ColumnDefinition Width="1*" SharedSizeGroup="N"/>
@@ -20,72 +23,130 @@
                 <ColumnDefinition Width="1*" SharedSizeGroup="N"/>
             </Grid.ColumnDefinitions>
 
-        <Label Content="{Binding LabelText, ElementName=MultistageParameterControl}"></Label>
-        <CheckBox Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Name="CheckBox"
-                  Visibility="{Binding Optional, 
+            <Label x:Name="label" Content="{Binding LabelText, ElementName=MultistageParameterControl}"></Label>
+            <CheckBox Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Name="CheckBox"
+                  Visibility="{Binding ShowCheckBox, 
                     ElementName=MultistageParameterControl, 
                     Converter={StaticResource BooleanToVisibilityConverter}}"
                   IsChecked="{Binding EditingEnabled, 
             ElementName=MultistageParameterControl, 
             Mode=TwoWay}"/>
 
-        <TextBox Grid.Column="2" VerticalAlignment="Center" Margin="2 0 2 0" IsReadOnly="True"
-                 Text="{Binding ElementName=MultistageParameterControl, Path=PreviousContent, Converter={StaticResource SIValueToStringConverter}}"
+            <TextBox x:Name="textBox" Grid.Column="2" VerticalAlignment="Center" Margin="2 0 2 0" IsReadOnly="True" IsTabStop="False"
+                 Text="{Binding ElementName=MultistageParameterControl, Path=PreviousContent, Converter={StaticResource SIValueToStringConverter}}" 
+                 
+                 Style="{DynamicResource TextBoxStyle1}"
                  Visibility="{Binding Optional, 
                     ElementName=MultistageParameterControl, Converter={StaticResource BooleanToVisibilityConverter}, UpdateSourceTrigger=PropertyChanged}"/>
 
-        <TextBox Grid.Column="3" Name ="TextBoxContent" VerticalAlignment="Center" Margin="2 0 2 0" 
+            <TextBox Grid.Column="3" Name ="TextBoxContent" VerticalAlignment="Center" Margin="2 0 2 0" 
                  Text="{Binding Content,
                     ElementName=MultistageParameterControl, 
                     Converter={StaticResource SIValueToStringConverter}, 
-                    ValidatesOnExceptions=True, 
                     UpdateSourceTrigger=PropertyChanged}"
+                 Style="{DynamicResource TextBoxStyle1}"
                  IsReadOnly="{Binding ElementName=MultistageParameterControl,
             Path=EditingEnabled, Converter={StaticResource InvertBoolConverter}}" MouseDoubleClick="Control_OnMouseDoubleClick"/>
 
-        <Label Grid.Column="4" x:Name="AutoUnitLabel"
+            <Label Grid.Column="4" x:Name="AutoUnitLabel"
                Content="{Binding DummyContent, ElementName=MultistageParameterControl, Converter={StaticResource SIToUnitStringConverter}}">
-        </Label>
-    </Grid>
+            </Label>
+        </Grid>
+
+
+        <!--_________________________________________________ComboBoxMode____________________________________________________________________-->
         <Grid Visibility="{Binding ElementName=MultistageParameterControl, 
-        Path=ComboBoxMode, 
-        Converter={StaticResource BooleanToVisibilityConverter}}">
-        <Grid.ColumnDefinitions>
-            <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
-            <ColumnDefinition Width="1*" SharedSizeGroup="N"/>
-            <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
-            <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
-            <ColumnDefinition Width="1*" SharedSizeGroup="N"/>
-        </Grid.ColumnDefinitions>
-
-        <Label Content="{Binding LabelText, ElementName=MultistageParameterControl}"></Label>
-        <CheckBox Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Name="CheckBoxCombo"
-                  Visibility="{Binding Optional, 
+        Path=Mode, 
+        Converter={StaticResource ParameterModeToVisibilityConverter}, ConverterParameter={x:Static local:MultistageParameterViewMode.COMBOBOX}}">
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
+                <ColumnDefinition Width="1*" SharedSizeGroup="N"/>
+                <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
+                <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
+                <ColumnDefinition Width="1*" SharedSizeGroup="N"/>
+            </Grid.ColumnDefinitions>
+
+            <Label x:Name="label1" Content="{Binding LabelText, ElementName=MultistageParameterControl}"></Label>
+            <CheckBox Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Name="CheckBoxCombo"
+                  Visibility="{Binding ShowCheckBox, 
                     ElementName=MultistageParameterControl, 
                     Converter={StaticResource BooleanToVisibilityConverter}}"
                   IsChecked="{Binding EditingEnabled, 
             ElementName=MultistageParameterControl, 
             Mode=TwoWay}"/>
 
-            <ComboBox Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Center" Margin="2 0 2 0" Visibility="{Binding Optional, 
+            <ComboBox x:Name="comboBox" Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Center" Margin="2 0 2 0" IsTabStop="False" Visibility="{Binding Optional, 
                     ElementName=MultistageParameterControl, 
                     Converter={StaticResource BooleanToVisibilityConverter}}" IsHitTestVisible="False" Focusable="False" IsEditable="False"
                       SelectedValue="{Binding PreviousContent, Mode=TwoWay, ElementName=MultistageParameterControl}"
-                      ItemsSource="{Binding ListItems, ElementName=MultistageParameterControl}"/>
+                      ItemsSource="{Binding GeneratedListItems, ElementName=MultistageParameterControl}">
+                <ComboBox.ItemTemplate>
+                    <DataTemplate>
+                        <TextBlock x:Name="textBlock" Text="{Binding Converter={StaticResource EnumConverter}}" />
+                    </DataTemplate>
+                </ComboBox.ItemTemplate>
+            </ComboBox>
 
-            <ComboBox Grid.Column="3" HorizontalAlignment="Stretch" VerticalAlignment="Center" Margin="2 0 2 0" 
-                      SelectedValue="{Binding Content, Mode=TwoWay, ElementName=MultistageParameterControl}" 
-                      ItemsSource="{Binding ListItems, ElementName=MultistageParameterControl}"
-                      IsHitTestVisible="{Binding ElementName=MultistageParameterControl,
-                        Path=EditingEnabled}" 
-                      Focusable="{Binding RelativeSource={RelativeSource Self}, 
-                        Path=IsHitTestVisible}" IsEditable="False"/>
+            <!--ItemsSource="{Binding ListItems, ElementName=MultistageParameterControl}"-->
+            <ComboBox x:Name="comboBox1" Grid.Column="3" HorizontalAlignment="Stretch" VerticalAlignment="Center" Margin="2 0 2 0" 
+                          SelectedValue="{Binding Content, Mode=TwoWay, ElementName=MultistageParameterControl, ValidatesOnExceptions=True}" 
+                          IsEnabled="{Binding EditingEnabled, ElementName=MultistageParameterControl}"
+                          IsEditable="False" MouseDoubleClick="Control_OnMouseDoubleClick">
+                <ComboBox.ItemsSource>
+                    <PriorityBinding>
+                        <Binding Path="ListItems" ElementName="MultistageParameterControl" Converter="{StaticResource NullToUnsetValue}"/>
+                        <Binding Path="GeneratedListItems" ElementName="MultistageParameterControl"/>
+                    </PriorityBinding>
+                </ComboBox.ItemsSource>
+                <ComboBox.ItemTemplate>
+                    <DataTemplate>
+                        <TextBlock x:Name="textBlock" Text="{Binding Converter={StaticResource EnumConverter}}" />
+                    </DataTemplate>
+                </ComboBox.ItemTemplate>
+            </ComboBox>
 
 
-
-        <Label Grid.Column="4"
+            <Label x:Name="label2" Grid.Column="4"
                Content="{Binding DummyContent, ElementName=MultistageParameterControl, Converter={StaticResource SIToUnitStringConverter}}">
-        </Label>
-    </Grid>
+            </Label>
+        </Grid>
+
+        <!--_________________________________________________CheckBoxMode____________________________________________________________________-->
+        <Grid Visibility="{Binding ElementName=MultistageParameterControl, 
+        Path=Mode, 
+        Converter={StaticResource ParameterModeToVisibilityConverter}, ConverterParameter={x:Static local:MultistageParameterViewMode.CHECKBOX}}">
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
+                <ColumnDefinition Width="1*" SharedSizeGroup="N"/>
+                <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
+                <ColumnDefinition Width="4*" SharedSizeGroup="W"/>
+                <ColumnDefinition Width="1*" SharedSizeGroup="N"/>
+            </Grid.ColumnDefinitions>
+
+            <Label x:Name="label3" Content="{Binding LabelText, ElementName=MultistageParameterControl}"></Label>
+            <CheckBox Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Name="CheckBoxCheckBox" 
+                  Visibility="{Binding ShowCheckBox, 
+                    ElementName=MultistageParameterControl, 
+                    Converter={StaticResource BooleanToVisibilityConverter}}"
+                  IsChecked="{Binding EditingEnabled, 
+            ElementName=MultistageParameterControl, 
+            Mode=TwoWay}"/>
+
+            <CheckBox x:Name="checkBox" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center" IsTabStop="False" IsChecked="{Binding ElementName=MultistageParameterControl, 
+                Path=PreviousContent, 
+                Converter={StaticResource XToBoolConverter}}" IsEnabled="False">
+            </CheckBox>
+
+            <CheckBox x:Name="checkBox1" Grid.Column="3" VerticalAlignment="Center" HorizontalAlignment="Center" IsEnabled="{Binding ElementName=MultistageParameterControl, 
+                Path=EditingEnabled}">
+
+            </CheckBox>
+            <Label x:Name="label4" Grid.Column="4"
+                   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 4ebc41fb04ebe3732a8902f710fc46428ebfb8c9..56b9132540b91478afe68c9529058223168266a6 100644
--- a/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml.cs
+++ b/VECTO3GUI2020/Views/Multistage/CustomControls/MultiStageParameter.xaml.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Collections.ObjectModel;
 using System.ComponentModel;
 using System.Diagnostics;
 using System.Linq;
@@ -17,18 +18,30 @@ using System.Windows.Media.Imaging;
 using System.Windows.Navigation;
 using System.Windows.Shapes;
 using Castle.Components.DictionaryAdapter.Xml;
+using Microsoft.Build.Framework;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Utils;
+using VECTO3GUI2020.Annotations;
 using VECTO3GUI2020.Properties;
 using VECTO3GUI2020.Views.CustomControls;
 
 namespace VECTO3GUI2020.Views.Multistage.CustomControls
 {
-    /// <summary>
-    /// Interaction logic for MultiStageParameter.xaml
-    /// </summary>
-    public partial class MultiStageParameter : UserControl
+
+	public enum MultistageParameterViewMode
+	{
+		TEXTBOX,
+		CHECKBOX,
+		COMBOBOX
+	}
+
+
+	/// <summary>
+	/// Interaction logic for MultiStageParameter.xaml
+	/// </summary>
+	public partial class MultiStageParameter : UserControl, INotifyPropertyChanged
     {
+
 		#region Dependency Properties
 
 
@@ -50,27 +63,32 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 			MultiStageParameter multiStageParameter = (MultiStageParameter)d;
 			if ((bool)e.NewValue == false) {
 				multiStageParameter.EditingEnabled = true;
+				multiStageParameter.ShowCheckBox = false;
+			} else {
+				multiStageParameter.ShowCheckBox = true;
 			}
 		}
 
 		public bool Optional
 		{
 			get { return (bool)GetValue(OptionalProperty); }
-			set { SetValue(OptionalProperty, value); }
+			set
+			{
+				SetValue(OptionalProperty, value);
+			}
 		}
 
-		public static readonly DependencyProperty ComboBoxModeProperty = DependencyProperty.Register(
-			"ComboBoxMode", typeof(bool), typeof(MultiStageParameter), new PropertyMetadata(false));
+		public static readonly DependencyProperty ModeProperty = DependencyProperty.Register(
+            "Mode", typeof(MultistageParameterViewMode), typeof(MultiStageParameter), new PropertyMetadata(MultistageParameterViewMode.TEXTBOX));
 
-		public bool ComboBoxMode
+        public MultistageParameterViewMode Mode
 		{
-			get { return (bool)GetValue(ComboBoxModeProperty); }
-			set { SetValue(ComboBoxModeProperty, value); }
+			get { return (MultistageParameterViewMode)GetValue(ModeProperty); }
+			set { SetValue(ModeProperty, value); }
 		}
 
 
 
-
 		public static readonly DependencyProperty LabelTextProperty = DependencyProperty.Register(
 			"LabelText", typeof(string), typeof(MultiStageParameter), new PropertyMetadata(null));
 
@@ -88,7 +106,10 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 
 		public bool EditingEnabled
 		{
-			get { return (bool)GetValue(EditingEnabledProperty);}
+			get
+			{
+				return (bool)GetValue(EditingEnabledProperty);
+			}
 			set
 			{
 				SetValue(EditingEnabledProperty, value);
@@ -96,7 +117,8 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 		}
 
 		public static readonly DependencyProperty DummyContentProperty = DependencyProperty.Register(
-			"DummyContent", typeof(object), typeof(MultiStageParameter), new PropertyMetadata(default(object)));
+			"DummyContent", typeof(object), typeof(MultiStageParameter),
+			new FrameworkPropertyMetadata(null));
 
 		public object DummyContent
 		{
@@ -105,13 +127,13 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 		}
 
 
-		public static readonly DependencyProperty HideCheckBoxProperty = DependencyProperty.Register(
-			"HideCheckBox", typeof(bool), typeof(MultiStageParameter), new PropertyMetadata(default(bool)));
+		public static readonly DependencyProperty ShowCheckBoxProperty = DependencyProperty.Register(
+			"ShowCheckBox", typeof(bool), typeof(MultiStageParameter), new PropertyMetadata(true));
 
-		public bool HideCheckBox
+		public bool ShowCheckBox
 		{
-			get { return (bool)GetValue(HideCheckBoxProperty); }
-			set { SetValue(HideCheckBoxProperty, value); }
+			get { return (bool)GetValue(ShowCheckBoxProperty); }
+			set { SetValue(ShowCheckBoxProperty, value); }
 		}
 
 
@@ -120,7 +142,7 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 			DependencyProperty.Register("Content",
 				typeof(object),
 				typeof(MultiStageParameter),
-				new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, new PropertyChangedCallback(ContentChanged))); //TODO Default value null breaks it for SIs default value "" for strings
+				new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, ContentChanged)); //TODO Default value null breaks it for SIs default value "" for strings
 
 		public new object Content
 		{
@@ -132,13 +154,31 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 		}
 
 		public static readonly DependencyProperty ListItemsProperty = DependencyProperty.Register(
-			"ListItems", typeof(List<object>), typeof(MultiStageParameter), new PropertyMetadata(default(List<object>)));
+			"ListItems", typeof(ObservableCollection<Enum>), typeof(MultiStageParameter),
+			new FrameworkPropertyMetadata(default(ObservableCollection<Enum>), ListItemsChanged));
 
-		public List<object> ListItems
+		private static void ListItemsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
 		{
-			get { return (List<object>)GetValue(ListItemsProperty); }
+			//throw new NotImplementedException();
+		}
+
+		public ObservableCollection<Enum> ListItems
+		{
+			get { return (ObservableCollection<Enum>)GetValue(ListItemsProperty); }
 			set { SetValue(ListItemsProperty, value); }
 		}
+		
+
+		public static readonly DependencyProperty GeneratedListItemsProperty = DependencyProperty.Register(
+			"GeneratedListItems", typeof(List<object>), typeof(MultiStageParameter), new PropertyMetadata(defaultValue:null));
+
+		public List<object> GeneratedListItems
+		{
+			get { return (List<object>)GetValue(GeneratedListItemsProperty); }
+			set { SetValue(GeneratedListItemsProperty, value); }
+		}
+
+
 
 #endregion
 
@@ -146,57 +186,87 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 		{
 			var multiStageParameter = (CustomControls.MultiStageParameter) d;
 
+			if (multiStageParameter.DummyContent == null) {
+				multiStageParameter.DummyContent = multiStageParameter.CreateDummyContent(e, multiStageParameter);
+			}
 
-			multiStageParameter.DummyContent = multiStageParameter.CreateDummyContent(e, multiStageParameter);
+			if (multiStageParameter.Content != null) {
+				multiStageParameter.EditingEnabled = true;
+			}
 
+			if (multiStageParameter.Mode == MultistageParameterViewMode.COMBOBOX) {
 
-			multiStageParameter.SetListItems();
+				multiStageParameter.GenerateListItemsAndSetComboboxValue();
+			}
 
 
-			if (multiStageParameter.LabelText != null) {
-				return;
+			if (multiStageParameter.LabelText == null) {
+				multiStageParameter.LabelText = multiStageParameter.GetLabelByPropertyName(
+					MultiStageParameter.ContentProperty,
+					Strings.ResourceManager);
 			}
-			multiStageParameter.LabelText = multiStageParameter.GetLabelByPropertyName(
-				MultiStageParameter.ContentProperty,
-				Strings.ResourceManager);
 		}
 
-		private void SetListItems()
+		private void GenerateListItemsAndSetComboboxValue()
 		{
-			if (!ComboBoxMode) 
+			if (Mode != MultistageParameterViewMode.COMBOBOX) 
 				return;
 
-			if(DummyContent is Enum en) {
-				var enType = en.GetType();
+			if (GeneratedListItems == null) {
+				if (DummyContent is Enum dummyEnum)
+				{
+					var enType = dummyEnum.GetType();
+					GeneratedListItems = Enum.GetValues(enType).Cast<object>().ToList();
+
+
+				}
+
+				if (Content is Enum contentEnum)
+				{
+					var enType = contentEnum.GetType();
+					GeneratedListItems = Enum.GetValues(enType).Cast<object>().ToList();
 
-				ListItems = Enum.GetValues(enType).Cast<object>().ToList();
+				}
+
+				//ListItems = GeneratedListItems;
 			}
 		}
 
 		private object CreateDummyContent(DependencyPropertyChangedEventArgs e, UserControl userControl)
 		{
-			dynamic type = userControl.GetPropertyType(e.Property);
+			var type = userControl.GetPropertyType(e.Property);
+			if (type == null) {
+				return null;
+			}
 
-			var baseType = type.BaseType;
+			if (type == typeof(ConvertedSI)) {
+				//var dummyContent = new ConvertedSI(0, (userControl.Content as ConvertedSI).Units);
+				return null; //dummyContent;
+			}
 			try {
+				dynamic dynType = type;
+				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(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;
 
-					var underlyingType = Nullable.GetUnderlyingType(type);
+					var underlyingType = Nullable.GetUnderlyingType(dynType);
 					Enum dummyEnum;
 					if (underlyingType != null) {
 						dummyEnum = Enum.Parse(underlyingType, underlyingType.GetEnumNames()[0]);
                     } else {
-						dummyEnum = Enum.Parse(type, type.GetEnumNames()[0]);
+						dummyEnum = Enum.Parse(dynType, dynType.GetEnumNames()[0]);
 					}
 
 					
@@ -215,12 +285,25 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 		private static void EditingEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
 		{
 			MultiStageParameter multiStageParameter = (MultiStageParameter)d;
-			if((bool)e.NewValue == false)
-			{
+			if((bool)e.NewValue == false) {
+				if (!Validation.GetHasError(multiStageParameter.TextBoxContent)) {
+					multiStageParameter.DummyContent = multiStageParameter.Content;
+				}
 				multiStageParameter.Content = null;
             } else {
-				if (multiStageParameter.DummyContent != null) {
-					multiStageParameter.Content = multiStageParameter.DummyContent;
+				if (multiStageParameter.Content != null) {
+					multiStageParameter.DummyContent = multiStageParameter.Content;
+				}else if (multiStageParameter.DummyContent != null) {
+					if (multiStageParameter.Mode == MultistageParameterViewMode.COMBOBOX) {
+						if (multiStageParameter.ListItems != null && !multiStageParameter.ListItems.Contains(multiStageParameter.DummyContent)) {
+							multiStageParameter.Content = multiStageParameter.ListItems[0];
+						} else {
+							multiStageParameter.Content = multiStageParameter.DummyContent;
+						}
+					} else {
+						multiStageParameter.Content = multiStageParameter.DummyContent;
+					}
+					
 				}
 			}
 		}
@@ -234,13 +317,19 @@ namespace VECTO3GUI2020.Views.Multistage.CustomControls
 		public MultiStageParameter()
         {
 			InitializeComponent();
-			
-			//LabelText = this.GetLabelByPropertyName(ContentProperty, Strings.ResourceManager);
 		}
 
 		private void Control_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
 		{
 			EditingEnabled = true;
 		}
+
+		public event PropertyChangedEventHandler PropertyChanged;
+
+		[NotifyPropertyChangedInvocator]
+		protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
+		{
+			PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+		}
 	}
 }
diff --git a/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml b/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml
new file mode 100644
index 0000000000000000000000000000000000000000..27c7ae37a583c40ddc6409478d4a03b271913bf6
--- /dev/null
+++ b/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml
@@ -0,0 +1,88 @@
+<UserControl x:Class="VECTO3GUI2020.Views.Multistage.ManufacturingStageAuxiliariesView"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             xmlns:local="clr-namespace:VECTO3GUI2020.Views.Multistage"
+             xmlns:customControls="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls"
+             xmlns:impl="clr-namespace:VECTO3GUI2020.ViewModel.MultiStage.Implementation"
+             mc:Ignorable="d" 
+             d:DesignHeight="450" d:DesignWidth="800" BorderBrush="{DynamicResource ButtonHighlightColor}" BorderThickness="2" Margin="4"
+             d:DataContext="{d:DesignInstance impl:MultistageAuxiliariesViewModel}">
+    <Grid>
+        <ScrollViewer>
+            <DockPanel>
+                <StackPanel DockPanel.Dock="Top">
+                    <Label Background="{DynamicResource ButtonHighlightColor}" FontSize="15" HorizontalAlignment="Stretch">AUXILIARIES</Label>
+                    <customControls:MultiStageParameter Mode="CHECKBOX" 
+                                                        PreviousContent="{Binding ConsolidatedInputData.ElectricConsumers.InteriorLightsLED}" 
+                                                        Content="{Binding InteriorLightsLED}"/>
+                    <customControls:MultiStageParameter Mode="CHECKBOX" 
+                                                PreviousContent="{Binding ConsolidatedInputData.ElectricConsumers.DayrunninglightsLED}" 
+                                                Content="{Binding DayrunninglightsLED}"/>
+                    <customControls:MultiStageParameter Mode="CHECKBOX" 
+                                                PreviousContent="{Binding ConsolidatedInputData.ElectricConsumers.PositionlightsLED}" 
+                                                Content="{Binding PositionlightsLED}"/>
+                    <customControls:MultiStageParameter Mode="CHECKBOX" 
+                                                PreviousContent="{Binding ConsolidatedInputData.ElectricConsumers.BrakelightsLED}" 
+                                                Content="{Binding BrakelightsLED}"/>
+                    <customControls:MultiStageParameter Mode="CHECKBOX" 
+                                                PreviousContent="{Binding ConsolidatedInputData.ElectricConsumers.HeadlightsLED}" 
+                                                Content="{Binding HeadlightsLED}"/>
+
+                    <Separator/>
+                    <customControls:MultiStageParameter Mode="COMBOBOX" 
+                                                        EditingEnabled="{Binding HeatPumpGroupEditingEnabled}" 
+                                                        PreviousContent="{Binding ConsolidatedInputData.HVACAux.SystemConfiguration}"
+                                                        Content="{Binding HVACAux.SystemConfiguration}"/>
+
+                    <customControls:MultiStageParameter Mode="COMBOBOX"
+                                                EditingEnabled="{Binding HeatPumpGroupEditingEnabled}" 
+                                                PreviousContent="{Binding ConsolidatedInputData.HVACAux.HeatPumpTypeDriverCompartment}" 
+                                                Content="{Binding HeatPumpTypeDriverCompartment}"
+                                                ShowCheckBox="False"/>
+                    <customControls:MultiStageParameter Mode="COMBOBOX" 
+                                                EditingEnabled="{Binding HeatPumpGroupEditingEnabled}"
+                                                PreviousContent="{Binding ConsolidatedInputData.HVACAux.HeatPumpModeDriverCompartment}" 
+                                                Content="{Binding HeatPumpModeDriverCompartment}"
+                                                ShowCheckBox="False"/>
+                    <customControls:MultiStageParameter Mode="COMBOBOX" 
+                                                EditingEnabled="{Binding HeatPumpGroupEditingEnabled}" 
+                                                PreviousContent="{Binding ConsolidatedInputData.HVACAux.HeatPumpTypePassengerCompartment}" 
+                                                Content="{Binding HeatPumpTypePassengerCompartment}"
+                                                ShowCheckBox="False"/>
+                    <customControls:MultiStageParameter Mode="COMBOBOX" 
+                                                EditingEnabled="{Binding HeatPumpGroupEditingEnabled}"
+                                                PreviousContent="{Binding ConsolidatedInputData.HVACAux.HeatPumpModePassengerCompartment}"
+                                                Content="{Binding HeatPumpModePassengerCompartment}"
+                                                ShowCheckBox="False"/>
+                    <Separator/>
+                    <customControls:MultiStageParameter Mode="TEXTBOX" 
+                                                        Validation.ErrorTemplate="{DynamicResource multistageParameterControlErrorTemplate}"
+                                                PreviousContent="{Binding ConsolidatedInputData.HVACAux.AuxHeaterPower}"
+                                                Content="{Binding AuxHeaterPower}"/>
+                    <customControls:MultiStageParameter Mode="CHECKBOX" 
+                                                PreviousContent="{Binding ConsolidatedInputData.HVACAux.DoubleGlazing}" 
+                                                Content="{Binding DoubleGlazing}"/>
+                    <customControls:MultiStageParameter Mode="CHECKBOX" 
+                                                PreviousContent="{Binding ConsolidatedInputData.HVACAux.AdjustableAuxiliaryHeater}"
+                                                Content="{Binding AdjustableAuxiliaryHeater}"/>
+                    <customControls:MultiStageParameter Mode="CHECKBOX" 
+                                                PreviousContent="{Binding ConsolidatedInputData.HVACAux.SeparateAirDistributionDucts}" 
+                                                Content="{Binding SeparateAirDistributionDucts}"/>
+                    <customControls:MultiStageParameter Mode="CHECKBOX" 
+                                                PreviousContent="{Binding ConsolidatedInputData.HVACAux.WaterElectricHeater}" 
+                                                Content="{Binding WaterElectricHeater}"/>
+                    <customControls:MultiStageParameter Mode="CHECKBOX" 
+                                                PreviousContent="{Binding ConsolidatedInputData.HVACAux.AirElectricHeater}"
+                                                Content="{Binding AirElectricHeater}"/>
+                    <customControls:MultiStageParameter Mode="CHECKBOX" 
+                                                PreviousContent="{Binding ConsolidatedInputData.HVACAux.OtherHeatingTechnology}" 
+                                                Content="{Binding OtherHeatingTechnology}"/>
+
+                    <Separator/>
+                </StackPanel>
+            </DockPanel>
+        </ScrollViewer>
+    </Grid>
+</UserControl>
diff --git a/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml.cs b/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml.cs
new file mode 100644
index 0000000000000000000000000000000000000000..1f8b74075cc13d319c4ada8b36a13fcff22ce931
--- /dev/null
+++ b/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace VECTO3GUI2020.Views.Multistage
+{
+    /// <summary>
+    /// Interaction logic for ManufacturingStageAuxiliariesView.xaml
+    /// </summary>
+    public partial class ManufacturingStageAuxiliariesView : UserControl
+    {
+        public ManufacturingStageAuxiliariesView()
+        {
+            InitializeComponent();
+        }
+    }
+}
diff --git a/VECTO3GUI2020/Views/Multistage/ManufacturingStageView.xaml b/VECTO3GUI2020/Views/Multistage/ManufacturingStageView.xaml
index 61edf5344a0221799b0c8ea34275379041434b20..14fdd3e62ef2c5ad1ca3935b4181f9de347d5ef5 100644
--- a/VECTO3GUI2020/Views/Multistage/ManufacturingStageView.xaml
+++ b/VECTO3GUI2020/Views/Multistage/ManufacturingStageView.xaml
@@ -7,7 +7,7 @@
              xmlns:implementation="clr-namespace:VECTO3GUI2020.ViewModel.MultiStage.Implementation" 
              mc:Ignorable="d" 
              d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance implementation:ManufacturingStageViewModel_v0_1 }">
-    <Grid MaxWidth="900">
+    <Grid>
         <DockPanel>
         <Grid Margin="4" DockPanel.Dock="Top">
             <Grid.ColumnDefinitions>
@@ -16,11 +16,11 @@
             </Grid.ColumnDefinitions>
         </Grid>
         <DockPanel Grid.Row="1" LastChildFill="False" DockPanel.Dock="Top" >
-            <Button DockPanel.Dock="Left" Style="{DynamicResource MultiStageButtonStyle1}" 
+            <Button Width="100" DockPanel.Dock="Left" Style="{DynamicResource MultiStageButtonStyle1}" 
                     Margin="4" Command="{Binding SwitchComponentViewCommand}" CommandParameter="Vehicle">Vehicle</Button>
-            <Button DockPanel.Dock="Left" Style="{DynamicResource MultiStageButtonStyle1}" 
+            <Button Width="100" DockPanel.Dock="Left" Style="{DynamicResource MultiStageButtonStyle1}" 
                     Margin="4" Command="{Binding SwitchComponentViewCommand}" CommandParameter="Airdrag">Airdrag</Button>
-            <Button DockPanel.Dock="Left" Style="{DynamicResource MultiStageButtonStyle1}" 
+            <Button  Width="100" DockPanel.Dock="Left" Style="{DynamicResource MultiStageButtonStyle1}" 
                     Margin="4" Command="{Binding SwitchComponentViewCommand}" CommandParameter="Auxiliaries">Auxiliaries</Button>
 
             <StackPanel Orientation="Horizontal" DockPanel.Dock="Right">
@@ -29,7 +29,7 @@
                 </StackPanel>
                
         </DockPanel>
-        <ContentControl Content="{Binding CurrentView}"></ContentControl>
+        <ContentControl  DockPanel.Dock="Top" Content="{Binding CurrentView}"/>
         </DockPanel>
     </Grid>
 </UserControl>
diff --git a/VECTO3GUI2020/Views/Multistage/MultiStageView.xaml b/VECTO3GUI2020/Views/Multistage/MultiStageView.xaml
index 585ae3f4da309829478e5d7e438c9faf69498a15..449554b41c18f989dc1709a95bfe4b9e3eedfd0e 100644
--- a/VECTO3GUI2020/Views/Multistage/MultiStageView.xaml
+++ b/VECTO3GUI2020/Views/Multistage/MultiStageView.xaml
@@ -5,13 +5,48 @@
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:VECTO3GUI2020.Views.Multistage"
              xmlns:implementation="clr-namespace:VECTO3GUI2020.ViewModel.MultiStage.Implementation"
+             xmlns:customControls="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls"
              mc:Ignorable="d" 
              d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance implementation:MultiStageJobViewModel_v0_1}">
     <Grid>
-        <ScrollViewer>
         <DockPanel>
+            <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 CloseWindowCommand}" 
+                        CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
+                        Style="{DynamicResource MultiStageButtonStyle1}"
+                        Margin="4"
+                        Padding="4">Close</Button>
+                    <Button DockPanel.Dock="Right"
+                            Width="100"
+                            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" 
+                        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}"/>
+
         </DockPanel>
-        </ScrollViewer>
     </Grid>
 </UserControl>
diff --git a/VECTO3GUI2020/Views/Multistage/MultistageAirDragView.xaml b/VECTO3GUI2020/Views/Multistage/MultistageAirDragView.xaml
index 61ba5e753f8159e6f3c0cdea009de6d4e6c65ace..3eb4584508a506adcebea3e1751586bf590a7697 100644
--- a/VECTO3GUI2020/Views/Multistage/MultistageAirDragView.xaml
+++ b/VECTO3GUI2020/Views/Multistage/MultistageAirDragView.xaml
@@ -4,18 +4,51 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:VECTO3GUI2020.Views.Multistage"
-             xmlns:customControls="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls"
-             xmlns:customControls1="clr-namespace:VECTO3GUI2020.Views.CustomControls"
+             xmlns:customControlsMultistage="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls"
+             xmlns:customControls="clr-namespace:VECTO3GUI2020.Views.CustomControls"
              xmlns:impl="clr-namespace:VECTO3GUI2020.ViewModel.MultiStage.Implementation"
+             xmlns:properties="clr-namespace:VECTO3GUI2020.Properties"
              mc:Ignorable="d" 
-             d:DesignHeight="450" d:DesignWidth="800" BorderBrush="Aquamarine" BorderThickness="2" Margin="4"
+             d:DesignHeight="450" d:DesignWidth="800" BorderBrush="{DynamicResource ButtonHighlightColor}" BorderThickness="2" Margin="4"
              d:DataContext="{d:DesignInstance impl:MultistageAirdragViewModel}">
     <Grid>
-        <StackPanel>
-            <Label Content="AIRDRAG" HorizontalAlignment="Stretch" Background="Aquamarine"/>
-            <customControls1:LabledCheckBoxAutomatic Content="{Binding AirdragModified}"></customControls1:LabledCheckBoxAutomatic>
-            <customControls:FilePicker Height="30px" VerticalAlignment="Top" Text="Test" Command="{Binding LoadAirdragFileCommand}"></customControls:FilePicker>
-        </StackPanel>
+        <ScrollViewer>
+            <DockPanel>
+                <StackPanel DockPanel.Dock="Top">
+                    <Label Content="AIRDRAG" HorizontalAlignment="Stretch" Background="{DynamicResource ButtonHighlightColor}" Style="{DynamicResource LabelStyle1}"/>
+                    <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" >
+                        
+                        <StackPanel 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"/>
+                        </StackPanel>
+                        <Label Style="{DynamicResource LabelStyle1}">Data from File</Label>
+                        <ContentControl Content="{Binding AirDragViewModel}" 
+                                        Visibility="{Binding AirDragViewModel, Converter={StaticResource NullToVisibilityConverter}}">
+                            <ContentControl.ContentTemplate>
+                                <DataTemplate>
+                                    <local:AirDragView_v2_8 DataContext="{Binding }"/>
+                                </DataTemplate>
+                            </ContentControl.ContentTemplate>
+                        </ContentControl>
+                    </StackPanel>
+                </StackPanel>
+            </DockPanel>
+        </ScrollViewer>
     </Grid>
 </UserControl>
diff --git a/VECTO3GUI2020/Views/Multistage/NewMultistageFileView.xaml b/VECTO3GUI2020/Views/Multistage/NewMultistageFileView.xaml
index ac0ac999b7bc8da565663053300b00d0d649d96d..03e223fc519d0201a90adfb8a754447dd5b4b106 100644
--- a/VECTO3GUI2020/Views/Multistage/NewMultistageFileView.xaml
+++ b/VECTO3GUI2020/Views/Multistage/NewMultistageFileView.xaml
@@ -5,24 +5,24 @@
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:VECTO3GUI2020.Views.Multistage"
              xmlns:implementation="clr-namespace:VECTO3GUI2020.ViewModel.MultiStage.Implementation"
+             xmlns:customControls="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls"
              mc:Ignorable="d" 
-             d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance implementation:NewMultiStageJobViewModel }">
+             d:DesignHeight="450" x:Name="NewMultistageJobView" d:DesignWidth="800" d:DataContext="{d:DesignInstance implementation:NewMultiStageJobViewModel }">
     <Grid>
         <Grid MaxWidth="900">
             <DockPanel>
-                <Grid Margin="4" DockPanel.Dock="Top">
-                    <Grid.ColumnDefinitions>
-                        <ColumnDefinition></ColumnDefinition>
-                        <ColumnDefinition Width="30px"></ColumnDefinition>
-                    </Grid.ColumnDefinitions>
-                    <TextBox VerticalContentAlignment="Center" Height="Auto" Padding="4" Margin = "0 0 0 0" IsReadOnly="True" 
-                             Text="{Binding VifPath}" HorizontalAlignment="Stretch"/>
-                    <Button Padding="4" Margin="4 0 0 0" Grid.Column="1" Command="{Binding AddVifFile}">
-                        <Image Source="../../Resources/folderpicker.ico">
-                        </Image>
-                    </Button>
+                <Grid DockPanel.Dock="Top">
+                    <customControls:FilePicker x:Name="NewMultistageFilePicker" Grid.Row="0" Text="{Binding VifPath}" HorizontalAlignment="Stretch" Command="{Binding AddVifFile}"/>
                 </Grid>
+                <Button Style="{DynamicResource MultiStageButtonStyle1}" 
+                        Margin="4"  DockPanel.Dock="Bottom" 
+                        Visibility="{Binding MultiStageJobViewModel, Converter={StaticResource NullToVisibilityConverter}, ConverterParameter=invert}"
+                        Command="{Binding CloseWindow}" 
+                        CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}">
+                    Cancel
+                </Button>
                 <ContentControl Grid.Row="2" Content="{Binding MultiStageJobViewModel}"/>
+
             </DockPanel>
         </Grid>
     </Grid>
diff --git a/VECTO3GUI2020/Views/Multistage/VehicleView_v2_8.xaml b/VECTO3GUI2020/Views/Multistage/VehicleView_v2_8.xaml
index 42823fb59c1a3dca9a85e03ff71e37c00b4c5c20..a456f13b2c03dc6d2c06523657b39608076e2496 100644
--- a/VECTO3GUI2020/Views/Multistage/VehicleView_v2_8.xaml
+++ b/VECTO3GUI2020/Views/Multistage/VehicleView_v2_8.xaml
@@ -6,64 +6,152 @@
              xmlns:local="clr-namespace:VECTO3GUI2020.Views.Multistage"
              xmlns:custom="clr-namespace:VECTO3GUI2020.Views.Multistage.CustomControls" xmlns:implementation="clr-namespace:VECTO3GUI2020.ViewModel.MultiStage.Implementation" d:DataContext="{d:DesignInstance Type=implementation:DeclarationInterimStageBusVehicleViewModel_v2_8}"
              mc:Ignorable="d" 
-             d:DesignHeight="450" d:DesignWidth="800" BorderBrush="Aquamarine" BorderThickness="2px" Margin="4px">
+             d:DesignHeight="450" d:DesignWidth="800" BorderBrush="{DynamicResource ButtonHighlightColor}" BorderThickness="2px" Margin="4px">
     <Grid>
-        <StackPanel>
-        <Label Content="VEHICLE DATA" HorizontalAlignment="Stretch" Background="Aquamarine"/>
-        <custom:MultiStageParameter Optional="False" Content="{Binding Manufacturer}"/>
-        <custom:MultiStageParameter Optional="False" Content="{Binding ManufacturerAddress}"/>
-        <custom:MultiStageParameter Optional="False" Content="{Binding VIN}"/>
-
-        <custom:MultiStageParameter 
-            PreviousContent="{Binding PrevStageInputData.Model}" 
-            Content="{Binding Model}"/>
-        <Separator/>
-        <custom:MultiStageParameter EditingEnabled="{Binding 
-            MeasurementsGroupEditingEnabled}" 
-                                    PreviousContent="{Binding PrevStageInputData.Height}"
-                                    Content="{Binding Height}"/>
-        <custom:MultiStageParameter EditingEnabled="{Binding 
-            MeasurementsGroupEditingEnabled}" 
-                                    PreviousContent="{Binding PrevStageInputData.Width}"
-                                    Content="{Binding Width}"
-                                    HideCheckBox="True"/>
-        <custom:MultiStageParameter EditingEnabled="{Binding 
-            MeasurementsGroupEditingEnabled}" 
-                                    PreviousContent="{Binding PrevStageInputData.Length}"
-                                    Content="{Binding Length}"
-                                    HideCheckBox="True"/>
-            <Separator/>
-        <custom:MultiStageParameter EditingEnabled="{Binding 
-            NumberOfPassengersEditingEnabled}" 
-                                    PreviousContent="{Binding PrevStageInputData.NumberOfPassengersUpperDeck}"
-                                    Content="{Binding NumberOfPassengersUpperDeck}"/>
-        <custom:MultiStageParameter EditingEnabled="{Binding 
-            NumberOfPassengersEditingEnabled}" 
-                                    PreviousContent="{Binding PrevStageInputData.NumberOfPassengersLowerDeck}"
-                                    Content="{Binding NumberOfPassengersLowerDeck}"
-                                    HideCheckBox="True"/>
-
-        <Separator/>
-        <custom:MultiStageParameter PreviousContent="{Binding PrevStageInputData.GrossVehicleMassRating}"
-                                    Content="{Binding GrossVehicleMassRating}"/>
-        <custom:MultiStageParameter PreviousContent="{Binding PrevStageInputData.DoorDriveTechnology}"
-                                    Content="{Binding DoorDriveTechnology}" ComboBoxMode="True" />
-        <custom:MultiStageParameter PreviousContent="{Binding PrevStageInputData.LegislativeClass}"
-                                    Content="{Binding LegislativeClass}" ComboBoxMode="True" />
-        <custom:MultiStageParameter PreviousContent="{Binding PrevStageInputData.RegisteredClass}"
-                                    Content="{Binding RegisteredClass}" ComboBoxMode="True" />
-        <custom:MultiStageParameter PreviousContent="{Binding PrevStageInputData.VehicleCode}"
-                                    Content="{Binding VehicleCode}" ComboBoxMode="True" />
-        <custom:MultiStageParameter PreviousContent="{Binding PrevStageInputData.LowEntry}"
-                                    Content="{Binding LowEntry}" />
-        <custom:MultiStageParameter PreviousContent="{Binding PrevStageInputData.EntranceHeight}"
-                                    Content="{Binding EntranceHeight}" />
-        <custom:MultiStageParameter PreviousContent="{Binding PrevStageInputData.TankSystem}"
-                                    Content="{Binding TankSystem}" ComboBoxMode="True" />
-        <custom:MultiStageParameter PreviousContent="{Binding PrevStageInputData.VehicleDeclarationType}"
-                                    Content="{Binding VehicleDeclarationType}" ComboBoxMode="True" />
-
-
-        </StackPanel>
+        <ScrollViewer>
+            <DockPanel>
+            <StackPanel>
+                <Label Content="VEHICLE DATA" HorizontalAlignment="Stretch" FontSize="15" VerticalAlignment="Stretch"
+                       Style="{DynamicResource LabelStyle1}"/>
+
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                    Optional="False" 
+                    Content="{Binding Manufacturer, ValidatesOnDataErrors=True}"/>
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                    Optional="False"
+                    Content="{Binding ManufacturerAddress, ValidatesOnDataErrors=True}"/>
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                    Optional="False" 
+                    Content="{Binding VIN, ValidatesOnDataErrors=True}"/>
+
+                <custom:MultiStageParameter 
+                    PreviousContent="{Binding ConsolidatedVehicleData.Model}" 
+                    Content="{Binding Model}"/>
+
+                <custom:MultiStageParameter 
+                    PreviousContent="{Binding ConsolidatedVehicleData.LegislativeClass}"
+                    Content="{Binding LegislativeClass}" 
+                    Mode="COMBOBOX" />
+
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                                            PreviousContent="{Binding ConsolidatedVehicleData.CurbMassChassis}"
+                                            Content="{Binding CurbMassChassis}"/>
+
+                <custom:MultiStageParameter Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                                            PreviousContent="{Binding ConsolidatedVehicleData.GrossVehicleMassRating}"
+                                            Content="{Binding GrossVehicleMassRating}"/>
+
+
+                <custom:MultiStageParameter x:Name="AirdragModified"
+                    Validation.ErrorTemplate="{StaticResource multistageParameterControlErrorTemplate}"
+                                            EditingEnabled="{Binding AirdragModifiedMultistageEditingEnabled}"
+                                            PreviousContent="{Binding ConsolidatedAirdragmodified}"
+                                            Content="{Binding AirdragModifiedEnum, ValidatesOnDataErrors=True}" 
+                                            Mode="COMBOBOX"/>
+
+                <custom:MultiStageParameter 
+                    PreviousContent="{Binding ConsolidatedVehicleData.TankSystem}"
+                    Content="{Binding TankSystem}" 
+                    Mode="COMBOBOX" />
+
+                <custom:MultiStageParameter 
+                    PreviousContent="{Binding ConsolidatedVehicleData.RegisteredClass}"
+                    Content="{Binding RegisteredClass}" 
+                    Mode="COMBOBOX" />
+
+                <Separator/>
+                <custom:MultiStageParameter 
+                    EditingEnabled="{Binding NumberOfPassengersEditingEnabled}" 
+                    PreviousContent="{Binding ConsolidatedVehicleData.NumberOfPassengersUpperDeck}"
+                    Content="{Binding NumberOfPassengersUpperDeck}"/>
+                <custom:MultiStageParameter 
+                    EditingEnabled="{Binding NumberOfPassengersEditingEnabled}" 
+                    PreviousContent="{Binding ConsolidatedVehicleData.NumberOfPassengersLowerDeck}"
+                    Content="{Binding NumberOfPassengersLowerDeck}"
+                    ShowCheckBox="False"/>
+                <Separator/>
+                <custom:MultiStageParameter 
+                    PreviousContent="{Binding ConsolidatedVehicleData.VehicleCode}"
+                    ListItems="{Binding VehicleCodeAllowedValues}"
+                    Content="{Binding VehicleCode}" 
+                    Mode="COMBOBOX"
+                    />
+
+                <custom:MultiStageParameter 
+                    PreviousContent="{Binding ConsolidatedVehicleData.LowEntry}"
+                    Content="{Binding LowEntry}" 
+                    Mode="CHECKBOX"
+                    />
+
+                <Separator/>
+                <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/>
+
+
+                <custom:MultiStageParameter 
+                    PreviousContent="{Binding ConsolidatedVehicleData.DoorDriveTechnology}"
+                                            
+                    Content="{Binding DoorDriveTechnology}" Mode="COMBOBOX" />
+
+
+                <custom:MultiStageParameter 
+                    EditingEnabled="True"
+                    ShowCheckBox="False"
+                    PreviousContent="{Binding ConsolidatedVehicleData.VehicleDeclarationType}"
+                    Content="{Binding VehicleDeclarationType}" Mode="COMBOBOX" />
+
+                <Label Content="ADAS" Style="{DynamicResource LabelStyle1}"/>
+                <custom:MultiStageParameter 
+                    EditingEnabled="{Binding AdasEditingEnabled}"
+                    PreviousContent="{Binding ConsolidatedVehicleData.ADAS.EngineStopStart}"
+                    Content="{Binding EngineStopStartNullable}"
+                    
+                    Mode="CHECKBOX"/>
+                <custom:MultiStageParameter 
+                    EditingEnabled="{Binding AdasEditingEnabled}"
+                    PreviousContent="{Binding ConsolidatedVehicleData.ADAS.EcoRoll}"
+                    Content="{Binding EcoRollTypeNullable}"
+                    ShowCheckBox="False"
+                    Mode="COMBOBOX"/>
+                <custom:MultiStageParameter 
+                    EditingEnabled="{Binding AdasEditingEnabled}"
+                    PreviousContent="{Binding ConsolidatedVehicleData.ADAS.PredictiveCruiseControl}"
+                    Content="{Binding PredictiveCruiseControlNullable}"
+                    ShowCheckBox="False"
+                    Mode="COMBOBOX"/>
+                <custom:MultiStageParameter
+                    EditingEnabled="{Binding AdasEditingEnabled}"
+                    PreviousContent="{Binding ConsolidatedVehicleData.ADAS.ATEcoRollReleaseLockupClutch}"
+                    Content="{Binding ATEcoRollReleaseLockupClutch}"
+                    ShowCheckBox="False"
+                    Mode="CHECKBOX"/>
+            </StackPanel>
+        </DockPanel>
+        </ScrollViewer>
     </Grid>
 </UserControl>
diff --git a/VECTO3GUI2020/Views/SettingsView.xaml b/VECTO3GUI2020/Views/SettingsView.xaml
index c96f1beb1430f5e72df72de1636b0149f5736b81..b026ea4a7bae84508a5d5df3b98a7e0a4ce289f0 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/Vecto3GUI2020Test/AllTestWithoutUI.testsession b/Vecto3GUI2020Test/AllTestWithoutUI.testsession
new file mode 100644
index 0000000000000000000000000000000000000000..09c416848ccbebfc94be4fd3f62e8923f6fd29a7
--- /dev/null
+++ b/Vecto3GUI2020Test/AllTestWithoutUI.testsession
@@ -0,0 +1,14 @@
+<SessionState ContinuousTestingMode="0" IsActive="True" Name="AllTestWithoutUI" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
+  <TestAncestor>
+    <TestId>NUnit3x::7F4FF473-96B3-461E-9CE6-76D3B75F87CB::.NETFramework,Version=v4.8::Vecto3GUI2020Test.ViewModelTests.VIFTests.LoadPrimaryVehicleAndStageInputThenCreateVif</TestId>
+    <TestId>NUnit3x::7F4FF473-96B3-461E-9CE6-76D3B75F87CB::.NETFramework,Version=v4.8::Vecto3GUI2020Test.ViewModelTests.VehicleViewModelTests.airdragNotModifiedInPreviousStages</TestId>
+    <TestId>NUnit3x::7F4FF473-96B3-461E-9CE6-76D3B75F87CB::.NETFramework,Version=v4.8::Vecto3GUI2020Test.ViewModelTests.VIFTests.loadPrimaryVehicleOnlyAndCreateNewVIF</TestId>
+    <TestId>NUnit3x::7F4FF473-96B3-461E-9CE6-76D3B75F87CB::.NETFramework,Version=v4.8::Vecto3GUI2020Test.ViewModelTests.VIFTests.TestAirdragLoad</TestId>
+    <TestId>NUnit3x::7F4FF473-96B3-461E-9CE6-76D3B75F87CB::.NETFramework,Version=v4.8::Vecto3GUI2020Test.LoadAndSaveVehicleData.SaveVehicleDataWithMissingFields</TestId>
+    <TestId>NUnit3x::7F4FF473-96B3-461E-9CE6-76D3B75F87CB::.NETFramework,Version=v4.8::Vecto3GUI2020Test.LoadAndSaveVehicleData.loadPrimaryAndSaveVehicleData</TestId>
+    <TestId>NUnit3x::7F4FF473-96B3-461E-9CE6-76D3B75F87CB::.NETFramework,Version=v4.8::Vecto3GUI2020Test.LoadAndSaveVehicleData.loadInputFileMultipleStage</TestId>
+    <TestId>NUnit3x::7F4FF473-96B3-461E-9CE6-76D3B75F87CB::.NETFramework,Version=v4.8::Vecto3GUI2020Test.LoadAndSaveVehicleData</TestId>
+    <TestId>NUnit3x::7F4FF473-96B3-461E-9CE6-76D3B75F87CB::.NETFramework,Version=v4.8::Vecto3GUI2020Test.ViewModelTests.VIFTests</TestId>
+    <TestId>NUnit3x::7F4FF473-96B3-461E-9CE6-76D3B75F87CB::.NETFramework,Version=v4.8::Vecto3GUI2020Test.ViewModelTests.VehicleViewModelTests</TestId>
+  </TestAncestor>
+</SessionState>
\ No newline at end of file
diff --git a/Vecto3GUI2020Test/UI/DesktopSession.cs b/Vecto3GUI2020Test/UI/DesktopSession.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d71ebdb97973fcb2f1a3d58f490d86c721289fce
--- /dev/null
+++ b/Vecto3GUI2020Test/UI/DesktopSession.cs
@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using OpenQA.Selenium.Appium;
+using OpenQA.Selenium.Appium.Windows;
+using OpenQA.Selenium.Remote;
+
+namespace Vecto3GUI2020Test
+{
+	public class DesktopSession
+	{
+		private const string WindowsApplicationDriverUrl = "http://127.0.0.1:4723/";
+		WindowsDriver<WindowsElement> desktopSession;
+
+		public DesktopSession()
+		{
+			var process = Process.Start(@"C:\Program Files (x86)\Windows Application Driver\WinAppDriver.exe");
+
+			var appCapabilities = new AppiumOptions();
+			appCapabilities.AddAdditionalCapability("app", "Root");
+			appCapabilities.AddAdditionalCapability("deviceName", "WindowsPC");
+			desktopSession = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);
+		}
+
+		~DesktopSession()
+		{
+			desktopSession.Quit();
+		}
+
+		public WindowsDriver<WindowsElement> DesktopSessionElement
+		{
+			get { return desktopSession; }
+		}
+
+		public WindowsElement FindElementByAbsoluteXPath(string xPath, int nTryCount = 15)
+		{
+			WindowsElement uiTarget = null;
+
+			while (nTryCount-- > 0) {
+				try {
+					uiTarget = desktopSession.FindElementByXPath(xPath);
+				} catch {
+				}
+
+				if (uiTarget != null) {
+					break;
+				} else {
+					System.Threading.Thread.Sleep(200);
+				}
+			}
+
+			return uiTarget;
+		}
+	}
+}
diff --git a/Vecto3GUI2020Test/UI/UITests.cs b/Vecto3GUI2020Test/UI/UITests.cs
new file mode 100644
index 0000000000000000000000000000000000000000..797da3c10a0538eeb28517b10764df6a37926fdc
--- /dev/null
+++ b/Vecto3GUI2020Test/UI/UITests.cs
@@ -0,0 +1,268 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using NUnit.Framework;
+using OpenQA.Selenium;
+using OpenQA.Selenium.Appium.Android;
+using OpenQA.Selenium.Appium.Windows;
+using OpenQA.Selenium.Interactions;
+using Vecto3GUI2020Test.UI;
+
+namespace Vecto3GUI2020Test
+{/// <summary>
+/// The Application under Test has to run on a Windows 10 Machine on a Desktop called "VE
+/// </summary>
+    [TestFixture]
+    public class UITests : VECTO3GUI2020Session
+    {
+		[SetUp]
+		public void Setup()
+		{
+            Setup(TestContext.CurrentContext);
+		}
+
+
+		[Test]
+		public void LoadFileSession()
+		{
+			session.FindElementByXPath(
+				"//Button[@Name=\"New Multistage File\"][@AutomationId=\"JobListViewNewManufacturingStageFileButton\"]").Click(); //open new multistageWindow
+
+			
+			session.SwitchTo().Window(session.WindowHandles.Last());
+			Assert.AreEqual(2, session.WindowHandles.Count);
+
+			
+			session.FindElementByXPath(
+				".//Custom[@AutomationId=\"NewMultistageJobView\"]/Custom[@AutomationId=\"NewMultistageFilePicker\"]/Button[@AutomationId=\"button\"]").Click();
+
+			
+
+			Assert.AreEqual(3, session.WindowHandles);
+			
+
+
+			Thread.Sleep(100000);
+		}  
+
+
+
+
+		#region DesktopSessionTests
+
+		//[Ignore("disabled Desktop Session tests")]
+		//[Test]
+		//public void LoadFile()
+		//{
+		//	LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_multiple_stages.xml");
+		//}
+		//[Ignore("disabled Desktop Session tests")]
+		//[Test]
+		//public void LoadFileAirdrag()
+		//{
+		//	LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_multiple_stages_airdrag.xml");
+
+		//}
+		//[Ignore("disabled Desktop Session tests")]
+		//[Test]
+		//public void LoadFileheatPump()
+		//{
+		//	LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_multiple_stages_heatPump.xml");
+
+		//}
+		//[Ignore("disabled Desktop Session tests")]
+		//[Test]
+		//public void LoadFilehev()
+		//{
+		//	LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_multiple_stages_hev.xml");
+
+		//}
+
+		//[Ignore("disabled Desktop Session tests")]
+		//[Test]
+		//public void LoadFileNGTankSystem()
+		//{
+		//	LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml");
+		//}
+
+		//[Ignore("disabled Desktop Session tests")]
+		//[Test]
+		//public void LoadFileConsolidatedOneStage()
+		//{
+		//	LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_one_stage.xml");
+		//}
+		//[Ignore("disabled Desktop Session tests")]
+		//[Test]
+		//public void LoadFileConsolidatedTwoStages()
+		//{
+		//	LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_two_stages.xml");
+		//}
+		//[Ignore("disabled Desktop Session tests")]
+		//[Test]
+		//public void LoadFilePrimaryVehicleOnly()
+		//{
+		//	LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_primary_vehicle_only.xml");
+		//}
+
+		//[Ignore("disabled Desktop Session tests")]
+		//[Test]
+		//public void LoadFilePrimaryVehicleStage_2_3()
+		//{
+		//	LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_one_stage.xml");
+		//}
+		//[Ignore("disabled Desktop Session tests")]
+		//[Test]
+		//public void LoadFilePrimaryVehicleOnlyAndCheckFields()
+		//{
+		//	LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_primary_vehicle_only.xml");
+		//	//Check vehicle fields
+		//	SelectVehicleTab();
+		//	focusToActiveWindow();
+		//	//var element = session.FindElementByXPath()
+		//}
+
+		//private void LoadFileThroughUIWithDesktopSession(string fileName)
+		//{
+		//	// LeftClick on Button "New Multistage File" at (65,28)
+		//	// LeftClick on Button "New Multistage File" at (87,25)
+		//	Console.WriteLine("LeftClick on Button \"New Multistage File\" at (87,25)");
+		//	string xpath_LeftClickButtonNewMultist_87_25 = "/Pane[@ClassName=\"#32769\"][@Name=\"Vecto\"]/Window[@ClassName=\"Window\"][@Name=\"Vecto\"]/Custom[@ClassName=\"JobListView\"]/Button[@Name=\"New Multistage File\"][@AutomationId=\"JobListViewNewManufacturingStageFileButton\"]";
+		//	var winElem_LeftClickButtonNewMultist_87_25 = desktopSession.FindElementByAbsoluteXPath(xpath_LeftClickButtonNewMultist_87_25);
+			
+		//	if (winElem_LeftClickButtonNewMultist_87_25 != null)
+		//	{
+		//		winElem_LeftClickButtonNewMultist_87_25.Click();
+		//	}
+		//	else
+		//	{
+		//		Console.WriteLine($"Failed to find element using xpath: {xpath_LeftClickButtonNewMultist_87_25}");
+		//	}
+		//	Assert.NotNull(winElem_LeftClickButtonNewMultist_87_25);
+
+		//	// LeftDblClick on Button "" at (11,11)
+		//	Console.WriteLine("LeftDblClick on Button \"\" at (11,11)");
+		//	string xpath_LeftDblClickButton_11_11 = "/Pane[@ClassName=\"#32769\"][@Name=\"Vecto\"]/Window[@ClassName=\"Window\"][starts-with(@Name,\"VECTO3GUI2020.ViewModel.MultiStage.Implementation.NewMultiStageJ\")]/Custom[@AutomationId=\"NewMultistageJobView\"]/Custom[@AutomationId=\"NewMultistageFilePicker\"]/Button[@AutomationId=\"button\"]";
+		//	var winElem_LeftDblClickButton_11_11 = desktopSession.FindElementByAbsoluteXPath(xpath_LeftDblClickButton_11_11);
+			
+		//	if (winElem_LeftDblClickButton_11_11 != null) {
+		//		desktopSession.DesktopSessionElement.Mouse.MouseMove(winElem_LeftDblClickButton_11_11.Coordinates);
+		//		desktopSession.DesktopSessionElement.Mouse.DoubleClick(null);
+		//	}
+		//	else
+		//	{
+		//		Console.WriteLine($"Failed to find element using xpath: {xpath_LeftDblClickButton_11_11}");
+
+		//	}
+		//	Assert.NotNull(winElem_LeftDblClickButton_11_11);
+
+		//	// LeftDblClick on Edit "Name" at (284,8)
+		//	Console.WriteLine("LeftDblClick on Edit \"Name\" at (284,8)");
+		//	string xpath_LeftDblClickEditName_284_8 = $"/Pane[@ClassName=\"#32769\"][@Name=\"Vecto\"]/Window[@ClassName=\"Window\"][starts-with(@Name,\"VECTO3GUI2020.ViewModel.MultiStage.Implementation.NewMultiStageJ\")]/Window[@ClassName=\"#32770\"][@Name=\"Öffnen\"]/Pane[@ClassName=\"DUIViewWndClassName\"]/Pane[@Name=\"Shellordneransicht\"][@AutomationId=\"listview\"]/List[@ClassName=\"UIItemsView\"][@Name=\"Elementansicht\"]/ListItem[@ClassName=\"UIItem\"][@Name={fileName}]/Edit[@Name=\"Name\"][@AutomationId=\"System.ItemNameDisplay\"]";
+		//	var winElem_LeftDblClickEditName_284_8 = desktopSession.FindElementByAbsoluteXPath(xpath_LeftDblClickEditName_284_8);
+		//	if (winElem_LeftDblClickEditName_284_8 != null)
+		//	{
+		//		desktopSession.DesktopSessionElement.Mouse.MouseMove(winElem_LeftDblClickEditName_284_8.Coordinates);
+		//		desktopSession.DesktopSessionElement.Mouse.DoubleClick(null);
+		//	}
+		//	else
+		//	{
+		//		Console.WriteLine($"Failed to find element using xpath: {xpath_LeftDblClickEditName_284_8}");
+		//	}
+		//	Assert.NotNull(winElem_LeftDblClickEditName_284_8);
+
+
+
+		//	SelectAirdragTab();
+		//	SelectAuxiliariesTab();
+		//	SelectVehicleTab();
+		//	SelectAuxiliariesTab();
+		//	SelectAirdragTab();
+
+			
+
+
+
+		//}
+
+
+		//private void SelectVehicleTab()
+		//{
+		//	// LeftClick on Text "Vehicle" at (13,14)
+		//	Console.WriteLine("LeftClick on Text \"Vehicle\" at (13,14)");
+		//	string xpath_LeftClickTextVehicle_13_14 = "/Pane[@ClassName=\"#32769\"][@Name=\"Vecto\"]/Window[@ClassName=\"Window\"][starts-with(@Name,\"VECTO3GUI2020.ViewModel.MultiStage.Implementation.NewMultiStageJ\")]/Custom[@AutomationId=\"NewMultistageJobView\"]/Custom[@ClassName=\"MultiStageView\"]/Custom[@ClassName=\"ManufacturingStageView\"]/Button[@ClassName=\"Button\"][@Name=\"Vehicle\"]/Text[@ClassName=\"TextBlock\"][@Name=\"Vehicle\"]";
+		//	var winElem_LeftClickTextVehicle_13_14 = desktopSession.FindElementByAbsoluteXPath(xpath_LeftClickTextVehicle_13_14);
+		//	if (winElem_LeftClickTextVehicle_13_14 != null)
+		//	{
+		//		winElem_LeftClickTextVehicle_13_14.Click();
+		//	}
+		//	else
+		//	{
+		//		Console.WriteLine($"Failed to find element using xpath: {xpath_LeftClickTextVehicle_13_14}");
+		//	}
+		//	Assert.NotNull(winElem_LeftClickTextVehicle_13_14);
+		//}
+
+		//private void SelectAirdragTab()
+		//{
+		//	// LeftClick on Text "Airdrag" at (21,13)
+		//	Console.WriteLine("LeftClick on Text \"Airdrag\" at (21,13)");
+		//	string xpath_LeftClickTextAirdrag_21_13 = "/Pane[@ClassName=\"#32769\"][@Name=\"Vecto\"]/Window[@ClassName=\"Window\"][starts-with(@Name,\"VECTO3GUI2020.ViewModel.MultiStage.Implementation.NewMultiStageJ\")]/Custom[@AutomationId=\"NewMultistageJobView\"]/Custom[@ClassName=\"MultiStageView\"]/Custom[@ClassName=\"ManufacturingStageView\"]/Button[@ClassName=\"Button\"][@Name=\"Airdrag\"]/Text[@ClassName=\"TextBlock\"][@Name=\"Airdrag\"]";
+		//	var winElem_LeftClickTextAirdrag_21_13 = desktopSession.FindElementByAbsoluteXPath(xpath_LeftClickTextAirdrag_21_13);
+		//	if (winElem_LeftClickTextAirdrag_21_13 != null)
+		//	{
+		//		winElem_LeftClickTextAirdrag_21_13.Click();
+		//	}
+		//	else
+		//	{
+		//		Console.WriteLine($"Failed to find element using xpath: {xpath_LeftClickTextAirdrag_21_13}");
+		//		return;
+		//	}
+		//	Assert.NotNull(winElem_LeftClickTextAirdrag_21_13);
+		//}
+
+		//private void SelectAuxiliariesTab()
+		//{
+		//	// LeftClick on Button "Auxiliaries" at (9,13)
+		//	Console.WriteLine("LeftClick on Button \"Auxiliaries\" at (9,13)");
+		//	string xpath_LeftClickButtonAuxiliarie_9_13 = "/Pane[@ClassName=\"#32769\"][@Name=\"Vecto\"]/Window[@ClassName=\"Window\"][starts-with(@Name,\"VECTO3GUI2020.ViewModel.MultiStage.Implementation.NewMultiStageJ\")]/Custom[@AutomationId=\"NewMultistageJobView\"]/Custom[@ClassName=\"MultiStageView\"]/Custom[@ClassName=\"ManufacturingStageView\"]/Button[@ClassName=\"Button\"][@Name=\"Auxiliaries\"]";
+		//	var winElem_LeftClickButtonAuxiliarie_9_13 = desktopSession.FindElementByAbsoluteXPath(xpath_LeftClickButtonAuxiliarie_9_13);
+		//	if (winElem_LeftClickButtonAuxiliarie_9_13 != null)
+		//	{
+		//		winElem_LeftClickButtonAuxiliarie_9_13.Click();
+		//	}
+		//	else
+		//	{
+		//		Console.WriteLine($"Failed to find element using xpath: {xpath_LeftClickButtonAuxiliarie_9_13}");
+		//	}
+		//	Assert.NotNull(winElem_LeftClickButtonAuxiliarie_9_13);
+
+
+		//}
+
+
+		#endregion
+
+
+		[TearDown]
+		public void OneTimeTeardown()
+		{
+			TearDown();
+			Thread.Sleep(0);
+		}
+
+
+
+		private void focusToActiveWindow()
+		{
+			session.SwitchTo().ActiveElement();
+
+		}
+
+
+
+    }
+}
diff --git a/Vecto3GUI2020Test/UI/VECTO3GUI2020Session.cs b/Vecto3GUI2020Test/UI/VECTO3GUI2020Session.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2f9abe2cbe98cdafea63a517581c16353c2479c5
--- /dev/null
+++ b/Vecto3GUI2020Test/UI/VECTO3GUI2020Session.cs
@@ -0,0 +1,85 @@
+using System;
+using System.Diagnostics;
+using NUnit.Framework;
+using OpenQA.Selenium;
+using OpenQA.Selenium.Appium.Windows;
+using VECTO3GUI2020.Properties;
+
+namespace Vecto3GUI2020Test.UI
+{
+    [TestFixture]
+    public class VECTO3GUI2020Session
+    {
+        protected const string WindowsApplicationDriverUrl = "http://127.0.0.1:4723";
+        private const string NotepadAppId = @"C:\Windows\System32\notepad.exe";
+
+		private const string vectoLocation =
+			@"C:\Users\Harry\source\repos\vecto-dev\VECTO3GUI2020\bin\Debug\VECTO3GUI2020.exe";
+
+		private static Process winappDriverProcess;
+
+        internal static WindowsDriver<WindowsElement> session;
+		internal static DesktopSession desktopSession;
+
+		public WindowsDriver<WindowsElement> DesktopSessionElement
+		{
+			get { return session; }
+		}
+
+		public static void Setup(TestContext context)
+        {
+            // Launch a new instance of VECTO application
+            if (session == null) {
+				winappDriverProcess = Process.Start(@"C:\Program Files (x86)\Windows Application Driver\WinAppDriver.exe");
+				// Create a new session to launch Notepad application
+
+
+				var appiumOptions = new OpenQA.Selenium.Appium.AppiumOptions();
+				appiumOptions.AddAdditionalCapability("app", @"C:\Users\Harry\source\repos\vecto-dev\VECTO3GUI2020\bin\Debug\VECTO3GUI2020.exe");
+				appiumOptions.AddAdditionalCapability("deviceName", "WindowsPC");
+                session = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), appiumOptions);
+				session.ActivateApp(vectoLocation);
+
+				// Use the session to control the app
+				Assert.IsNotNull(session);
+                Assert.IsNotNull(session.SessionId);
+
+
+				// Set implicit timeout to 1.5 seconds to make element search to retry every 500 ms for at most three times
+                session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
+			}
+
+			desktopSession = new DesktopSession();
+		}
+
+        
+        public static void TearDown()
+		{
+			// Close the application and delete the session
+            if (session != null)
+            {
+                session.CloseApp();
+				winappDriverProcess.Kill();
+				
+				session = null;
+            }
+        }
+
+		public void TestInitialize()
+        {
+            // Select all text and delete to clear the edit box
+		}
+
+        protected static string SanitizeBackslashes(string input) => input.Replace("\\", Keys.Alt + Keys.NumberPad9 + Keys.NumberPad2 + Keys.Alt);
+
+    }
+
+	public static class SessionExtensions{
+
+		public static void DoubleCLick(this WindowsElement element)
+		{
+			element.Click();
+			element.Click();
+		}
+	}
+}
diff --git a/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj b/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..b0a3b15265007fa3ea97c48a0daa1dbd2428712b
--- /dev/null
+++ b/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj
@@ -0,0 +1,95 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net48</TargetFramework>
+
+    <IsPackable>false</IsPackable>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-exempted_input_full-sample.xml" Link="Testdata\vecto_vehicle-exempted_input_full-sample.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-exempted_input_only_certain_entries01-sample.xml" Link="Testdata\vecto_vehicle-exempted_input_only_certain_entries01-sample.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-exempted_input_only_certain_entries02-sample.xml" Link="Testdata\vecto_vehicle-exempted_input_only_certain_entries02-sample.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-exempted_input_only_mandatory_entries.xml" Link="Testdata\vecto_vehicle-exempted_input_only_mandatory_entries.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-stage_input_full-sample.xml" Link="Testdata\vecto_vehicle-stage_input_full-sample.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-stage_input_only_certain_entries01-sample.xml" Link="Testdata\vecto_vehicle-stage_input_only_certain_entries01-sample.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-stage_input_only_certain_entries02-sample.xml" Link="Testdata\vecto_vehicle-stage_input_only_certain_entries02-sample.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-stage_input_only_component_nullable_entries.xml" Link="Testdata\vecto_vehicle-stage_input_only_component_nullable_entries.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-stage_input_only_mandatory_entries.xml" Link="Testdata\vecto_vehicle-stage_input_only_mandatory_entries.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-stage_input_only_mandatory_standard_value_airdrag.xml" Link="Testdata\vecto_vehicle-stage_input_only_mandatory_standard_value_airdrag.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\AidragComponent.xml" Link="Testdata\AidragComponent.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\AirdragLoadTestFile.xml" Link="Testdata\AirdragLoadTestFile.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_consolidated_multiple_stages.xml" Link="Testdata\vecto_multistage_consolidated_multiple_stages.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_consolidated_multiple_stages_airdrag.xml" Link="Testdata\vecto_multistage_consolidated_multiple_stages_airdrag.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_consolidated_multiple_stages_heatPump.xml" Link="Testdata\vecto_multistage_consolidated_multiple_stages_heatPump.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_consolidated_multiple_stages_hev.xml" Link="Testdata\vecto_multistage_consolidated_multiple_stages_hev.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml" Link="Testdata\vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_consolidated_one_stage.xml" Link="Testdata\vecto_multistage_consolidated_one_stage.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_consolidated_two_stages.xml" Link="Testdata\vecto_multistage_consolidated_two_stages.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_primary_vehicle_only.xml" Link="Testdata\vecto_multistage_primary_vehicle_only.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_primary_vehicle_stage_2_3.xml" Link="Testdata\vecto_multistage_primary_vehicle_stage_2_3.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_primary_vehicle_stage_2_full.xml" Link="Testdata\vecto_multistage_primary_vehicle_stage_2_full.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_primary_vehicle_stage_2_mandatory.xml" Link="Testdata\vecto_multistage_primary_vehicle_stage_2_mandatory.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Appium.WebDriver" Version="4.3.1" />
+    <PackageReference Include="Moq" Version="4.16.1" />
+    <PackageReference Include="Ninject" Version="3.3.4" />
+    <PackageReference Include="NUnit" Version="3.12.0" />
+    <PackageReference Include="NUnit3TestAdapter" Version="3.16.1" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\VECTO3GUI2020\VECTO3GUI2020.csproj" />
+    <ProjectReference Include="..\VectoCore\VectoCore\VectoCore.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/Vecto3GUI2020Test/ViewModelTests/LoadAndSaveVehicleData.cs b/Vecto3GUI2020Test/ViewModelTests/LoadAndSaveVehicleData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f02da4bbe75be1d903ced5c0be99f5487e147979
--- /dev/null
+++ b/Vecto3GUI2020Test/ViewModelTests/LoadAndSaveVehicleData.cs
@@ -0,0 +1,316 @@
+using System;
+using System.IO;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Xml;
+using Castle.DynamicProxy.Generators.Emitters.SimpleAST;
+using Moq;
+using Ninject;
+using NUnit.Framework;
+using TUGraz.VectoCommon.BusAuxiliaries;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
+using TUGraz.VectoCore.Models.Simulation.Impl;
+using TUGraz.VectoCore.Models.SimulationComponent.Strategies;
+using TUGraz.VectoCore.OutputData.FileIO;
+using TUGraz.VectoCore.Utils;
+using VECTO3GUI2020.Helper;
+using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
+
+namespace Vecto3GUI2020Test
+{
+	[TestFixture]
+    public class LoadAndSaveVehicleData : ViewModelTestBase
+	{
+		[Test]
+		public void loadInputFileMultipleStage()
+		{
+			loadFile(consolidated_multiple_stages);
+		}
+
+		[Test]
+		public void loadPrimaryAndSaveVehicleData()
+		{
+			var newMultiStageJob = loadFile(primary_vehicle_only);
+			var vehicle = newMultiStageJob.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as DeclarationInterimStageBusVehicleViewModel_v2_8;
+			Assert.NotNull(vehicle);
+			vehicle.Manufacturer = "test1";
+			vehicle.ManufacturerAddress = "testAddress2";
+			vehicle.VIN = "VIN123456789";
+			//Remove
+
+			var manufacturingStage =
+				newMultiStageJob.MultiStageJobViewModel as MultiStageJobViewModel_v0_1;
+
+			Assert.NotNull(manufacturingStage);
+
+
+			var fileName = primary_vehicle_only.Replace(".xml", "") + "_output.xml";
+			deleteFile(fileName);
+			_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(fileToSave:fileName).Object);
+			manufacturingStage.SaveInputDataAsCommand.Execute(null);
+			Assert.True(checkFileExists(fileName));
+		}
+
+
+
+
+		[Ignore("Validation is only performed with gui")]
+		[TestCase(primary_vehicle_only)]
+		[TestCase(consolidated_multiple_stages)]
+		[TestCase(consolidated_one_stage)]
+		public void SaveVehicleDataWithMissingFields(string fileName)
+		{
+			var newMultistageJobViewModel = loadFile(fileName);
+			var manstage = newMultistageJobViewModel.MultiStageJobViewModel as MultiStageJobViewModel_v0_1;
+			Assert.NotNull(manstage);
+
+			var saveFileName = fileName.Replace(".xml", "") + "_output.xml";
+			deleteFile(saveFileName);
+			_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(fileToSave: saveFileName).Object);
+			manstage.SaveInputDataAsCommand.Execute(null);
+
+			Assert.False(checkFileExists(saveFileName));
+
+		}
+
+		[Test]
+		public void reloadInputFile()
+		{
+			var newMultistageJobViewModel = loadFile(consolidated_multiple_stages_airdrag) as NewMultiStageJobViewModel;
+
+			var vehicle = newMultistageJobViewModel.MultiStageJobViewModel.VehicleInputData as
+				DeclarationInterimStageBusVehicleViewModel_v2_8;
+
+			Assert.NotNull(vehicle);
+
+
+			Assert.True(vehicle.AirdragModifiedMultistageEditingEnabled);
+
+			var mockDialog = getMockDialogHelper(consolidated_multiple_stages);
+			newMultistageJobViewModel.AddVifFile.Execute(null);
+			Assert.AreEqual(mockDialog.Object.OpenXMLFileDialog(null), newMultistageJobViewModel.VifPath);
+			vehicle = newMultistageJobViewModel.MultiStageJobViewModel.VehicleInputData as DeclarationInterimStageBusVehicleViewModel_v2_8;
+			Assert.IsFalse(vehicle.AirdragModifiedMultistageEditingEnabled);
+
+
+
+		}
+
+
+		[Test]
+		public void loadInputFileMultipleStageAirdrag()
+		{
+			loadFile(consolidated_multiple_stages_airdrag);
+		}
+
+		[Test]
+		public void loadInputFileConsolidatedOneStage()
+		{
+			loadFile(consolidated_one_stage);
+		}
+
+		[Test]
+		public void loadInputFilePrimaryOnly()
+		{
+			var vm = loadFile(primary_vehicle_only);
+			Assert.AreEqual(2, vm.MultiStageJobViewModel.ManufacturingStageViewModel.StageCount);
+
+			var primaryVehicle = vm.MultiStageJobViewModel.PrimaryVehicle;
+			Assert.NotNull(primaryVehicle);
+
+			var vehicleViewModel =
+				vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as IMultistageVehicleViewModel;
+			Assert.NotNull(vehicleViewModel);
+			Assert.Null(vehicleViewModel.Manufacturer);
+			Assert.Null(vehicleViewModel.ManufacturerAddress);
+
+			var vehicleViewModel_v2_8 = vehicleViewModel as DeclarationInterimStageBusVehicleViewModel_v2_8;
+			Assert.NotNull(vehicleViewModel_v2_8);
+
+			Assert.Null(vehicleViewModel_v2_8.HeightInMm);
+			Assert.Null(vehicleViewModel_v2_8.LengthInMm);
+			Assert.Null(vehicleViewModel_v2_8.WidthInMm);
+			Assert.Null(vehicleViewModel_v2_8.EntranceHeightInMm);
+
+			Assert.Null(vehicleViewModel_v2_8.ConsolidatedHeightInMm);
+			Assert.Null(vehicleViewModel_v2_8.ConsolidatedLengthInMm);
+			Assert.Null(vehicleViewModel_v2_8.ConsolidatedWidthInMm);
+			Assert.Null(vehicleViewModel_v2_8.ConsolidatedEntranceHeightInMm);
+
+
+			Assert.IsFalse(vehicleViewModel_v2_8.AirdragModifiedMultistageEditingEnabled);
+
+			Assert.IsNull(vehicleViewModel_v2_8.AirdragModifiedMultistage);
+			Assert.IsNull(vehicleViewModel_v2_8.ConsolidatedAirdragmodified);
+			Assert.IsNull(vehicleViewModel_v2_8.AirdragModifiedEnum);
+			
+
+
+			Assert.AreEqual(vehicleViewModel_v2_8.AirdragModifiedMultistageEditingEnabled, false);
+			Assert.Null(vehicleViewModel_v2_8.BusAuxiliaries);
+
+
+			var vifInputData = vm.MultiStageJobViewModel as IMultistageVIFInputData;
+
+			Assert.Null(vifInputData.VehicleInputData.Components);
+		}
+
+
+	
+
+
+
+
+
+
+
+		[Test]
+		public void loadVehicleDataTest()
+		{
+			string multiplestages = "";
+			multiplestages = Path.GetFullPath(DirPath + "vecto_multistage_consolidated_multiple_stages.xml");
+			
+			var dialogMockConsolidatedMultipleStage = new Mock<IDialogHelper>();
+			dialogMockConsolidatedMultipleStage.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(multiplestages);
+			dialogMockConsolidatedMultipleStage.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(multiplestages);
+			_kernel.Rebind<IDialogHelper>().ToConstant(dialogMockConsolidatedMultipleStage.Object);
+
+
+			var newMultistageJobViewModel = _kernel.Get<NewMultiStageJobViewModel>();
+			newMultistageJobViewModel.AddVifFile.Execute(null);
+			Assert.NotNull(newMultistageJobViewModel.MultiStageJobViewModel);
+
+			var manstageVehicleViewModel = newMultistageJobViewModel.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as IMultistageVehicleViewModel;
+			Assert.NotNull(manstageVehicleViewModel);
+
+			var auxiliariesViewModel = manstageVehicleViewModel.MultistageAuxiliariesViewModel;
+			Assert.NotNull(auxiliariesViewModel);
+
+			var multiStageViewModel =
+				newMultistageJobViewModel.MultiStageJobViewModel as
+					MultiStageJobViewModel_v0_1;
+			Assert.NotNull(multiStageViewModel);
+
+			var vehicleInputData = Path.GetFullPath(DirPath + "vecto_vehicle-stage_input_full-sample.xml");
+			Assert.IsTrue(File.Exists(vehicleInputData));
+
+			var vehicleInputDataFiledialogMock = new Mock<IDialogHelper>();
+			vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(vehicleInputData);
+			vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(vehicleInputData);
+			_kernel.Rebind<IDialogHelper>().ToConstant(vehicleInputDataFiledialogMock.Object);
+
+			multiStageViewModel.LoadVehicleDataCommand.Execute(null);
+
+			var vehicle = multiStageViewModel.VehicleInputData as DeclarationInterimStageBusVehicleViewModel_v2_8;
+			Assert.NotNull(vehicle);
+
+			Assert.AreEqual("VEH-1234567890", vehicle.Identifier);
+			Assert.AreEqual("Some Manufacturer", vehicle.Manufacturer);
+			Assert.AreEqual("Some Manufacturer Address", vehicle.ManufacturerAddress);
+			Assert.AreEqual("VEH-1234567890", vehicle.VIN);
+			Assert.AreEqual(DateTime.Today, vehicle.Date);
+			Assert.AreEqual("Sample Bus Model", vehicle.Model);
+			Assert.AreEqual(LegislativeClass.M3, vehicle.LegislativeClass);
+			Assert.AreEqual(500, vehicle.CurbMassChassis.Value());//CorrectedActualMass
+			Assert.AreEqual(3500, vehicle.GrossVehicleMassRating.Value());//TechnicalPermissibleMaximumLadenMass
+			Assert.AreEqual(false, vehicle.AirdragModifiedMultistage);
+			Assert.AreEqual(TankSystem.Compressed, vehicle.TankSystem);//NgTankSystem
+			Assert.AreEqual(RegistrationClass.II_III, vehicle.RegisteredClass);//ClassBus
+			Assert.AreEqual(0, vehicle.NumberOfPassengersLowerDeck);
+			Assert.AreEqual(10, vehicle.NumberOfPassengersUpperDeck);
+			Assert.AreEqual(VehicleCode.CB, vehicle.VehicleCode);
+			Assert.AreEqual(false, vehicle.LowEntry);
+			Assert.AreEqual(2.5, vehicle.Height.Value());//HeightIntegratedBody
+			Assert.AreEqual(9.5, vehicle.Length.Value());
+			Assert.AreEqual(2.5, vehicle.Width.Value());
+			Assert.AreEqual(2500, vehicle.HeightInMm.Value);
+			Assert.AreEqual(9500, vehicle.LengthInMm.Value);
+			Assert.AreEqual(2500, vehicle.WidthInMm.Value);
+
+			Assert.AreEqual(2, vehicle.EntranceHeight.Value());
+			Assert.AreEqual(ConsumerTechnology.Electrically, vehicle.DoorDriveTechnology);
+			Assert.AreEqual(VehicleDeclarationType.interim, vehicle.VehicleDeclarationType);
+
+
+			var airdrag = vehicle.MultistageAirdragViewModel;
+			Assert.NotNull(airdrag.AirDragViewModel.XMLSource);
+
+
+			TestADASInput(vehicle);
+			TestComponents(vehicle.Components);
+			TestAirdragComponent(vehicle.Components.AirdragInputData);
+			TestAuxiliariesComponent(vehicle.BusAuxiliaries);
+
+
+
+
+		}
+
+		private void TestADASInput(IVehicleDeclarationInputData vehicle)
+		{
+			Assert.AreEqual(true, vehicle.ADAS.EngineStopStart);
+			Assert.AreEqual(EcoRollType.None, vehicle.ADAS.EcoRoll);
+			Assert.AreEqual(PredictiveCruiseControlType.None, vehicle.ADAS.PredictiveCruiseControl);
+			Assert.AreEqual(true, vehicle.ADAS.ATEcoRollReleaseLockupClutch);
+		}
+
+		private void TestComponents(IVehicleComponentsDeclaration components)
+		{
+			TestAirdragComponent(components.AirdragInputData);
+			TestAuxiliariesComponent(components.BusAuxiliaries);
+		}
+
+		private void TestAirdragComponent(IAirdragDeclarationInputData airdrag)
+		{
+			Assert.AreEqual("Generic Manufacturer", airdrag.Manufacturer);
+			Assert.AreEqual("Generic Model", airdrag.Model);
+			Assert.AreEqual("e12*0815/8051*2017/05E0000*00", airdrag.CertificationNumber);
+			Assert.AreEqual(DateTime.Parse("2017-03-24T15:00:00Z").ToUniversalTime(), airdrag.Date);
+			Assert.AreEqual("Vecto AirDrag x.y", airdrag.AppVersion);
+			Assert.AreEqual(6.34, airdrag.AirDragArea.Value());
+		}
+
+		private void TestAuxiliariesComponent(IBusAuxiliariesDeclarationData busAux)
+		{
+			TestLedLightsComponent(busAux.ElectricConsumers);
+			TestHVACComponent(busAux.HVACAux);
+		}
+
+		private void TestLedLightsComponent(IElectricConsumersDeclarationData electricConsumer)
+		{
+			Assert.AreEqual(false, electricConsumer.InteriorLightsLED);
+			Assert.AreEqual(true, electricConsumer.DayrunninglightsLED);
+			Assert.AreEqual(true, electricConsumer.PositionlightsLED);
+			Assert.AreEqual(true, electricConsumer.BrakelightsLED);
+			Assert.AreEqual(false, electricConsumer.HeadlightsLED);
+		}
+
+		private void TestHVACComponent(IHVACBusAuxiliariesDeclarationData hvacAux)
+		{
+			Assert.AreEqual(BusHVACSystemConfiguration.Configuration0, hvacAux.SystemConfiguration);
+			Assert.AreEqual(HeatPumpType.none, hvacAux.HeatPumpTypeDriverCompartment);
+			Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpModeDriverCompartment);
+			Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpTypePassengerCompartment);
+			Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpModePassengerCompartment);
+			Assert.AreEqual(50, hvacAux.AuxHeaterPower.Value());
+			Assert.AreEqual(false, hvacAux.DoubleGlazing);
+			Assert.AreEqual(true, hvacAux.AdjustableAuxiliaryHeater);
+			Assert.AreEqual(false, hvacAux.SeparateAirDistributionDucts);
+			Assert.AreEqual(true, hvacAux.WaterElectricHeater);
+			Assert.AreEqual(false, hvacAux.AirElectricHeater);
+			Assert.AreEqual(false, hvacAux.OtherHeatingTechnology);
+		}
+
+
+
+
+
+
+		#region Helper
+
+		#endregion
+	}
+
+}
\ No newline at end of file
diff --git a/VECTO3GUI2020/Helper/XMLHelper.cs b/Vecto3GUI2020Test/ViewModelTests/TestExtensions.cs
similarity index 60%
rename from VECTO3GUI2020/Helper/XMLHelper.cs
rename to Vecto3GUI2020Test/ViewModelTests/TestExtensions.cs
index de2a0d3088bcf9088e7a444daa8520a93b5edaec..fbfecc557a577226d4337272c181ed4d244963ab 100644
--- a/VECTO3GUI2020/Helper/XMLHelper.cs
+++ b/Vecto3GUI2020Test/ViewModelTests/TestExtensions.cs
@@ -4,9 +4,11 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace VECTO3GUI2020.Helper
+namespace Vecto3GUI2020Test.ViewModelTests
 {
-    public static class XMLHelper
+    internal class TestExtensions
     {
+        
+
     }
 }
diff --git a/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs b/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2b987deb5ec1f5b608c4bae1ddd8b6cd9e8768c4
--- /dev/null
+++ b/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs
@@ -0,0 +1,112 @@
+using System.IO;
+using System.Xml;
+using Moq;
+using Ninject;
+using NUnit.Framework;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCore.OutputData.FileIO;
+using TUGraz.VectoCore.Utils;
+using VECTO3GUI2020.Helper;
+
+using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
+
+namespace Vecto3GUI2020Test.ViewModelTests
+{
+	public class VIFTests : ViewModelTestBase
+	{
+
+		[Test]
+		public void loadPrimaryVehicleOnlyAndCreateNewVIF()
+		{
+			var multistagevm = loadFile(primary_vehicle_only).MultiStageJobViewModel;
+			var stage = multistagevm.ManufacturingStageViewModel.StageCount;
+
+			Assert.AreEqual(2, stage);
+
+			//Set Necessary Fields
+			var vehicle =
+				multistagevm.ManufacturingStageViewModel.Vehicle as DeclarationInterimStageBusVehicleViewModel_v2_8;
+			vehicle.ManufacturerAddress = "Address";
+			vehicle.Manufacturer = "Manufacturer";
+			vehicle.VIN = "VIN12345678";
+			
+			var writer = GetFileOutputVIFWriter(multistagevm);
+			
+			deleteFile(writer.XMLMultistageReportFileName);
+			getMockDialogHelper(null, writer.XMLMultistageReportFileName);
+			_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, writer.XMLMultistageReportFileName).Object);
+
+			MultiStageJobViewModel_v0_1.SaveVif(multistagevm, writer);
+
+			Assert.IsTrue(File.Exists(writer.XMLMultistageReportFileName));
+
+			var validator = new XMLValidator(XmlReader.Create(writer.XMLMultistageReportFileName));
+			Assert.True(validator.ValidateXML(TUGraz.VectoCore.Utils.XmlDocumentType.MultistageOutputData));
+		}
+
+
+		[Test]
+		public void TestAirdragLoad()
+		{
+			var multiplestages = Path.GetFullPath(DirPath + "vecto_multistage_consolidated_multiple_stages.xml");
+
+			var dialogMockConsolidatedMultipleStage = new Mock<IDialogHelper>();
+			dialogMockConsolidatedMultipleStage.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(multiplestages);
+			dialogMockConsolidatedMultipleStage.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(multiplestages);
+			_kernel.Rebind<IDialogHelper>().ToConstant(dialogMockConsolidatedMultipleStage.Object);
+			
+			var newMultistageJobViewModel = _kernel.Get<NewMultiStageJobViewModel>();
+			newMultistageJobViewModel.AddVifFile.Execute(null);
+			Assert.NotNull(newMultistageJobViewModel.MultiStageJobViewModel);
+
+			var manstageVehicleViewModel = newMultistageJobViewModel.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as IMultistageVehicleViewModel;
+			Assert.NotNull(manstageVehicleViewModel);
+
+			var auxiliariesViewModel = manstageVehicleViewModel.MultistageAuxiliariesViewModel;
+			Assert.NotNull(auxiliariesViewModel);
+
+			var multiStageViewModel = newMultistageJobViewModel.MultiStageJobViewModel as MultiStageJobViewModel_v0_1;
+			Assert.NotNull(multiStageViewModel);
+
+			var vehicleInputData = Path.GetFullPath(DirPath + "vecto_vehicle-stage_input_full-sample.xml");
+			Assert.IsTrue(File.Exists(vehicleInputData));
+
+			var vehicleInputDataFiledialogMock = new Mock<IDialogHelper>();
+			vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(vehicleInputData);
+			vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(vehicleInputData);
+			_kernel.Rebind<IDialogHelper>().ToConstant(vehicleInputDataFiledialogMock.Object);
+
+			multiStageViewModel.LoadVehicleDataCommand.Execute(null);
+			
+			var vehicle =
+				multiStageViewModel.ManufacturingStageViewModel.Vehicle as DeclarationInterimStageBusVehicleViewModel_v2_8;
+			vehicle.ManufacturerAddress = "Address";
+			vehicle.Manufacturer = "Manufacturer";
+			vehicle.VIN = "VIN12345678";
+			vehicle.AirdragModifiedMultistage = true;
+			vehicle.VehicleDeclarationType = VehicleDeclarationType.interim;
+			
+			var writer = GetFileOutputVIFWriter(multiStageViewModel);
+			
+			deleteFile(writer.XMLMultistageReportFileName);
+			getMockDialogHelper(null, writer.XMLMultistageReportFileName);
+			_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, writer.XMLMultistageReportFileName).Object);
+			
+			MultiStageJobViewModel_v0_1.SaveVif(multiStageViewModel, writer);
+			
+			var validator = new XMLValidator(XmlReader.Create(writer.XMLMultistageReportFileName));
+			Assert.True(validator.ValidateXML(TUGraz.VectoCore.Utils.XmlDocumentType.MultistageOutputData));
+		}
+
+
+		private FileOutputVIFWriter GetFileOutputVIFWriter(IMultiStageJobViewModel multistageViewModel)
+		{
+			var outputFileName = primary_vehicle_only.Replace(".xml", "_vif_output_mandatory_fields.xml");
+			var outputFilePath = Path.Combine(DirPath, outputFileName);
+
+			var currentStageCount = multistageViewModel.MultistageJobInputData.JobInputData.ManufacturingStages?.Count ?? 0;
+			return  new FileOutputVIFWriter(outputFilePath, currentStageCount);
+		}
+
+	}
+}
diff --git a/Vecto3GUI2020Test/ViewModelTests/VehicleViewModelTests.cs b/Vecto3GUI2020Test/ViewModelTests/VehicleViewModelTests.cs
new file mode 100644
index 0000000000000000000000000000000000000000..b71e24548091c31c8e289c8302fb04d7bf20242b
--- /dev/null
+++ b/Vecto3GUI2020Test/ViewModelTests/VehicleViewModelTests.cs
@@ -0,0 +1,93 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using NUnit.Framework;
+using TUGraz.VectoCommon.InputData;
+using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
+
+namespace Vecto3GUI2020Test.ViewModelTests
+{
+    [TestFixture]
+    public class VehicleViewModelTests : ViewModelTestBase
+    {
+
+		#region Airdrag
+		[Test]
+		public void airdragModifiedInPreviousStages()
+		{
+			var vm = loadFile(consolidated_multiple_stages_airdrag);
+
+
+			var vehicleVM = vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as
+				DeclarationInterimStageBusVehicleViewModel_v2_8;
+
+			Assert.IsTrue(vehicleVM.AirdragModifiedMultistageEditingEnabled);
+
+			//try to change to false
+
+			vehicleVM.AirdragModifiedMultistage = false; //should not change the value
+			Assert.IsTrue(vehicleVM.AirdragModifiedMultistageEditingEnabled);
+
+
+
+
+		}
+
+		[Test]
+		public void airdragNotModifiedInPreviousStages()
+		{
+			var vm = loadFile(consolidated_multiple_stages);
+
+			var vehicleVM =
+				vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as
+					DeclarationInterimStageBusVehicleViewModel_v2_8;
+
+			Assert.IsFalse(vehicleVM.AirdragModifiedMultistageEditingEnabled);
+
+		}
+
+		#endregion
+
+		#region ADAS
+		[Test]
+		public void loadPrimaryAndEdit()
+		{
+			var vm = loadFile(primary_vehicle_only);
+			Assert.NotNull(vm);
+
+			var vehicleViewModel =
+				vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as
+					DeclarationInterimStageBusVehicleViewModel_v2_8;
+
+			var vehicleData = vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle;
+
+
+
+			vehicleViewModel.EcoRollTypeNullable = EcoRollType.WithEngineStop;
+			Assert.NotNull(vehicleData.ADAS);
+
+
+			vehicleViewModel.EcoRollTypeNullable = null;
+			Assert.Null(vehicleData.ADAS);
+
+
+
+
+
+		}
+
+
+
+
+
+
+
+		#endregion
+
+
+
+
+	}
+}
diff --git a/Vecto3GUI2020Test/ViewModelTests/ViewModelTestBase.cs b/Vecto3GUI2020Test/ViewModelTests/ViewModelTestBase.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ba22491418a29039c6c6bf0d2c40100dfcff173e
--- /dev/null
+++ b/Vecto3GUI2020Test/ViewModelTests/ViewModelTestBase.cs
@@ -0,0 +1,160 @@
+using System;
+using System.Diagnostics;
+using System.IO;
+using Moq;
+using Ninject;
+using NUnit.Framework;
+using TUGraz.VectoCore;
+using TUGraz.VectoCore.InputData.FileIO.XML;
+using VECTO3GUI2020.Helper;
+using VECTO3GUI2020.Ninject;
+using VECTO3GUI2020.Ninject.Vehicle;
+using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
+using VECTO3GUI2020.ViewModel.MultiStage.Interfaces;
+
+namespace Vecto3GUI2020Test
+{
+	public class ViewModelTestBase
+	{
+		protected const string DirPath = @"Testdata\";
+		protected const string consolidated_multiple_stages = "vecto_multistage_consolidated_multiple_stages.xml";
+
+		protected const string consolidated_multiple_stages_airdrag =
+			"vecto_multistage_consolidated_multiple_stages_airdrag.xml";
+
+		protected const string consolidated_one_stage = "vecto_multistage_consolidated_one_stage.xml";
+		protected const string primary_vehicle_only = "vecto_multistage_primary_vehicle_only.xml";
+
+		
+
+		protected const string stageInputFullSample = "vecto_vehicle-stage_input_full-sample.xml";
+
+		protected IXMLInputDataReader xmlInputReader;
+		protected IKernel _kernel;
+		private Mock<IDialogHelper> _mockDialogHelper = new Mock<IDialogHelper>();
+
+
+		[SetUp]
+		public void OneTimeSetUp()
+		{
+			_kernel = new StandardKernel(
+				new VectoNinjectModule(),
+				new JobEditModule(),
+				new ComponentModule(),
+				new DocumentModule(),
+				new XMLWriterFactoryModule(),
+				new FactoryModule(),
+				new MultistageModule()
+			);
+			xmlInputReader = _kernel.Get<IXMLInputDataReader>();
+			_kernel.Rebind<IDialogHelper>().ToConstant(_mockDialogHelper.Object);
+
+		}
+
+		[TearDown]
+		public void TearDown()
+		{
+			_kernel.Dispose();
+			_kernel = null;
+		}
+
+		public bool checkFileExists(string fileName)
+		{
+			var filePath = Path.GetFullPath(DirPath + fileName);
+			var exists = File.Exists(filePath);
+			if (exists)
+			{
+				Console.WriteLine(filePath + @" exists");
+			} else {
+				Console.WriteLine(filePath + @" not existing");
+			}
+
+			return exists;
+		}
+
+		public void deleteFile(string fileName)
+		{
+			var filePath = Path.GetFullPath(DirPath + fileName);
+			File.Delete(fileName);
+		}
+
+		public NewMultiStageJobViewModel loadFile(string fileName)
+		{
+			//string filePath = "";
+			//filePath = Path.GetFullPath(DirPath + fileName);
+
+			//var dialogMock = new Mock<IDialogHelper>();
+			//dialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(filePath);
+			//dialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(filePath);
+
+			var mockDialogHelper = getMockDialogHelper(fileName);
+
+			var newMultistageJobViewModel = _kernel.Get<NewMultiStageJobViewModel>();
+			newMultistageJobViewModel.AddVifFile.Execute(null);
+
+			Assert.NotNull(newMultistageJobViewModel.MultiStageJobViewModel);
+
+			var manstageVehicleViewModel = newMultistageJobViewModel.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as DeclarationInterimStageBusVehicleViewModel_v2_8;
+			Assert.NotNull(manstageVehicleViewModel);
+
+			var auxiliariesViewModel = manstageVehicleViewModel.MultistageAuxiliariesViewModel;
+			Assert.NotNull(auxiliariesViewModel);
+
+
+
+
+			var airdragViewModel = (manstageVehicleViewModel as DeclarationInterimStageBusVehicleViewModel_v2_8)?.MultistageAirdragViewModel;
+			Assert.NotNull(airdragViewModel);
+
+			Assert.AreEqual(mockDialogHelper.Object.OpenXMLFileDialog(), newMultistageJobViewModel.VifPath);
+
+
+
+			return newMultistageJobViewModel;
+		}
+
+		protected void loadVehicleData(MultiStageJobViewModel_v0_1 multiStageViewModel, string inputFile)
+		{
+
+			var vehicleInputData = Path.GetFullPath(DirPath + inputFile);
+			Assert.IsTrue(File.Exists(vehicleInputData));
+
+			var vehicleInputDataFiledialogMock = new Mock<IDialogHelper>();
+			vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(vehicleInputData);
+			vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(vehicleInputData);
+			_kernel.Rebind<IDialogHelper>().ToConstant(vehicleInputDataFiledialogMock.Object);
+
+			multiStageViewModel.LoadVehicleDataCommand.Execute(null);
+		}
+
+
+		protected Mock<IDialogHelper> getMockDialogHelper(string fileToLoad = null, string fileToSave = null)
+		{
+			if (_mockDialogHelper == null) {
+				_mockDialogHelper = new Mock<IDialogHelper>();
+			}
+			if (fileToLoad != null) {
+				var filePath = Path.GetFullPath(DirPath + fileToLoad);
+
+				Assert.NotNull(filePath);
+				_mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(filePath);
+				_mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(filePath);
+
+				Debug.WriteLine($"Created MOCKDIALOGHELPER, returns {filePath} for OpenXMLFileDialog()");
+			}
+
+			if (fileToSave != null) {
+				var filePath = Path.GetFullPath(DirPath + fileToSave);
+				_mockDialogHelper.Setup(dialogHelper =>
+					dialogHelper.SaveToXMLDialog(It.IsAny<string>())).Returns(filePath);
+				_mockDialogHelper.Setup(dialogHelper =>
+					dialogHelper.SaveToXMLDialog(null)).Returns(filePath);
+
+				Debug.WriteLine($"Created MOCKDIALOGHELPER, returns {filePath} for SaveToXMLFileDialog()");
+			}
+
+
+			return _mockDialogHelper;
+		}
+	}
+}
\ No newline at end of file
diff --git a/Vecto3GUITest/Properties/AssemblyInfo.cs b/Vecto3GUITest/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..aad2a9d5c3bcf2306838c1dfa404e8f115551cbb
--- /dev/null
+++ b/Vecto3GUITest/Properties/AssemblyInfo.cs
@@ -0,0 +1,20 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("Vecto3GUITest")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Vecto3GUITest")]
+[assembly: AssemblyCopyright("Copyright ©  2021")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: ComVisible(false)]
+
+[assembly: Guid("31248c1a-85a9-4d4c-9ddb-0d56e1599c7e")]
+
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Vecto3GUITest/UITests.cs b/Vecto3GUITest/UITests.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6592c853be0489172401ef3d927fd055013c9ff7
--- /dev/null
+++ b/Vecto3GUITest/UITests.cs
@@ -0,0 +1,32 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System;
+using System.Threading;
+using OpenQA.Selenium;
+
+namespace Vecto3GUITest
+{
+    [TestClass]
+    public class StartUpScenario : VECTO3GUI2020Session
+    {
+        [TestMethod]
+        public void LoadFile()
+		{
+			//session.FindElementByAccessibilityId("Register").FindElementByClassName("Button").Click();
+			session.FindElementByName("New Multistage File").Click();
+
+
+		}
+
+		[ClassInitialize]
+		public static void ClassInitialize(TestContext context)
+		{
+			Setup(context);
+		}
+
+		[ClassCleanup]
+		public static void ClassCleanup()
+		{
+			TearDown();
+		}
+    }
+}
diff --git a/Vecto3GUITest/VECTO3GUI2020Session.cs b/Vecto3GUITest/VECTO3GUI2020Session.cs
new file mode 100644
index 0000000000000000000000000000000000000000..3df9ac7ce21362c0cee55db7ddd63cd33c9480ff
--- /dev/null
+++ b/Vecto3GUITest/VECTO3GUI2020Session.cs
@@ -0,0 +1,58 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.Appium.Windows;
+using OpenQA.Selenium.Remote;
+using OpenQA.Selenium;
+using System;
+using OpenQA.Selenium.Appium;
+
+namespace Vecto3GUITest
+{
+    [TestClass]
+    public class VECTO3GUI2020Session
+    {
+        protected const string WindowsApplicationDriverUrl = "http://127.0.0.1:4723";
+        private const string NotepadAppId = @"C:\Windows\System32\notepad.exe";
+
+        protected static WindowsDriver<WindowsElement> session;
+
+		public static void Setup(TestContext context)
+        {
+            // Launch a new instance of Notepad application
+            if (session == null)
+            {
+                // Create a new session to launch Notepad application
+				var appiumOptions = new OpenQA.Selenium.Appium.AppiumOptions();
+				appiumOptions.AddAdditionalCapability("app", @"C:\Users\Harry\source\repos\vecto-dev\VECTO3GUI2020\bin\Debug\VECTO3GUI2020.exe");
+				appiumOptions.AddAdditionalCapability("deviceName", "WindowsPC");
+                session = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), appiumOptions);
+
+                // Use the session to control the app
+				Assert.IsNotNull(session);
+                Assert.IsNotNull(session.SessionId);
+
+
+				// Set implicit timeout to 1.5 seconds to make element search to retry every 500 ms for at most three times
+                session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
+			}
+        }
+
+        public static void TearDown()
+		{
+			// Close the application and delete the session
+            if (session != null)
+            {
+                session.Close();
+				session.Quit();
+                session = null;
+            }
+        }
+
+        [TestInitialize]
+        public void TestInitialize()
+        {
+            // Select all text and delete to clear the edit box
+		}
+
+        protected static string SanitizeBackslashes(string input) => input.Replace("\\", Keys.Alt + Keys.NumberPad9 + Keys.NumberPad2 + Keys.Alt);
+    }
+}
diff --git a/Vecto3GUITest/Vecto3GUITest.csproj b/Vecto3GUITest/Vecto3GUITest.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..8a1a54e6e5f121a1a99274aab4b3224c8d2c4743
--- /dev/null
+++ b/Vecto3GUITest/Vecto3GUITest.csproj
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="..\packages\MSTest.TestAdapter.2.2.3\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.2.2.3\build\net45\MSTest.TestAdapter.props')" />
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{31248C1A-85A9-4D4C-9DDB-0D56E1599C7E}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Vecto3GUITest</RootNamespace>
+    <AssemblyName>Vecto3GUITest</AssemblyName>
+    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
+    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
+    <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
+    <IsCodedUITest>False</IsCodedUITest>
+    <TestProjectType>UnitTest</TestProjectType>
+    <NuGetPackageImportStamp>
+    </NuGetPackageImportStamp>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Appium.Net, Version=4.3.1.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\Appium.WebDriver.4.3.1\lib\net45\Appium.Net.dll</HintPath>
+    </Reference>
+    <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
+      <HintPath>..\packages\Castle.Core.4.4.1\lib\net45\Castle.Core.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\MSTest.TestFramework.2.2.3\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\MSTest.TestFramework.2.2.3\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+      <HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="Ninject">
+      <HintPath>..\..\..\..\.nuget\packages\ninject\3.3.4\lib\net45\Ninject.dll</HintPath>
+    </Reference>
+    <Reference Include="SeleniumExtras.PageObjects, Version=3.11.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\DotNetSeleniumExtras.PageObjects.3.11.0\lib\net45\SeleniumExtras.PageObjects.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="WebDriver, Version=3.141.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\Selenium.WebDriver.3.141.0\lib\net45\WebDriver.dll</HintPath>
+    </Reference>
+    <Reference Include="WebDriver.Support, Version=3.141.0.0, Culture=neutral, processorArchitecture=MSIL">
+      <HintPath>..\packages\Selenium.Support.3.141.0\lib\net45\WebDriver.Support.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="UITests.cs" />
+    <Compile Include="VECTO3GUI2020Session.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="XMLWriterTest.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="app.config" />
+    <None Include="packages.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\VectoCore\VectoCore\VectoCore.csproj">
+      <Project>{CD36938A-ADD9-4C65-96DA-B397CDEEA90A}</Project>
+      <Name>VectoCore</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.2.3\build\net45\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.2.3\build\net45\MSTest.TestAdapter.props'))" />
+    <Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.2.3\build\net45\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.2.3\build\net45\MSTest.TestAdapter.targets'))" />
+  </Target>
+  <Import Project="..\packages\MSTest.TestAdapter.2.2.3\build\net45\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.2.2.3\build\net45\MSTest.TestAdapter.targets')" />
+</Project>
\ No newline at end of file
diff --git a/Vecto3GUITest/XMLWriterTest.cs b/Vecto3GUITest/XMLWriterTest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..2d1c01ee2cb67b074d546ce218b7ce25273f7ec6
--- /dev/null
+++ b/Vecto3GUITest/XMLWriterTest.cs
@@ -0,0 +1,27 @@
+using System.IO;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Ninject;
+using TUGraz.VectoCore;
+using TUGraz.VectoCore.InputData.FileIO.XML;
+
+
+namespace Vecto3GUITest
+{
+	[TestClass]
+	public class WriterTests
+	{
+		private StandardKernel _kernel;
+		private IXMLInputDataReader _xmlInputReader;
+
+
+		public void Setup()
+		{
+			_kernel = new StandardKernel(new VectoNinjectModule());
+			_xmlInputReader = _kernel.Get<IXMLInputDataReader>();
+		}
+
+
+
+	}
+
+}
\ No newline at end of file
diff --git a/Vecto3GUITest/app.config b/Vecto3GUITest/app.config
new file mode 100644
index 0000000000000000000000000000000000000000..fdc60f6f83437dedadf5df7aad3f232919b15e36
--- /dev/null
+++ b/Vecto3GUITest/app.config
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <runtime>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <dependentAssembly>
+        <assemblyIdentity name="Ninject" publicKeyToken="c7192dc5380945e7" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.3.4.0" newVersion="3.3.4.0" />
+      </dependentAssembly>
+    </assemblyBinding>
+  </runtime>
+</configuration>
\ No newline at end of file
diff --git a/Vecto3GUITest/packages.config b/Vecto3GUITest/packages.config
new file mode 100644
index 0000000000000000000000000000000000000000..34fc3dad972f72368ab1e8087afbd9b245797fca
--- /dev/null
+++ b/Vecto3GUITest/packages.config
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="Appium.WebDriver" version="4.3.1" targetFramework="net48" />
+  <package id="Castle.Core" version="4.4.1" targetFramework="net48" />
+  <package id="DotNetSeleniumExtras.PageObjects" version="3.11.0" targetFramework="net48" />
+  <package id="MSTest.TestAdapter" version="2.2.3" targetFramework="net48" />
+  <package id="MSTest.TestFramework" version="2.2.3" targetFramework="net48" />
+  <package id="Newtonsoft.Json" version="13.0.1" targetFramework="net48" />
+  <package id="Ninject" version="3.3.4" targetFramework="net48" />
+  <package id="Selenium.Support" version="3.141.0" targetFramework="net48" />
+  <package id="Selenium.WebDriver" version="3.141.0" targetFramework="net48" />
+</packages>
\ No newline at end of file
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs b/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs
index d40626c7002ef1bd61aaed7b7e914db26116f629..f0b17871e655b91175246811349a394b7ec0b0c6 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs
@@ -5,17 +5,40 @@ using TUGraz.VectoCommon.Utils;
 namespace TUGraz.VectoCommon.BusAuxiliaries {
 	public enum BusHVACSystemConfiguration
 	{
+		[GuiLabel("Unknown")]
 		Unknown,
+
+		[GuiLabel("Configuration 0")]
 		Configuration0,
+
+		[GuiLabel("Configuration 1")]
 		Configuration1,
+
+		[GuiLabel("Configuration 2")]
 		Configuration2,
+
+		[GuiLabel("Configuration 3")]
 		Configuration3,
+
+		[GuiLabel("Configuration 4")]
 		Configuration4,
+
+		[GuiLabel("Configuration 5")]
 		Configuration5,
+
+		[GuiLabel("Configuration 6")]
 		Configuration6,
+
+		[GuiLabel("Configuration 7")]
 		Configuration7,
+
+		[GuiLabel("Configuration 8")]
 		Configuration8,
+
+		[GuiLabel("Configuration 9")]
 		Configuration9,
+
+		[GuiLabel("Configuration 10")]
 		Configuration10,
 	}
 
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
index 14421829222b6e45712b84184fee4d35b817a4ab..635fa22f1ffbf8ced19beecffa6cc65ec9067e56 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
@@ -190,11 +190,22 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 
 	public enum HeatPumpType
 	{
+		[GuiLabel("None")]
 		none,
+
+		[GuiLabel("R 744")]
 		R_744,
+
+		[GuiLabel("non R 744: 2-stage")]
 		non_R_744_2_stage,
+
+		[GuiLabel("non R 744: 3-stage")]
 		non_R_744_3_stage,
+
+		[GuiLabel("non R 744: 4-stage")]
 		non_R_744_4_stage,
+
+		[GuiLabel("non R 744: continuous")]
 		non_R_744_continuous
 	}
 
@@ -238,9 +249,13 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 
 	public enum HeatPumpMode
 	{
+		[GuiLabel("Heating")]
 		heating,
+		[GuiLabel("Heating and cooling")]
 		heating_and_cooling,
+		[GuiLabel("Cooling")]
 		cooling,
+		[GuiLabel("N_A")]
 		N_A,
 	}
 
diff --git a/VectoCommon/VectoCommon/Hashing/VectoComponents.cs b/VectoCommon/VectoCommon/Hashing/VectoComponents.cs
index 795fc93239528cb0c997d45f7563df9b10dfd30c..35a31ccf3383a8df574e312cd846a63c280233f9 100644
--- a/VectoCommon/VectoCommon/Hashing/VectoComponents.cs
+++ b/VectoCommon/VectoCommon/Hashing/VectoComponents.cs
@@ -47,7 +47,8 @@ namespace TUGraz.VectoCommon.Hashing
 		Vehicle,
 		VectoOutput,
 		VectoCustomerInformation,
-		VectoPrimaryVehicleInformation
+		VectoPrimaryVehicleInformation,
+		VectoManufacturingStage
 	}
 
 	public static class VectoComponentsExtensionMethods
@@ -79,6 +80,8 @@ namespace TUGraz.VectoCommon.Hashing
 					return "VectoCustomerInformation";
 				case VectoComponents.VectoPrimaryVehicleInformation:
 					return "VectoOutputPrimaryVehicle";
+				case VectoComponents.VectoManufacturingStage:
+					return "ManufacturingStage";
 				default:
 					throw new ArgumentOutOfRangeException("VectoComponents", component, null);
 			}
@@ -109,6 +112,10 @@ namespace TUGraz.VectoCommon.Hashing
 					return "COC-";
 				case VectoComponents.VectoPrimaryVehicleInformation:
 					return "PIF-";
+				case VectoComponents.Vehicle:
+					return "VEH-";
+				case VectoComponents.VectoManufacturingStage:
+					return "MST-";
 				default:
 					throw new ArgumentOutOfRangeException("VectoComponents", component, null);
 			}
diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
index 292639d551dda097addf4bc13b5868caa58f40ca..d359617fb7bf9600f0f37f4124f9125d3dced807 100644
--- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
+++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
@@ -99,6 +99,8 @@ namespace TUGraz.VectoCommon.InputData
 
 		string VIN { get; }
 
+		string LegislativeCategory { get; }
+
 		LegislativeClass? LegislativeClass { get; }
 
 		/// <summary>
@@ -255,8 +257,11 @@ namespace TUGraz.VectoCommon.InputData
 
 	public enum PredictiveCruiseControlType
 	{
+		[GuiLabel("None")]
 		None,
+		[GuiLabel("Option I + II")]
 		Option_1_2,
+		[GuiLabel("Option I + II + III")]
 		Option_1_2_3
 	}
 
@@ -288,8 +293,11 @@ namespace TUGraz.VectoCommon.InputData
 
 	public enum EcoRollType
 	{
+		[GuiLabel("None")]
 		None,
+		[GuiLabel("Without Engine Stop")]
 		WithoutEngineStop,
+		[GuiLabel("With Engine Stop")]
 		WithEngineStop
 	}
 
@@ -372,6 +380,9 @@ namespace TUGraz.VectoCommon.InputData
 		/// cf. VECTO Input Parameters.xlsx
 		/// </summary>
 		SquareMeter AirDragArea { get; } // without trailer
+		SquareMeter TransferredAirDragArea { get; } // P246
+
+		SquareMeter AirDragArea_0 { get; } // P245
 	}
 
 	public interface IRetarderInputData : IComponentInputData
@@ -844,6 +855,7 @@ namespace TUGraz.VectoCommon.InputData
 
 	public interface IPneumaticSupplyDeclarationData
 	{
+		CompressorDrive CompressorDrive { get; }
 		string Clutch { get; }
 		double Ratio { get; }
 
@@ -944,7 +956,9 @@ namespace TUGraz.VectoCommon.InputData
 
 	public enum VehicleDeclarationType
 	{
+		[GuiLabel("Interim")]
 		interim,
+		[GuiLabel("Final")]
 		final
 	}
 
@@ -973,4 +987,39 @@ namespace TUGraz.VectoCommon.InputData
 			}
 		}
 	}
+
+	public enum CompressorDrive
+	{
+		[GuiLabel("Electrically")]
+		electrically,
+		[GuiLabel("Mechanically")]
+		mechanically
+	}
+	
+	public static class CompressorDriveHelper
+	{
+		public static CompressorDrive Parse(string parse)
+		{
+			switch (parse)
+			{
+				case nameof(CompressorDrive.electrically):
+					return CompressorDrive.electrically;
+				case nameof(CompressorDrive.mechanically):
+					return CompressorDrive.mechanically;
+				default:
+					throw new ArgumentOutOfRangeException();
+			}
+		}
+
+		public static string GetLabel(this CompressorDrive type)
+		{
+			switch (type)
+			{
+				case CompressorDrive.electrically: return nameof(CompressorDrive.electrically);
+				case CompressorDrive.mechanically: return nameof(CompressorDrive.electrically);
+				default: return null;
+			}
+		}
+	}
+
 }
\ No newline at end of file
diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
index dddce37770b367b37342ed0c04611bd63579e42b..d0b8d536899b6abe038754eaf51a7467e923c4af 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
@@ -105,6 +105,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to TransferredCdxA.
+        /// </summary>
+        public static string AirDragArea_TransferredCdxA {
+            get {
+                return ResourceManager.GetString("AirDragArea_TransferredCdxA", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Efficiency.
         /// </summary>
@@ -1365,6 +1374,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to CompressorDrive.
+        /// </summary>
+        public static string CompressorDrive {
+            get {
+                return ResourceManager.GetString("CompressorDrive", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Signature.
         /// </summary>
diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx
index e3656be828189918da7308e6d4d127a4b95e97f3..99d4e8f5a56d7dfbadbb6f8f6e5f467df268a3ab 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.resx
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx
@@ -1491,6 +1491,9 @@
   <data name="BusAux_PneumaticSystem_SCRReagentDosing" xml:space="preserve">
     <value>SCRReagentDosing</value>
   </data>
+  <data name="AirDragArea_TransferredCdxA" xml:space="preserve">
+    <value>TransferredCdxA</value>
+  </data>
   <data name="Bus_VehicleDeclarationType" xml:space="preserve">
     <value>VehicleDeclarationType</value>
   </data>
@@ -1506,4 +1509,7 @@
   <data name="BusAux_HVAC" xml:space="preserve">
     <value>HVAC</value>
   </data>
+  <data name="CompressorDrive" xml:space="preserve">
+    <value>CompressorDrive</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/VectoCommon/VectoCommon/Utils/GuiLabelAttribute.cs b/VectoCommon/VectoCommon/Utils/GuiLabelAttribute.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c178106a983fd61a65c4c3c98f4e8e3b7db0a8e5
--- /dev/null
+++ b/VectoCommon/VectoCommon/Utils/GuiLabelAttribute.cs
@@ -0,0 +1,13 @@
+using System;
+
+namespace TUGraz.VectoCommon.Utils
+{
+	public class GuiLabelAttribute : Attribute
+	{
+		public string Label { get; private set; }
+		public GuiLabelAttribute(string label)
+		{
+			Label = label;
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs b/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs
index 9937f64cb79325c45164ad4cfa589356c50d87a7..1d880772420c1d7ca76ae2e532804d0784b780fd 100644
--- a/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs
+++ b/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs
@@ -45,6 +45,11 @@ namespace TUGraz.VectoCommon.Utils
 			Units = units;
 		}
 
+		public string GetUnitString()
+		{
+			return Units;
+		}
+
 		public double Value { get { return _value; } }
 
 		protected bool Equals(ConvertedSI other)
@@ -247,6 +252,18 @@ namespace TUGraz.VectoCommon.Utils
 		{
 			return new ConvertedSI(jpm.Value() * 1e-3, "MJ/km");
 		}
+
+		public static Meter ConvertToMeter(this ConvertedSI mm)
+		{
+			if (mm.Units != "mm") {
+				return null;
+			}
+			//return ElementExists(XMLNames.Bus_HeighIntegratedBody)
+			//	? GetDouble(XMLNames.Bus_HeighIntegratedBody).SI(Unit.SI.Milli.Meter).Cast<Meter>()
+			//	: null;
+
+			return mm.Value.SI(Unit.SI.Milli.Meter).Cast<Meter>();
+		}
 	}
 }
 
diff --git a/VectoCommon/VectoCommon/VectoCommon.csproj b/VectoCommon/VectoCommon/VectoCommon.csproj
index 9913ddd6965b13ddca054782ecabfd69ebb926b8..7cd867305ac4715d783e7bded81e8259560d7801 100644
--- a/VectoCommon/VectoCommon/VectoCommon.csproj
+++ b/VectoCommon/VectoCommon/VectoCommon.csproj
@@ -128,13 +128,14 @@
       <DesignTime>True</DesignTime>
     </Compile>
     <Compile Include="Resources\XMLNames.Designer.cs">
-      <DependentUpon>XMLNames.resx</DependentUpon>
       <AutoGen>True</AutoGen>
       <DesignTime>True</DesignTime>
+      <DependentUpon>XMLNames.resx</DependentUpon>
     </Compile>
     <Compile Include="Utils\DoubleExtensionMethods.cs" />
     <Compile Include="Utils\EnumerableExtensionMethods.cs" />
     <Compile Include="Utils\EnumHelper.cs" />
+    <Compile Include="Utils\GuiLabelAttribute.cs" />
     <Compile Include="Utils\IntExtensionMethods.cs" />
     <Compile Include="Utils\SI.cs" />
     <Compile Include="Utils\SIConvertExtensionMethods.cs" />
@@ -154,8 +155,8 @@
   <ItemGroup>
     <EmbeddedResource Include="Resources\XMLNames.resx">
       <Generator>PublicResXFileCodeGenerator</Generator>
-      <LastGenOutput>XMLNames.Designer.cs</LastGenOutput>
       <SubType>Designer</SubType>
+      <LastGenOutput>XMLNames.Designer.cs</LastGenOutput>
     </EmbeddedResource>
   </ItemGroup>
   <ItemGroup>
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
index 28afea7f4637c5cd670ccf623da9e067ba63ee27..67281ae54e352b798ed6fe36c023f2425eced4d0 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
@@ -223,6 +223,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			get { return VehicleData.VIN; }
 		}
 
+		public string LegislativeCategory
+		{
+			get { return null; }
+		}
+
 		public LegislativeClass? LegislativeClass
 		{
 			get { return VehicleData.LegislativeClass; }
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs
index 3de7b5a3747a188e5f4674209b77e7bd73c39a7f..42042eadfed1643a3062cfecb5db8e0fbed3f624 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs
@@ -273,6 +273,22 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			}
 		}
 
+		public SquareMeter TransferredAirDragArea
+		{
+			get
+			{
+				return AirDragArea;
+			}
+		}
+
+		public SquareMeter AirDragArea_0
+		{
+			get
+			{
+				return AirDragArea;
+			}
+		}
+
 		public virtual CrossWindCorrectionMode CrossWindCorrectionMode
 		{
 			get { return CrossWindCorrectionModeHelper.Parse(Body.GetEx<string>("CdCorrMode")); }
@@ -592,7 +608,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 
         #region Implementation of IPneumaticSupplyDeclarationData
 
-        public string Clutch { get; }
+		public CompressorDrive CompressorDrive { get; }
+		public string Clutch { get; }
         public virtual double Ratio { get { return Body["Aux"]?["PneumaticSupply"]?.GetEx<double>("Ratio") ?? 0.0; } }
         public virtual string CompressorSize
         {
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
index efe1a7b47f8f7e9a5676cf294620fa4d65bf3083..c7355a1d53373c4cb98bc6e74327beec5bf7f0f5 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
@@ -238,6 +238,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			get { return Constants.NOT_AVailABLE; }
 		}
 
+		public string LegislativeCategory
+		{
+			get { return null; }
+		}
+
 		public virtual LegislativeClass? LegislativeClass
 		{
 			get {
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAirdragDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAirdragDataProvider.cs
index 9e020e820b2cf38358c62e33fc53d6a2ec56d8cd..3dffc6369b624449a5562a542a7519fd221d06f9 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAirdragDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAirdragDataProvider.cs
@@ -34,6 +34,26 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 			}
 		}
 
+		public virtual SquareMeter TransferredAirDragArea
+		{
+			get
+			{
+				return ElementExists(XMLNames.AirDrag_TransferredCDxA) 
+					? GetDouble(XMLNames.AirDrag_TransferredCDxA).SI<SquareMeter>() 
+					: null;
+			}
+		}
+
+		public virtual SquareMeter AirDragArea_0
+		{
+			get
+			{
+				return ElementExists(XMLNames.AirDrag_CdxA_0)
+					? GetDouble(XMLNames.AirDrag_CdxA_0).SI<SquareMeter>()
+					: null;
+			}
+		}
+
 		public override CertificationMethod CertificationMethod
 		{
 			get { return CertificationMethod.Measured; }
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs
index b33ee82dcff969599dc060b1db7e793370f75f20..566ecab49c12fa47fe34aa309961ed2115427b71 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs
@@ -138,6 +138,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 
 		#region Implementation of IPneumaticSupplyDeclarationData
 
+		public CompressorDrive CompressorDrive
+		{
+			get { return CompressorDriveHelper.Parse(GetString(XMLNames.CompressorDrive)); }
+		}
+
 		public virtual string Clutch { get { return GetString(new[] { XMLNames.BusAux_PneumaticSystem, "Clutch" }); } }
 
 		public virtual double Ratio
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
index c71f4ab540da3738e563c6ff5aa4c0896f54d394..4df6b512fe71799139b40236f426da938b975c85 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
@@ -120,6 +120,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 			get { return GetString(XMLNames.Vehicle_VIN); }
 		}
 
+		public virtual string LegislativeCategory
+		{
+			get { return null; }
+		}
+
 		public virtual LegislativeClass? LegislativeClass
 		{
 			get { return GetString(XMLNames.Vehicle_LegislativeClass).ParseEnum<LegislativeClass>(); }
@@ -956,6 +961,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 			get { return GetString(XMLNames.Vehicle_VIN); }
 		}
 
+		public string LegislativeCategory
+		{
+			get { return GetString(XMLNames.Bus_LegislativeCategory); }
+		}
+
 		public VehicleCategory VehicleCategory
 		{
 			get { return VehicleCategoryHelper.Parse(GetString(XMLNames.Vehicle_VehicleCategory)); }
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
index 05845d89eaec489a105fdacaf6d42463cdb33192..1adb5bfc09c3bda19d1affb11afc181b029c068a 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
@@ -128,6 +128,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory
 		IXMLAxleReader CreateAxleReader(string version, IXMLDeclarationVehicleData vehicle, XmlNode componentsNode);
 		IXMLGearboxReader CreateGearboxReader(string version, IXMLDeclarationVehicleData vehicle, XmlNode componentsNode);
 		IXMLAuxiliaryReader CreateAuxiliariesReader(string version, IXMLDeclarationVehicleData vehicle, XmlNode componentsNode);
+
 		
 		IXMLApplicationInformationData CreateApplicationInformationReader(string version, XmlNode applicationNode);
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs
index 097c8f28bc4426eba9610c0da90862e85a78a40c..3f5ce60a03c25e005d076fc1941664f02b9fd891 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs
@@ -12,6 +12,7 @@ using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
+using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
@@ -444,6 +445,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
 			get { return _manufacturingStages.First().Vehicle.VIN; }
 		}
 
+		public string LegislativeCategory
+		{
+			get { return null; }
+		}
+
 		public VehicleDeclarationType VehicleDeclarationType
 		{
 			get { return _manufacturingStages.First().Vehicle.VehicleDeclarationType; }
@@ -875,6 +881,23 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
 		{
 			get { return AirdragEntry?.AirDragArea; }
 		}
+
+		public SquareMeter TransferredAirDragArea
+		{
+			get
+			{
+				return AirdragEntry?.TransferredAirDragArea;
+			}
+		}
+
+		public SquareMeter AirDragArea_0
+		{
+			get
+			{
+				return AirdragEntry.AirDragArea_0;
+			}
+		}
+
 		public DataSource DataSource
 		{
 			get { return AirdragEntry?.DataSource; }
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAirdragDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAirdragDataProvider.cs
index c7ae92bac6782a20f53fdee67767a62c41f0117a..6f75b3791793a49038cb1f18a0bded32c3bb0990 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAirdragDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAirdragDataProvider.cs
@@ -69,7 +69,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider
 			get { return AirDragArea; }
 		}
 
-		public virtual SquareMeter AirdragArea_0
+		public virtual SquareMeter AirDragArea_0
 		{
 			get { return AirDragArea; }
 		}
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs
index 76017cff2db4dc91fb6f90148caee516789fd7ff..fa6b7d5740c12641a9b127383764e429a3242932 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs
@@ -76,6 +76,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider
 			get { return GetString(XMLNames.Vehicle_VIN); }
 		}
 
+		public string LegislativeCategory
+		{
+			get { return null; }
+		}
+
 		public virtual LegislativeClass? LegislativeClass
 		{
 			get { return GetString(XMLNames.Vehicle_LegislativeClass).ParseEnum<LegislativeClass>(); }
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs b/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs
index 43fefb49581f233e3c0e0e229381fa1271ba2f58..800fa39358f383c6f9dd13777b8a6c07c75daebe 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs
@@ -45,6 +45,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl {
 
 		#region Implementation of IPneumaticSupplyDeclarationData
 
+		public CompressorDrive CompressorDrive { get; }
 		public string Clutch { get; }
 		public double Ratio { get; }
 		public string CompressorSize { get; }
diff --git a/VectoCore/VectoCore/OutputData/FileIO/FileOutputVIFWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/FileOutputVIFWriter.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bf397d5ef0299c4595347ebb76ea533c9f8065e5
--- /dev/null
+++ b/VectoCore/VectoCore/OutputData/FileIO/FileOutputVIFWriter.cs
@@ -0,0 +1,70 @@
+using System;
+using System.IO;
+using System.Text;
+using System.Xml;
+using System.Xml.Linq;
+
+
+namespace TUGraz.VectoCore.OutputData.FileIO
+{
+	public class FileOutputVIFWriter : FileOutputWriter
+	{
+		public const string REPORT_ENDING_PREFIX = "VIF_Report_";
+
+		private string _jobFile;
+		private readonly int _numberOfManufacturingStages;
+		
+		public string XMLMultistageReportFileName
+		{
+			get { return Path.ChangeExtension(_jobFile, $"{REPORT_ENDING_PREFIX}{_numberOfManufacturingStages + 2}.xml"); }
+		}
+		
+		public FileOutputVIFWriter(string jobFile, int numberOfManufacturingStages) : base(jobFile)
+		{
+			_jobFile = jobFile;
+			RemoveExistingEndingPrefix();
+			_numberOfManufacturingStages = numberOfManufacturingStages;
+		}
+		
+		private void RemoveExistingEndingPrefix()
+		{
+			var vifReportIndex = _jobFile.IndexOf(REPORT_ENDING_PREFIX, StringComparison.Ordinal);
+			if (vifReportIndex == -1)
+				return;
+
+			if (!_jobFile.Contains(REPORT_ENDING_PREFIX))
+				return;
+
+			_jobFile = $"{_jobFile.Substring(0, vifReportIndex - 1)}.xml";
+		}
+
+
+		public override void WriteReport(ReportType type, XDocument data)
+		{
+			var fileName = (string)null;
+			switch (type) {
+				case ReportType.DeclarationReportMultistageVehicleXML:
+					fileName = XMLMultistageReportFileName;
+					break;
+				default:
+					base.WriteReport(type, data);
+					break;
+			}
+
+			if (fileName == null)
+				return;
+
+			using (var writer = new FileStream(fileName, FileMode.Create))
+			{
+				using (var xmlWriter = new XmlTextWriter(writer, Encoding.UTF8))
+				{
+					xmlWriter.Formatting = Formatting.Indented;
+					data.WriteTo(xmlWriter);
+					xmlWriter.Flush();
+					xmlWriter.Close();
+				}
+			}
+
+		}
+	}
+}
diff --git a/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs
index 7a4fd849c4637db662cea699e79451340ec5bdcb..5d471afa186fa85beaeb2b099449156837c8f441 100644
--- a/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs
+++ b/VectoCore/VectoCore/OutputData/FileIO/FileOutputWriter.cs
@@ -84,13 +84,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO
 		{
 			get { return Path.ChangeExtension(_jobFile, Constants.FileExtensions.SumFile); }
 		}
-
-		public string XMLMultistageReportFileName
-		{
-			get { return Path.ChangeExtension(_jobFile, "VIF_Report.xml"); }
-		}
-
-
+		
 		/// <summary>
 		/// 
 		/// </summary>
@@ -141,9 +135,6 @@ namespace TUGraz.VectoCore.OutputData.FileIO
 				case ReportType.DeclarationVTPReportXML:
 					fileName = XMLVTPReportName;
 					break;
-				case ReportType.DeclarationReportMultistageVehicleXML:
-					fileName = XMLMultistageReportFileName;
-					break;
 				default:
 					throw new ArgumentOutOfRangeException("ReportType");
 			}
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLMultistageBusReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLMultistageBusReport.cs
index 3e3bf88ebe2be2641e3f6673802f86528d8f8ba3..6ff8cd221653bdd7e1e828e4acc20a86db8275a4 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLMultistageBusReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLMultistageBusReport.cs
@@ -7,6 +7,7 @@ using System.Text.RegularExpressions;
 using System.Xml;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
+using TUGraz.VectoCommon.Hashing;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
@@ -15,6 +16,7 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Utils;
 
+
 namespace TUGraz.VectoCore.OutputData.XML
 {
 	public interface IXMLMultistageReport
@@ -153,8 +155,8 @@ namespace TUGraz.VectoCore.OutputData.XML
 
 		private XElement GenerateInputManufacturingStage()
 		{
-			var multistageId = $"MST-{GetGUID()}";
-			var vehicleId = $"VEH-{GetGUID()}";
+			var multistageId = $"{VectoComponents.VectoManufacturingStage.HashIdPrefix()}{GetGUID()}";
+			var vehicleId = $"{VectoComponents.Vehicle.HashIdPrefix()}{GetGUID()}";
 
 			return new XElement(tns + XMLNames.ManufacturingStage,
 					new XAttribute("stageCount", GetStageNumber()),
@@ -239,6 +241,9 @@ namespace TUGraz.VectoCore.OutputData.XML
 
 		private XElement GetADAS(IAdvancedDriverAssistantSystemDeclarationInputData adasData)
 		{
+			if (adasData == null)
+				return null;
+			
 			return new XElement(
 				v28 + XMLNames.Vehicle_ADAS,
 				new XElement(v23 + XMLNames.Vehicle_ADAS_EngineStopStart, adasData.EngineStopStart),
@@ -253,6 +258,9 @@ namespace TUGraz.VectoCore.OutputData.XML
 
 		private XElement GetBusVehicleComponents(IVehicleComponentsDeclaration vehicleComponents)
 		{
+			if (vehicleComponents == null)
+				return null;
+
 			var busAirdrag = GetBusAirdrag(vehicleComponents.AirdragInputData);
 			var busAux = GetBusAuxiliaries(vehicleComponents.BusAuxiliaries);
 
@@ -269,11 +277,11 @@ namespace TUGraz.VectoCore.OutputData.XML
 
 		private XElement GetBusAirdrag(IAirdragDeclarationInputData airdrag)
 		{
-			if (airdrag != null) {
+			if (airdrag != null) 
 				return GetAirdragElement(airdrag);
-			}
-
-			switch (_vehicleInputData.AirdragModifiedMultistage) {
+			
+			switch (_vehicleInputData.AirdragModifiedMultistage)
+			{
 				case true:
 					return GetBusAirdragUseStandardValues();
 				case false:
@@ -285,12 +293,24 @@ namespace TUGraz.VectoCore.OutputData.XML
 		
 		private XElement GetAirdragElement(IAirdragDeclarationInputData airdrag)
 		{
-			var component = airdrag as AbstractCommonComponentType;
-			if (component == null)
+			if (airdrag == null)
 				return null;
+			
+			XmlNode airdragNode = null;
+			if (airdrag is AbstractCommonComponentType)
+				airdragNode = (airdrag as AbstractCommonComponentType).XMLSource;
+			else {
+				var type = airdrag.GetType();
+				var property = type.GetProperty(nameof(AbstractCommonComponentType.XMLSource));
+				if (property != null)
+					airdragNode = (XmlNode)property.GetValue(airdrag, null);
+			}
 
-			var dataElement = XElement.Parse(component.XMLSource.FirstChild.OuterXml);
-			var signatureElement = XElement.Parse(component.XMLSource.LastChild.OuterXml);
+			if (airdragNode == null)
+				return null;
+
+			var dataElement = XElement.Parse(airdragNode.FirstChild.OuterXml);
+			var signatureElement = XElement.Parse(airdragNode.LastChild.OuterXml);
 			dataElement.Attribute(XNamespace.Xmlns + "xsi")?.Remove();
 			
 			return new XElement(v28 + XMLNames.Component_AirDrag,
@@ -301,11 +321,13 @@ namespace TUGraz.VectoCore.OutputData.XML
 
 		private XElement GetBusAirdragUseStandardValues()
 		{
+			var id = $"{VectoComponents.Airdrag.HashIdPrefix()}{GetGUID()}";
+
 			return new XElement(v28 + XMLNames.Component_AirDrag,
 				new XElement(v20 + XMLNames.ComponentDataWrapper,
 					new XAttribute(XNamespace.Xmlns + "v2.0", v20),
 					new XAttribute(xsi + XMLNames.Attr_Type, "v2.8:AirDragModifiedUseStandardValueType"),
-					new XAttribute(XMLNames.Component_ID_Attr, "standard")
+					new XAttribute(XMLNames.Component_ID_Attr, id)
 				),
 				new XElement(v20 + XMLNames.DI_Signature, XMLHelper.CreateDummySig(di)));
 		}
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index 2b3fec268366af0379017f518d0276650c52fc5b..c393280676f869f122f29b7781504b31d09896d3 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -435,6 +435,7 @@
     <Compile Include="Models\Simulation\ISimulatorFactoryFactory.cs" />
     <Compile Include="Models\Simulation\SimulationFactoryNinjectModule.cs" />
     <Compile Include="OutputData\FileIO\BusAuxWriter.cs" />
+    <Compile Include="OutputData\FileIO\FileOutputVIFWriter.cs" />
     <Compile Include="OutputData\FileIO\JSONFileWriter.cs" />
     <Compile Include="OutputData\XML\AbstractXMLManufacturerReport.cs" />
     <Compile Include="OutputData\XML\DeclarationJobs\XMLCompletedBusWriter.cs" />
diff --git a/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs b/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs
index d3617eed5cd44a32057b1dbacb5c5fa0707656af..19e893c5ce1307289d5464274112a41bd367f7e2 100644
--- a/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs
@@ -30,7 +30,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage
 		const string InputFilePath = InputDirPath  + "vecto_vehicle-stage_input_full-sample.xml";
 		const string VIFInputFile = VIFDirPath  + "vecto_multistage_primary_vehicle_stage_2_3.xml";
 
-		private const string vifResult = VIFDirPath + "vif_vehicle-sample.xml";
+		private const string vifResult = VIFDirPath + "vif_vehicle-sample.VIF_Report_3.xml";
 
 		protected IXMLInputDataReader xmlInputReader;
 		protected IXMLInputDataReader xmlVIFInputReader;
@@ -58,8 +58,9 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage
 
 			var vifReader = XmlReader.Create(vifFilename);
 			var vifDataProvider = xmlInputReader.Create(vifReader) as IMultistageBusInputDataProvider;
-			
-			var writer = new FileOutputWriter(vifResult);
+
+			var numberOfManufacturingStages = vifDataProvider.JobInputData.ManufacturingStages?.Count ?? 0;
+			var writer = new FileOutputVIFWriter(vifResult, numberOfManufacturingStages);
 			var inputData = new XMLDeclarationVIFInputData(vifDataProvider, vehicle);
 			
 			var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer);
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.VIF_Report_5.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.VIF_Report_5.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b3433061102c1be274c50f29dc77ddb0528f1854
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.VIF_Report_5.xml
@@ -0,0 +1,898 @@
+<?xml version="1.0" encoding="utf-8"?>
+<VectoOutputMultistage xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xmlns:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1 E:\VECTO_DEV\fk_vecto-dev\VectoCore\VectoCore\Resources\XSD/VectoOutputMultistage.0.1.xsd">
+  <PrimaryVehicle>
+    <Data id="text" xsi:type="PrimaryVehicleDataType">
+      <Vehicle xsi:type="VehiclePIFType">
+        <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle>
+        <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle>
+        <Model>Generic Model</Model>
+        <VIN>VEH-1234567890_nonSmart-ESS</VIN>
+        <Date>2017-02-15T11:00:00Z</Date>
+        <LegislativeCategory>M3</LegislativeCategory>
+        <VehicleCategory>Bus</VehicleCategory>
+        <AxleConfiguration>8x2</AxleConfiguration>
+        <Articulated>true</Articulated>
+        <TechnicalPermissibleMaximumLadenMass>4000</TechnicalPermissibleMaximumLadenMass>
+        <IdlingSpeed>600</IdlingSpeed>
+        <RetarderType>Transmission Output Retarder</RetarderType>
+        <RetarderRatio>1.000</RetarderRatio>
+        <AngledriveType>None</AngledriveType>
+        <ZeroEmissionVehicle>false</ZeroEmissionVehicle>
+        <ADAS xsi:type="v2.3:AdvancedDriverAssistantSystemsType">
+          <v2.3:EngineStopStart>true</v2.3:EngineStopStart>
+          <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop>
+          <v2.3:EcoRollWithEngineStop>true</v2.3:EcoRollWithEngineStop>
+          <v2.3:PredictiveCruiseControl>1,2,3</v2.3:PredictiveCruiseControl>
+          <v2.3:APTEcoRollReleaseLockupClutch>false</v2.3:APTEcoRollReleaseLockupClutch>
+        </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" />
+          <tcl:Entry gear="12" maxTorque="1900" />
+        </TorqueLimits>
+        <Components xsi:type="VehicleComponentsPIFType">
+          <Engine>
+            <Data xsi:type="EngineDataPIFType">
+              <Manufacturer>Generic Engine Manufacturer</Manufacturer>
+              <Model>Bus 6x2</Model>
+              <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+              <Date>2017-02-15T11:00:00Z</Date>
+              <AppVersion>VectoEngine x.y</AppVersion>
+              <Displacement>12730</Displacement>
+              <RatedSpeed>1800</RatedSpeed>
+              <RatedPower>325032</RatedPower>
+              <MaxEngineTorque>2134</MaxEngineTorque>
+              <WHRType>
+                <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE>
+                <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain>
+                <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput>
+              </WHRType>
+              <Mode>
+                <IdlingSpeed>600</IdlingSpeed>
+                <FullLoadAndDragCurve>
+                  <Entry engineSpeed="600.00" maxTorque="1188.00" dragTorque="-138.00" />
+                  <Entry engineSpeed="800.00" maxTorque="1661.00" dragTorque="-143.00" />
+                  <Entry engineSpeed="1000.00" maxTorque="2134.00" dragTorque="-152.00" />
+                  <Entry engineSpeed="1200.00" maxTorque="2134.00" dragTorque="-165.00" />
+                  <Entry engineSpeed="1400.00" maxTorque="2134.00" dragTorque="-187.00" />
+                  <Entry engineSpeed="1600.00" maxTorque="1928.00" dragTorque="-217.00" />
+                  <Entry engineSpeed="1800.00" maxTorque="1722.00" dragTorque="-244.00" />
+                  <Entry engineSpeed="2000.00" maxTorque="1253.00" dragTorque="-278.00" />
+                  <Entry engineSpeed="2100.00" maxTorque="1019.00" dragTorque="-296.00" />
+                  <Entry engineSpeed="2200.00" maxTorque="0.00" dragTorque="-314.00" />
+                </FullLoadAndDragCurve>
+                <Fuels>
+                  <FuelType>Diesel CI</FuelType>
+                </Fuels>
+              </Mode>
+            </Data>
+          </Engine>
+          <Transmission>
+            <Data xsi:type="TransmissionDataPIFType">
+              <Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
+              <Model>Generic 40t Long Haul Truck Gearbox</Model>
+              <MainCertificationMethod>Standard values</MainCertificationMethod>
+              <CertificationNumber>Trans-5464sdf6sdf555</CertificationNumber>
+              <Date>2017-01-11T11:00:00Z</Date>
+              <AppVersion>3.0.1</AppVersion>
+              <TransmissionType>AMT</TransmissionType>
+              <Gears xsi:type="TransmissionGearsPIFType">
+                <Gear number="1">
+                  <Ratio>14.930</Ratio>
+                  <MaxTorque>1900</MaxTorque>
+                  <MaxSpeed>2000</MaxSpeed>
+                </Gear>
+                <Gear number="2">
+                  <Ratio>11.640</Ratio>
+                  <MaxTorque>1900</MaxTorque>
+                  <MaxSpeed>2000</MaxSpeed>
+                </Gear>
+                <Gear number="3">
+                  <Ratio>9.020</Ratio>
+                  <MaxSpeed>2000</MaxSpeed>
+                </Gear>
+                <Gear number="4">
+                  <Ratio>7.040</Ratio>
+                  <MaxSpeed>2000</MaxSpeed>
+                </Gear>
+                <Gear number="5">
+                  <Ratio>5.640</Ratio>
+                  <MaxSpeed>2000</MaxSpeed>
+                </Gear>
+                <Gear number="6">
+                  <Ratio>4.400</Ratio>
+                  <MaxSpeed>2000</MaxSpeed>
+                </Gear>
+                <Gear number="7">
+                  <Ratio>3.390</Ratio>
+                  <MaxSpeed>2000</MaxSpeed>
+                </Gear>
+                <Gear number="8">
+                  <Ratio>2.650</Ratio>
+                  <MaxSpeed>2000</MaxSpeed>
+                </Gear>
+                <Gear number="9">
+                  <Ratio>2.050</Ratio>
+                  <MaxSpeed>2000</MaxSpeed>
+                </Gear>
+                <Gear number="10">
+                  <Ratio>1.600</Ratio>
+                  <MaxSpeed>2000</MaxSpeed>
+                </Gear>
+                <Gear number="11">
+                  <Ratio>1.280</Ratio>
+                  <MaxSpeed>2000</MaxSpeed>
+                </Gear>
+                <Gear number="12">
+                  <Ratio>1.000</Ratio>
+                </Gear>
+              </Gears>
+            </Data>
+          </Transmission>
+          <TorqueConverter>
+            <Data xsi:type="TorqueConverterDataPIFType">
+              <Manufacturer>Generic Torque Converter</Manufacturer>
+              <Model>Generic Torque Converter Model</Model>
+              <CertificationMethod>Standard values</CertificationMethod>
+              <CertificationNumber>Torq-4546565455</CertificationNumber>
+              <Date>2018-01-12T12:00:00Z</Date>
+              <AppVersion>3.0.3</AppVersion>
+              <Characteristics>
+                <Entry speedRatio="0.0000" torqueRatio="1.00" inputTorqueRef="300.00" />
+                <Entry speedRatio="0.5000" torqueRatio="1.00" inputTorqueRef="200.00" />
+                <Entry speedRatio="0.9000" torqueRatio="0.90" inputTorqueRef="200.00" />
+              </Characteristics>
+            </Data>
+          </TorqueConverter>
+          <Angledrive>
+            <Data xsi:type="AngledriveDataPIFType">
+              <Manufacturer>Generic Angledrive</Manufacturer>
+              <Model>Generic Angledrive Model</Model>
+              <CertificationMethod>Standard values</CertificationMethod>
+              <CertificationNumber>ANG-Z64665456654</CertificationNumber>
+              <Date>2019-01-12T12:00:00Z</Date>
+              <AppVersion>3.2.3</AppVersion>
+              <Ratio>20</Ratio>
+            </Data>
+          </Angledrive>
+          <Axlegear>
+            <Data xsi:type="AxlegearDataPIFType">
+              <Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
+              <Model>Generic 40t Long Haul Truck AxleGear</Model>
+              <CertificationMethod>Standard values</CertificationMethod>
+              <CertificationNumber>AX-6654888s5f4</CertificationNumber>
+              <Date>2017-01-11T11:00:00Z</Date>
+              <AppVersion>3.0.1</AppVersion>
+              <LineType>Single portal axle</LineType>
+              <Ratio>2.590</Ratio>
+            </Data>
+          </Axlegear>
+          <AxleWheels>
+            <Data xsi:type="AxleWheelsDataPIFType">
+              <Axles>
+                <Axle axleNumber="1" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:AxleDataDeclarationType">
+                  <v2.0:AxleType>VehicleNonDriven</v2.0:AxleType>
+                  <v2.0:TwinTyres>false</v2.0:TwinTyres>
+                  <v2.0:Steered>true</v2.0:Steered>
+                  <v2.0:Tyre>
+                    <v2.0:Data id="WHL-5432198760-315-70-R22.5" xsi:type="v2.0:TyreDataDeclarationType">
+                      <v2.0:Manufacturer>Generic Wheels Manufacturer</v2.0:Manufacturer>
+                      <v2.0:Model>Generic Wheel</v2.0:Model>
+                      <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
+                      <v2.0:Date>2017-01-11T14:00:00Z</v2.0:Date>
+                      <v2.0:AppVersion>Tyre Generation App 1.0</v2.0:AppVersion>
+                      <v2.0:Dimension>315/70 R22.5</v2.0:Dimension>
+                      <v2.0:RRCDeclared>0.0055</v2.0:RRCDeclared>
+                      <v2.0:FzISO>31300</v2.0:FzISO>
+                    </v2.0:Data>
+                    <v2.0: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>
+                    </v2.0:Signature>
+                  </v2.0:Tyre>
+                </Axle>
+                <Axle axleNumber="2" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:AxleDataDeclarationType">
+                  <v2.0:AxleType>VehicleDriven</v2.0:AxleType>
+                  <v2.0:TwinTyres>true</v2.0:TwinTyres>
+                  <v2.0:Steered>false</v2.0:Steered>
+                  <v2.0:Tyre>
+                    <v2.0:Data id="WHL-5432198760-315-70-R22.5" xsi:type="v2.0:TyreDataDeclarationType">
+                      <v2.0:Manufacturer>Generic Wheels Manufacturer</v2.0:Manufacturer>
+                      <v2.0:Model>Generic Wheel</v2.0:Model>
+                      <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
+                      <v2.0:Date>2017-01-11T14:00:00Z</v2.0:Date>
+                      <v2.0:AppVersion>Tyre Generation App 1.1</v2.0:AppVersion>
+                      <v2.0:Dimension>315/70 R22.5</v2.0:Dimension>
+                      <v2.0:RRCDeclared>0.0063</v2.0:RRCDeclared>
+                      <v2.0:FzISO>31300</v2.0:FzISO>
+                    </v2.0:Data>
+                    <v2.0: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>
+                    </v2.0:Signature>
+                  </v2.0:Tyre>
+                </Axle>
+                <Axle axleNumber="3" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:AxleDataDeclarationType">
+                  <v2.0:AxleType>VehicleNonDriven</v2.0:AxleType>
+                  <v2.0:TwinTyres>false</v2.0:TwinTyres>
+                  <v2.0:Steered>false</v2.0:Steered>
+                  <v2.0:Tyre>
+                    <v2.0:Data id="WHL-5432198760-315-70-R22.5" xsi:type="v2.0:TyreDataDeclarationType">
+                      <v2.0:Manufacturer>Generic Wheels Manufacturer</v2.0:Manufacturer>
+                      <v2.0:Model>Generic Wheel</v2.0:Model>
+                      <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
+                      <v2.0:Date>2017-01-11T14:00:00Z</v2.0:Date>
+                      <v2.0:AppVersion>Tyre Generation App 1.1</v2.0:AppVersion>
+                      <v2.0:Dimension>315/70 R22.5</v2.0:Dimension>
+                      <v2.0:RRCDeclared>0.0055</v2.0:RRCDeclared>
+                      <v2.0:FzISO>31300</v2.0:FzISO>
+                    </v2.0:Data>
+                    <v2.0: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>
+                    </v2.0:Signature>
+                  </v2.0:Tyre>
+                </Axle>
+              </Axles>
+            </Data>
+          </AxleWheels>
+          <Auxiliaries>
+            <Data xsi:type="AuxiliaryDataPIFType">
+              <Fan>
+                <Technology>Hydraulic driven - Constant displacement pump</Technology>
+              </Fan>
+              <SteeringPump>
+                <Technology axleNumber="1">Variable displacement elec. controlled</Technology>
+              </SteeringPump>
+              <ElectricSystem>
+                <AlternatorTechnology>default</AlternatorTechnology>
+                <SmartElectrics>true</SmartElectrics>
+                <MaxAlternatorPower>15000</MaxAlternatorPower>
+                <ElectricStorageCapacity>50</ElectricStorageCapacity>
+              </ElectricSystem>
+              <PneumaticSystem>
+                <SizeOfAirSupply>Large Supply 2-stage</SizeOfAirSupply>
+                <CompressorDrive>electrically</CompressorDrive>
+                <Clutch>none</Clutch>
+                <CompressorRatio>1.000</CompressorRatio>
+                <SmartCompressionSystem>true</SmartCompressionSystem>
+                <SmartRegenerationSystem>false</SmartRegenerationSystem>
+                <AirsuspensionControl>electronically</AirsuspensionControl>
+                <SCRReagentDosing>true</SCRReagentDosing>
+              </PneumaticSystem>
+              <HVAC>
+                <AdjustableCoolantThermostat>true</AdjustableCoolantThermostat>
+                <EngineWasteGasHeatExchanger>true</EngineWasteGasHeatExchanger>
+              </HVAC>
+            </Data>
+          </Auxiliaries>
+        </Components>
+      </Vehicle>
+      <InputDataSignature>
+        <di:Reference URI="#VEH-PrimaryBus_SmartPS">
+          <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>uqcFIXtDYxvl513ruiYYJCrV1fIiyw37t8vJhg4xxoo=</di:DigestValue>
+        </di:Reference>
+      </InputDataSignature>
+      <ManufacturerRecordSignature>
+        <di:Reference URI="#RESULT-5f30c7fe665a47938f6b">
+          <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>KUpFCKh1bu/YPwYj36kJK1uCrv++BTLf2OUZcOt43Os=</di:DigestValue>
+        </di:Reference>
+      </ManufacturerRecordSignature>
+      <Results>
+        <Status>success</Status>
+        <Result status="success">
+          <VehicleGroup>P33SD</VehicleGroup>
+          <Mission>Heavy Urban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">15527.52</TotalVehicleMass>
+            <Payload unit="kg">1352.52</Payload>
+            <PassengerCount>19.89</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">21.22359</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1555.73</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33SD</VehicleGroup>
+          <Mission>Heavy Urban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">20937.60</TotalVehicleMass>
+            <Payload unit="kg">6762.60</Payload>
+            <PassengerCount>99.45</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">25.40945</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1862.57</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33SD</VehicleGroup>
+          <Mission>Urban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">15527.52</TotalVehicleMass>
+            <Payload unit="kg">1352.52</Payload>
+            <PassengerCount>19.89</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">16.74101</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1227.15</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33SD</VehicleGroup>
+          <Mission>Urban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">20937.60</TotalVehicleMass>
+            <Payload unit="kg">6762.60</Payload>
+            <PassengerCount>99.45</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">20.24221</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1483.80</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33SD</VehicleGroup>
+          <Mission>Suburban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">15527.52</TotalVehicleMass>
+            <Payload unit="kg">1352.52</Payload>
+            <PassengerCount>19.89</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">14.34578</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1051.58</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33SD</VehicleGroup>
+          <Mission>Suburban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">20937.60</TotalVehicleMass>
+            <Payload unit="kg">6762.60</Payload>
+            <PassengerCount>99.45</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">17.60016</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1290.13</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33SD</VehicleGroup>
+          <Mission>Interurban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">15469.51</TotalVehicleMass>
+            <Payload unit="kg">1294.51</Payload>
+            <PassengerCount>18.23</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">11.82313</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">866.66</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33SD</VehicleGroup>
+          <Mission>Interurban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">18411.57</TotalVehicleMass>
+            <Payload unit="kg">4236.57</Payload>
+            <PassengerCount>59.67</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">13.24283</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">970.73</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33DD</VehicleGroup>
+          <Mission>Heavy Urban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">16303.29</TotalVehicleMass>
+            <Payload unit="kg">1578.29</Payload>
+            <PassengerCount>23.21</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">22.72091</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1665.49</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33DD</VehicleGroup>
+          <Mission>Heavy Urban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">22616.43</TotalVehicleMass>
+            <Payload unit="kg">7891.43</Payload>
+            <PassengerCount>116.05</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">27.95930</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">2049.48</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33DD</VehicleGroup>
+          <Mission>Urban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">16303.29</TotalVehicleMass>
+            <Payload unit="kg">1578.29</Payload>
+            <PassengerCount>23.21</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">17.90756</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1312.66</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33DD</VehicleGroup>
+          <Mission>Urban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">22616.43</TotalVehicleMass>
+            <Payload unit="kg">7891.43</Payload>
+            <PassengerCount>116.05</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">22.23796</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1630.09</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33DD</VehicleGroup>
+          <Mission>Suburban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">16303.29</TotalVehicleMass>
+            <Payload unit="kg">1578.29</Payload>
+            <PassengerCount>23.21</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">15.28035</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1120.08</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P33DD</VehicleGroup>
+          <Mission>Suburban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">22616.43</TotalVehicleMass>
+            <Payload unit="kg">7891.43</Payload>
+            <PassengerCount>116.05</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">19.26201</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1411.95</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P34SD</VehicleGroup>
+          <Mission>Interurban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">16467.68</TotalVehicleMass>
+            <Payload unit="kg">1254.68</Payload>
+            <PassengerCount>17.67</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">11.93701</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">875.01</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P34SD</VehicleGroup>
+          <Mission>Interurban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">19319.21</TotalVehicleMass>
+            <Payload unit="kg">4106.21</Payload>
+            <PassengerCount>57.83</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">13.32341</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">976.63</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P34SD</VehicleGroup>
+          <Mission>Coach</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">16490.49</TotalVehicleMass>
+            <Payload unit="kg">1277.49</Payload>
+            <PassengerCount>17.99</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">8.71847</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">639.08</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P34SD</VehicleGroup>
+          <Mission>Coach</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">18406.72</TotalVehicleMass>
+            <Payload unit="kg">3193.72</Payload>
+            <PassengerCount>44.98</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">9.20255</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">674.57</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P34DD</VehicleGroup>
+          <Mission>Interurban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">19588.08</TotalVehicleMass>
+            <Payload unit="kg">1738.08</Payload>
+            <PassengerCount>24.48</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">13.58335</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">995.69</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P34DD</VehicleGroup>
+          <Mission>Interurban</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">23643.60</TotalVehicleMass>
+            <Payload unit="kg">5793.60</Payload>
+            <PassengerCount>81.60</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">15.56740</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">1141.12</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P34DD</VehicleGroup>
+          <Mission>Coach</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">19703.95</TotalVehicleMass>
+            <Payload unit="kg">1853.95</Payload>
+            <PassengerCount>26.11</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">9.82937</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">720.51</CO2>
+        </Result>
+        <Result status="success">
+          <VehicleGroup>P34DD</VehicleGroup>
+          <Mission>Coach</Mission>
+          <SimulationParameters>
+            <TotalVehicleMass unit="kg">22484.88</TotalVehicleMass>
+            <Payload unit="kg">4634.88</Payload>
+            <PassengerCount>65.28</PassengerCount>
+            <FuelMode>single fuel mode</FuelMode>
+          </SimulationParameters>
+          <Fuel type="Diesel CI">
+            <EnergyConsumption unit="MJ/km">10.56728</EnergyConsumption>
+          </Fuel>
+          <CO2 unit="g/km">774.60</CO2>
+        </Result>
+      </Results>
+      <ApplicationInformation>
+        <SimulationToolVersion>String</SimulationToolVersion>
+        <Date>2017-01-01T00:00:00Z</Date>
+      </ApplicationInformation>
+    </Data>
+    <Signature>
+      <di:Reference URI="#PIF-d10aff76c5d149948046">
+        <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>nI+57QQtWA2rFqJTZ41t0XrXcJbcGmc7j4E66iGJyT0=</di:DigestValue>
+      </di:Reference>
+    </Signature>
+  </PrimaryVehicle>
+  <ManufacturingStage stageCount="2">
+    <Data xsi:type="BusManufacturingStageDataType" id="MSTG-1">
+      <HashPreviousStage>
+        <di:Reference URI="#PIF-d10aff76c5d149948046">
+          <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>nI+57QQtWA2rFqJTZ41t0XrXcJbcGmc7j4E66iGJyT0=</di:DigestValue>
+        </di:Reference>
+      </HashPreviousStage>
+      <Vehicle xsi:type="v2.8:InterimStageInputType" id="MSTG-1-Vehicle">
+        <v2.8:Manufacturer>Intermediate Manufacturer 1</v2.8:Manufacturer>
+        <v2.8:ManufacturerAddress>Intermediate Manufacturer Address 1</v2.8:ManufacturerAddress>
+        <v2.8:VIN>VEH-1234567890</v2.8:VIN>
+        <v2.8:Date>2018-02-15T11:00:00Z</v2.8:Date>
+        <v2.8:Model>Intermediate Model 1</v2.8:Model>
+        <v2.8:NgTankSystem>Compressed</v2.8:NgTankSystem>
+        <v2.8:NumberPassengersLowerDeck>10</v2.8:NumberPassengersLowerDeck>
+        <v2.8:NumberPassengersUpperDeck>30</v2.8:NumberPassengersUpperDeck>
+        <v2.8:LowEntry>true</v2.8:LowEntry>
+        <v2.8:HeightIntegratedBody>3000</v2.8:HeightIntegratedBody>
+        <v2.8:VehicleLength>12000</v2.8:VehicleLength>
+        <v2.8:VehicleWidth>2500</v2.8:VehicleWidth>
+        <v2.8:EntranceHeight>2500</v2.8:EntranceHeight>
+        <v2.8:VehicleDeclarationType>interim</v2.8:VehicleDeclarationType>
+      </Vehicle>
+      <ApplicationInformation>
+        <SimulationToolVersion>!!NOT FOR CERTIFICATION!!</SimulationToolVersion>
+        <Date>2021-01-12T07:20:08.0187663Z</Date>
+      </ApplicationInformation>
+    </Data>
+    <Signature>
+      <di:Reference URI="#RESULT-6f30c7fe665a47938f6b">
+        <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>BMpFCKh1bu/YPwYj37kJK1uCrv++BTLf2OUZcOt43Os=</di:DigestValue>
+      </di:Reference>
+    </Signature>
+  </ManufacturingStage>
+  <ManufacturingStage stageCount="3">
+    <Data xsi:type="BusManufacturingStageDataType" id="MSTG-2">
+      <HashPreviousStage>
+        <di:Reference URI="#RESULT-6f30c7fe665a47938f6b">
+          <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>BMpFCKh1bu/YPwYj37kJK1uCrv++BTLf2OUZcOt43Os=</di:DigestValue>
+        </di:Reference>
+      </HashPreviousStage>
+      <Vehicle xsi:type="v2.8:InterimStageInputType" id="MSTG-2-Vehicle">
+        <v2.8:Manufacturer>Intermediate Manufacturer 2</v2.8:Manufacturer>
+        <v2.8:ManufacturerAddress>Intermediate Manufacturer Address 2</v2.8:ManufacturerAddress>
+        <v2.8:VIN>VEH-2234567890</v2.8:VIN>
+        <v2.8:Date>2021-02-13T07:20:08.0187663Z</v2.8:Date>
+        <v2.8:CorrectedActualMass>15000</v2.8:CorrectedActualMass>
+        <v2.8:BodyworkCode>CB</v2.8:BodyworkCode>
+        <v2.8:DoorDriveTechnology>mixed</v2.8:DoorDriveTechnology>
+        <v2.8:VehicleDeclarationType>interim</v2.8:VehicleDeclarationType>
+        <v2.8:ADAS>
+          <v2.3:EngineStopStart>true</v2.3:EngineStopStart>
+          <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop>
+          <v2.3:EcoRollWithEngineStop>true</v2.3:EcoRollWithEngineStop>
+          <v2.3:PredictiveCruiseControl>1,2</v2.3:PredictiveCruiseControl>
+        </v2.8:ADAS>
+        <v2.8:Components xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xsi:type="v2.8:CompletedVehicleComponentsDeclarationType">
+          <v2.8:Auxiliaries>
+            <v2.8:Data xsi:type="v2.8:CompletedVehicleAuxiliaryDataDeclarationType">
+              <v2.8:ElectricSystem>
+                <v2.8:LEDLights>
+                  <v2.8:Interiorlights>true</v2.8:Interiorlights>
+                  <v2.8:Dayrunninglights>true</v2.8:Dayrunninglights>
+                </v2.8:LEDLights>
+              </v2.8:ElectricSystem>
+              <v2.8:HVAC>
+                <v2.8:SystemConfiguration>1</v2.8:SystemConfiguration>
+                <v2.8:HeatPumpTypeDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeDriverCompartment>
+                <v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment>
+                <v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment>
+                <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment>
+                <v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower>
+                <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing>
+                <v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater>
+                <v2.8:SeparateAirDistributionDucts>false</v2.8:SeparateAirDistributionDucts>
+              </v2.8:HVAC>
+            </v2.8:Data>
+          </v2.8:Auxiliaries>
+        </v2.8:Components>
+      </Vehicle>
+      <ApplicationInformation>
+        <SimulationToolVersion>!!NOT FOR CERTIFICATION!!</SimulationToolVersion>
+        <Date>2021-02-13T07:20:08.0187663Z</Date>
+      </ApplicationInformation>
+    </Data>
+    <Signature>
+      <di:Reference URI="#RESULT-8f30c7fe665a47938f6b">
+        <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>GHpFCKh1bu/YPwYj37kJK1uCrv++BTLf2OUZcOt43Os=</di:DigestValue>
+      </di:Reference>
+    </Signature>
+  </ManufacturingStage>
+  <ManufacturingStage stageCount="4">
+    <Data xsi:type="BusManufacturingStageDataType" id="MST-3">
+      <HashPreviousStage>
+        <di:Reference URI="#RESULT-8f30c7fe665a47938f6b">
+          <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>GHpFCKh1bu/YPwYj37kJK1uCrv++BTLf2OUZcOt43Os=</di:DigestValue>
+        </di:Reference>
+      </HashPreviousStage>
+      <Vehicle xsi:type="v2.8:InterimStageInputType" id="MSTG-3-Vehicle">
+        <v2.8:Manufacturer>Intermediate Manufacturer 3</v2.8:Manufacturer>
+        <v2.8:ManufacturerAddress>Intermediate Manufacturer Address 3</v2.8:ManufacturerAddress>
+        <v2.8:VIN>VEH-2234567866</v2.8:VIN>
+        <v2.8:Date>2021-02-13T07:20:08.0187663Z</v2.8:Date>
+        <v2.8:LegislativeCategory>M3</v2.8:LegislativeCategory>
+        <v2.8:TechnicalPermissibleMaximumLadenMass>20000</v2.8:TechnicalPermissibleMaximumLadenMass>
+        <v2.8:NgTankSystem>Liquefied</v2.8:NgTankSystem>
+        <v2.8:ClassBus>B</v2.8:ClassBus>
+        <v2.8:VehicleDeclarationType>interim</v2.8:VehicleDeclarationType>
+        <v2.8:ADAS>
+          <v2.3:EngineStopStart>true</v2.3:EngineStopStart>
+          <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop>
+          <v2.3:EcoRollWithEngineStop>true</v2.3:EcoRollWithEngineStop>
+          <v2.3:PredictiveCruiseControl>1,2</v2.3:PredictiveCruiseControl>
+          <v2.3:APTEcoRollReleaseLockupClutch>true</v2.3:APTEcoRollReleaseLockupClutch>
+        </v2.8:ADAS>
+        <v2.8:Components xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xsi:type="v2.8:CompletedVehicleComponentsDeclarationType">
+          <v2.8:Auxiliaries>
+            <v2.8:Data xsi:type="v2.8:CompletedVehicleAuxiliaryDataDeclarationType">
+              <v2.8:ElectricSystem>
+                <v2.8:LEDLights>
+                  <v2.8:Positionlights>false</v2.8:Positionlights>
+                  <v2.8:Brakelights>false</v2.8:Brakelights>
+                  <v2.8:Headlights>true</v2.8:Headlights>
+                </v2.8:LEDLights>
+              </v2.8:ElectricSystem>
+              <v2.8:HVAC>
+                <v2.8:WaterElectricHeater>false</v2.8:WaterElectricHeater>
+                <v2.8:AirElectricHeater>false</v2.8:AirElectricHeater>
+                <v2.8:OtherHeatingTechnology>true</v2.8:OtherHeatingTechnology>
+              </v2.8:HVAC>
+            </v2.8:Data>
+          </v2.8:Auxiliaries>
+        </v2.8:Components>
+      </Vehicle>
+      <ApplicationInformation>
+        <SimulationToolVersion>!!NOT FOR CERTIFICATION!!</SimulationToolVersion>
+        <Date>2021-03-13T07:20:08.0187663Z</Date>
+      </ApplicationInformation>
+    </Data>
+    <Signature>
+      <di:Reference URI="#RESULT-8f30c7fe665a47938f7b">
+        <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>GHpFCKh1bu/YPwYj38kJK1uCrv++BTLf2OUZcOt43Os=</di:DigestValue>
+      </di:Reference>
+    </Signature>
+  </ManufacturingStage>
+  <ManufacturingStage stageCount="5">
+    <Data xsi:type="BusManufacturingStageDataType" id="MST-8a622efa2f0145e684b7">
+      <HashPreviousStage>
+        <di:Reference URI="#RESULT-8f30c7fe665a47938f7b">
+          <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>GHpFCKh1bu/YPwYj38kJK1uCrv++BTLf2OUZcOt43Os=</di:DigestValue>
+        </di:Reference>
+      </HashPreviousStage>
+      <Vehicle xsi:type="v2.8:InterimStageInputType" id="VEH-5cc3b782c52a421d8636">
+        <v2.8:Manufacturer>Some Manufacturer</v2.8:Manufacturer>
+        <v2.8:ManufacturerAddress>Some Manufacturer Address</v2.8:ManufacturerAddress>
+        <v2.8:VIN>VEH-1234567890</v2.8:VIN>
+        <v2.8:Date>2021-05-09T22:00:00Z</v2.8:Date>
+        <v2.8:Model>Sample Bus Model</v2.8:Model>
+        <v2.8:LegislativeCategory>M3</v2.8:LegislativeCategory>
+        <v2.8:CorrectedActualMass>500</v2.8:CorrectedActualMass>
+        <v2.8:TechnicalPermissibleMaximumLadenMass>3500</v2.8:TechnicalPermissibleMaximumLadenMass>
+        <v2.8:AirdragModifiedMultistage>false</v2.8:AirdragModifiedMultistage>
+        <v2.8:NgTankSystem>Compressed</v2.8:NgTankSystem>
+        <v2.8:ClassBus>II+III</v2.8:ClassBus>
+        <v2.8:NumberPassengersLowerDeck>0</v2.8:NumberPassengersLowerDeck>
+        <v2.8:NumberPassengersUpperDeck>10</v2.8:NumberPassengersUpperDeck>
+        <v2.8:BodyworkCode>CB</v2.8:BodyworkCode>
+        <v2.8:LowEntry>false</v2.8:LowEntry>
+        <v2.8:HeightIntegratedBody>2500</v2.8:HeightIntegratedBody>
+        <v2.8:VehicleLength>0</v2.8:VehicleLength>
+        <v2.8:VehicleWidth>0</v2.8:VehicleWidth>
+        <v2.8:EntranceHeight>0</v2.8:EntranceHeight>
+        <v2.8:DoorDriveTechnology>electric</v2.8:DoorDriveTechnology>
+        <v2.8:VehicleDeclarationType>interim</v2.8:VehicleDeclarationType>
+        <v2.8: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>
+        </v2.8:ADAS>
+        <v2.8:Components xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xsi:type="v2.8:CompletedVehicleComponentsDeclarationType">
+          <v2.8:Auxiliaries>
+            <v2.8:Data xsi:type="v2.8:CompletedVehicleAuxiliaryDataDeclarationType">
+              <v2.8:ElectricSystem>
+                <v2.8:LEDLights>
+                  <v2.8:Interiorlights>false</v2.8:Interiorlights>
+                  <v2.8:Dayrunninglights>true</v2.8:Dayrunninglights>
+                  <v2.8:Positionlights>true</v2.8:Positionlights>
+                  <v2.8:Brakelights>true</v2.8:Brakelights>
+                  <v2.8:Headlights>false</v2.8:Headlights>
+                </v2.8:LEDLights>
+              </v2.8:ElectricSystem>
+              <v2.8:HVAC>
+                <v2.8:SystemConfiguration>0</v2.8:SystemConfiguration>
+                <v2.8:HeatPumpTypeDriverCompartment>none</v2.8:HeatPumpTypeDriverCompartment>
+                <v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment>
+                <v2.8:HeatPumpTypePassengerCompartment>non R-744 2-stage</v2.8:HeatPumpTypePassengerCompartment>
+                <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment>
+                <v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower>
+                <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing>
+                <v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater>
+                <v2.8:SeparateAirDistributionDucts>false</v2.8:SeparateAirDistributionDucts>
+                <v2.8:WaterElectricHeater>true</v2.8:WaterElectricHeater>
+                <v2.8:AirElectricHeater>false</v2.8:AirElectricHeater>
+                <v2.8:OtherHeatingTechnology>false</v2.8:OtherHeatingTechnology>
+              </v2.8:HVAC>
+            </v2.8:Data>
+          </v2.8:Auxiliaries>
+        </v2.8:Components>
+      </Vehicle>
+      <ApplicationInformation>
+        <SimulationToolVersion>0.7.3.2171-DEV</SimulationToolVersion>
+        <Date>2021-05-10T11:15:01.2883833Z</Date>
+      </ApplicationInformation>
+    </Data>
+    <Signature>
+      <di:Reference URI="#MST-8a622efa2f0145e684b7">
+        <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>Ikl36H/utDgp3JX2g/rJOWb3+GhUeJ4h90gVNz8IUQQ=</di:DigestValue>
+      </di:Reference>
+    </Signature>
+  </ManufacturingStage>
+</VectoOutputMultistage>
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.xml
new file mode 100644
index 0000000000000000000000000000000000000000..49f28078a4cf663438bc501f24645eba2447431f
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.xml
@@ -0,0 +1,55 @@
+<?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-05-02T22: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>
+    <VehicleCode>CB</VehicleCode>
+    <LowEntry>false</LowEntry>
+    <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>
+    <Components xsi:type="CompletedVehicleComponentsDeclarationType">
+      <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/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 f25279872f26cf7943770073c9328044a93450ac..47166faa269e2e2d2fd313e9bce63a0dd4b14fa7 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,90 @@
-<?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>
		<BodyworkCode>CB</BodyworkCode>
		<LowEntry>false</LowEntry>
		<HeightIntegratedBody>2500</HeightIntegratedBody>
		<VehicleLength>9500</VehicleLength>
		<VehicleWidth>2500</VehicleWidth>
		<EntranceHeight>2000</EntranceHeight>
		<DoorDriveTechnology>electric</DoorDriveTechnology>
		<VehicleDeclarationType>interim</VehicleDeclarationType>
		<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>
+		<BodyworkCode>CB</BodyworkCode>
+		<LowEntry>false</LowEntry>
+		<HeightIntegratedBody>2500</HeightIntegratedBody>
+		<VehicleLength>9500</VehicleLength>
+		<VehicleWidth>2500</VehicleWidth>
+		<EntranceHeight>2000</EntranceHeight>
+		<DoorDriveTechnology>electric</DoorDriveTechnology>
+		<VehicleDeclarationType>interim</VehicleDeclarationType>
+		<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/SchemaVersion2.8/vecto_vehicle-stage_input_only_mandatory_standard_value_airdrag.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_only_mandatory_standard_value_airdrag.xml
index eeb7196376b99f9e9978f2775d0ea446849213ff..f1651fd3a16266d3eb48a4845629326df7a93a8b 100644
--- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_only_mandatory_standard_value_airdrag.xml
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_only_mandatory_standard_value_airdrag.xml
@@ -1 +1,33 @@
-<?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.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 3</Manufacturer>
		<ManufacturerAddress>Some Manufacturer Address 3</ManufacturerAddress>
		<VIN>VEH-1234567890</VIN>
		<Date>2020-01-09T11:00:00Z</Date>
		<VehicleDeclarationType>final</VehicleDeclarationType>
		<Components xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xsi:type="v2.8:CompletedVehicleComponentsDeclarationType">
			<v2.8:AirDrag>
				<v2.0:Data xsi:type="v2.8:AirDragModifiedUseStandardValueType" id="std"/>
				<v2.0:Signature>
					<di:Reference URI="#std">
						<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>
			</v2.8:AirDrag>
			<Auxiliaries>
				<Data xsi:type="v2.8:CompletedVehicleAuxiliaryDataDeclarationType"></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.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" 
+xmlns:di="http://www.w3.org/2000/09/xmldsig#" 
+xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd">
+	<v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType" >
+		<Manufacturer>Some Manufacturer 3</Manufacturer>
+		<ManufacturerAddress>Some Manufacturer Address 3</ManufacturerAddress>
+		<VIN>VEH-1234567890</VIN>
+		<Date>2020-01-09T11:00:00Z</Date>
+		<VehicleDeclarationType>final</VehicleDeclarationType>
+		<Components xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xsi:type="v2.8:CompletedVehicleComponentsDeclarationType">
+			<v2.8:AirDrag>
+				<v2.0:Data xsi:type="v2.8:AirDragModifiedUseStandardValueType" id="std"/>
+				<v2.0:Signature>
+					<di:Reference URI="#std">
+						<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>
+			</v2.8:AirDrag>
+			<Auxiliaries>
+				<Data xsi:type="v2.8:CompletedVehicleAuxiliaryDataDeclarationType"></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 0000000000000000000000000000000000000000..b5ec06780cea3c086d372969fa2bc397889c25c5
--- /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/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/AidragComponent.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/AidragComponent.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9bc44b124397a660b40ff7ce3bd6f3fad43a4819
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/AidragComponent.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Sample XML file generated by XMLSpy v2016 rel. 2 sp1 (x64) (http://www.altova.com)-->
+<v2.0:VectoInputDeclaration xmlns:di="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v2.0" xmlns:vdecdef2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" schemaVersion="1.0" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v2.0 VectoComponent.2.0.xsd">
+	<v2.0:AirDrag>
+		<vdecdef2.0:Data xsi:type="vdecdef2.0:AirDragDataDeclarationType" id="a">
+			<vdecdef2.0:Manufacturer>a</vdecdef2.0:Manufacturer>
+			<vdecdef2.0:Model>a</vdecdef2.0:Model>
+			<vdecdef2.0:CertificationNumber>token</vdecdef2.0:CertificationNumber>
+			<vdecdef2.0:Date>2017-01-01T00:00:00Z</vdecdef2.0:Date>
+			<vdecdef2.0:AppVersion>aaaaa</vdecdef2.0:AppVersion>
+			<vdecdef2.0:CdxA_0>6.66</vdecdef2.0:CdxA_0>
+			<vdecdef2.0:TransferredCdxA>6.66</vdecdef2.0:TransferredCdxA>
+			<vdecdef2.0:DeclaredCdxA>6.66</vdecdef2.0:DeclaredCdxA>
+		</vdecdef2.0:Data>
+		<vdecdef2.0:Signature>
+			<di:Reference>
+				<di:DigestMethod Algorithm="http://www.altova.com/"/>
+				<di:DigestValue>UjBsR09EbGhjZ0dTQUxNQUFBUUNBRU1tQ1p0dU1GUXhEUzhi</di:DigestValue>
+			</di:Reference>
+		</vdecdef2.0:Signature>
+	</v2.0:AirDrag>
+</v2.0:VectoInputDeclaration>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/AirdragLoadTestFile.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/AirdragLoadTestFile.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3baab2fa609ec00fcb3b5095be0d7a63a5211f9d
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/AirdragLoadTestFile.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v1.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" schemaVersion="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v1.0 https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD/VectoComponent.xsd">
+    <tns:AirDrag>
+        <Data id="TestAirDrag1234" xsi:type="AirDragDataDeclarationType">
+            <Manufacturer>Test AirDrag Manufacturer</Manufacturer>
+            <Model>Test AirDrag Model</Model>
+            <CertificationNumber>e12*0815/8051*2020/05E0000*66</CertificationNumber>
+            <Date>2020-04-28T09:16:15.1270795Z</Date>
+            <AppVersion>Vecto AirDrag Test Load</AppVersion>
+            <CdxA_0>6.12</CdxA_0>
+            <TransferredCdxA>7.12</TransferredCdxA>
+            <DeclaredCdxA>8.12</DeclaredCdxA>
+        </Data>
+        <Signature>
+            <di:Reference URI="#TestAirDrag1234">
+                <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>Yd3UDJ/zKPhsmPadJeC4Ez/q7o3G82Zbq3mX3tSqLDw=</di:DigestValue>
+            </di:Reference>
+        </Signature>
+    </tns:AirDrag>
+</tns:VectoInputDeclaration>
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
index 5ffc35e5e15c241c7227ebf0a55c72eb855f995c..5d9655268bed2d3670da72b2b4e60757abf86d07 100644
--- a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
+++ b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
@@ -28,6 +28,7 @@ namespace TUGraz.VectoCore.Tests.Utils {
 		public string Identifier { get; }
 		public bool ExemptedVehicle { get; }
 		public string VIN { get; }
+		public string LegislativeCategory { get; }
 		public LegislativeClass? LegislativeClass { get; }
 		public VehicleCategory VehicleCategory { get; }
 		public AxleConfiguration AxleConfiguration { get; }
@@ -133,6 +134,7 @@ namespace TUGraz.VectoCore.Tests.Utils {
 		public string Identifier { get; }
 		public bool ExemptedVehicle { get; }
 		public string VIN { get; }
+		public string LegislativeCategory { get; }
 		public LegislativeClass? LegislativeClass { get; }
 		public VehicleCategory VehicleCategory { get; }
 		public AxleConfiguration AxleConfiguration { get; }
diff --git a/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs b/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs
index dda41de716a750821a5a717bfc4d611c5308e1ff..2e2d7352d77c68d325129097cf884af52772a7c8 100644
--- a/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs
+++ b/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs
@@ -71,6 +71,7 @@ namespace TUGraz.VectoCore.Tests.XML
 			Assert.AreEqual("Generic Model", vehicleData.Model);
 			Assert.AreEqual("VEH-1234567890_nonSmart-ESS", vehicleData.VIN);
 			Assert.AreEqual(DateTime.Parse("2017-02-15T11:00:00Z").ToUniversalTime(), vehicleData.Date);
+			Assert.AreEqual("M3", vehicleData.LegislativeCategory);
 			Assert.AreEqual("Bus", vehicleData.VehicleCategory.ToXMLFormat());
 			Assert.AreEqual(AxleConfiguration.AxleConfig_8x2, vehicleData.AxleConfiguration);
 			Assert.AreEqual(true, vehicleData.Articulated);
@@ -362,7 +363,8 @@ namespace TUGraz.VectoCore.Tests.XML
 			Assert.AreEqual(15000, aux.ElectricSupply.MaxAlternatorPower.Value());
 			Assert.AreEqual(50.SI(Unit.SI.Watt.Hour).Cast<WattSecond>(), aux.ElectricSupply.ElectricStorageCapacity);
 
-			Assert.AreEqual("Large Supply 2-stage", aux.PneumaticSupply.CompressorSize);
+			Assert.AreEqual("Large Supply 2-stage", aux.PneumaticSupply.CompressorSize);//SizeOfAirSupply
+			Assert.AreEqual(CompressorDrive.electrically, aux.PneumaticSupply.CompressorDrive);
 			Assert.AreEqual("none", aux.PneumaticSupply.Clutch);
 			Assert.AreEqual(1.000, aux.PneumaticSupply.Ratio);
 			Assert.AreEqual(true, aux.PneumaticSupply.SmartAirCompression);
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 f8583aee47343911adb25f8c6fd64833a16f1227..0000000000000000000000000000000000000000
--- 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