diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs
index b51a18b968df3d676e54703d30221ccf458bd9db..df20f1a5a6c9a3cef67774419bde7884d8cc9144 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs
@@ -34,6 +34,7 @@ using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
+using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
@@ -96,6 +97,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 			: base(vehicle, componentNode, sourceFile) { }
 
 		protected override XNamespace SchemaNamespace => NAMESPACE_URI;
+
+		public override bool? ATEcoRollReleaseLockupClutch => false;
 	}
 
 	// ---------------------------------------------------------------------------------------
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/IFollowUpSimulatorFactoryCreator.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/IFollowUpSimulatorFactoryCreator.cs
index 5e31641741d5d2d88287e620bc7972c9d429a025..64734f7a87b810bbdccfa417fe5118033fa2fa91 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/IFollowUpSimulatorFactoryCreator.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/IFollowUpSimulatorFactoryCreator.cs
@@ -8,6 +8,9 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.OutputData;
 using TUGraz.VectoCore.OutputData.FileIO;
 using TUGraz.VectoCore.OutputData.XML;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1;
 
 namespace TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory
 {
@@ -54,6 +57,9 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory
 		private readonly IDeclarationReport _originalDeclarationReport;
 		private readonly IDeclarationInputDataProvider _currentStageInputData;
 
+		private readonly IManufacturerReportFactory _mrfFactory;
+		private readonly IVIFReportFactory _vifFactory;
+
 		public InterimAfterPrimaryFactoryCreator(IMultistagePrimaryAndStageInputDataProvider originalStageInputData,
 			IOutputDataWriter originalReportWriter,
 			IDeclarationReport originalDeclarationReport,
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs
index 32f5b1d75561a1211946c585dc7e411cdaf32622..9ee76616a7223e4f70e29e4af23ea15f9a2c5539 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs
@@ -247,7 +247,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory
 										$"{validationErrors.Select(r => r.ErrorMessage + r.MemberNames.Join("; ")).Join("\n")}");
 			}
 		}
-
+		
 		private static VectoRun GetVectoRun(VectoRunData data, IModalDataContainer modData, ISumData sumWriter)
 		{
 			VectoRun run;
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactoryDeclaration.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactoryDeclaration.cs
index 740646b9f1e4dabdc9c4e81c13af75372ecc641c..d5593adef4db1dba489f21977ee3943c1dc07f89 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactoryDeclaration.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactoryDeclaration.cs
@@ -4,6 +4,8 @@ using TUGraz.VectoCore.InputData;
 using TUGraz.VectoCore.InputData.FileIO.XML;
 using TUGraz.VectoCore.OutputData;
 using TUGraz.VectoCore.OutputData.XML;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1;
 
 namespace TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory
 {
@@ -15,6 +17,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory
 		private IDeclarationReport _currentStageDeclarationReport;
 		private IVTPReport _currentStageVTPReport;
 		protected readonly IXMLDeclarationReportFactory _xmlDeclarationReportFactory;
+		private IVIFReportFactory _vifFactory;
+		private IManufacturerReportFactory _mrfFactory;
 
 		
 
@@ -34,7 +38,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory
 			_currentStageInputData = dataProvider;
 			_xmlDeclarationReportFactory = xmlDeclarationReportFactory;
 
-
 			_currentStageDeclarationReport = declarationReport ?? xmlDeclarationReportFactory.CreateReport(dataProvider, writer);
 			_currentStageVTPReport = vtpReport ?? xmlDeclarationReportFactory.CreateVTPReport(dataProvider, writer);
 			_followUpSimulatorFactoryCreator = CreateFollowUpFactoryCreator(
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs
index 943ffed1da5fdce4a5ab0e0524df0e95fb5e8077..b27574109a453b6237a21d7edf005e3ae861c308 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs
@@ -572,8 +572,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 								dryRunResponse.ElectricMotor.AvgDrivetrainSpeed;
 					var gbxOutTqV = dryRunResponse.Gearbox.OutputTorque - emTq;
 
-					var prevGbxSpeed = (DataBus.GearboxInfo as AbstractGearbox<GearboxState>).PreviousState
-						.OutAngularVelocity;
+					var prevGbxSpeed = GetPrevGbxSpeed();
 					var gbxLoss = ModelData.GearboxData.Gears[gear.Gear].LossMap
 						.GetTorqueLoss((dryRunResponse.Gearbox.OutputSpeed + prevGbxSpeed) / 2.0, gbxOutTqV);
 					gbxInTq = gbxOutTqV / ModelData.GearboxData.Gears[gear.Gear].Ratio + gbxLoss.Value;
@@ -597,8 +596,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 						gbxInTorque = anglInTorque;
 					}
 					var gear = dryRunResponse.Gearbox.Gear;
-					var prevGbxSpeed = (DataBus.GearboxInfo as AbstractGearbox<GearboxState>).PreviousState
-						.OutAngularVelocity;
+					var prevGbxSpeed = GetPrevGbxSpeed();
 					var gbxLoss = ModelData.GearboxData.Gears[gear.Gear].LossMap
 						.GetTorqueLoss((dryRunResponse.Gearbox.OutputSpeed + prevGbxSpeed) / 2.0, gbxInTorque);
 					gbxInTq = gbxInTorque / ModelData.GearboxData.Gears[gear.Gear].Ratio + gbxLoss.Value;
@@ -609,6 +607,17 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 			return gbxInTq;
 		}
 
+		private PerSecond GetPrevGbxSpeed()
+		{
+			switch (DataBus.GearboxInfo) {
+				case Gearbox gbx:
+					return gbx.PreviousState.OutAngularVelocity;
+				case ATGearbox atGbx:
+					return atGbx.PreviousState.OutAngularVelocity;
+				default: throw new VectoException("Unsupported gearbox type!");
+			}
+		}
+
 		public void OperatingpointChangedDuringRequest(Second absTime, Second dt, NewtonMeter outTorque,
 			PerSecond outAngularVelocity,
 			bool dryRun, IResponse retVal)
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFBoostingLimitationsType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFBoostingLimitationsType.cs
index 13d287dabb178007d456fa178d491dcfe0daa683..a01d7eff2f91af77026017c3f6fca5518587d289 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFBoostingLimitationsType.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFBoostingLimitationsType.cs
@@ -32,8 +32,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.
 				foreach (DataRow row in boostingLimitations.Rows)
 				{
 					boostingLimitationsXElement.Add(new XElement(_mrf + XMLNames.BoostingLimitation_Entry,
-						new XAttribute(XMLNames.BoostingLimitation_BoostingTorque, row[MaxBoostingTorqueReader.Fields.DrivingTorque]),
-						new XAttribute(XMLNames.BoostingLimitation_RotationalSpeed, row[MaxBoostingTorqueReader.Fields.MotorSpeed])));
+						new XAttribute(XMLNames.BoostingLimitation_RotationalSpeed, row[XMLNames.BoostingLimitation_RotationalSpeed]),
+						new XAttribute(XMLNames.BoostingLimitation_BoostingTorque, row[XMLNames.BoostingLimitation_BoostingTorque])
+						));
 				}
 
 
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs
index 2a71aeeeba499abf6164fe939d24dac2396c47ea..c24b4bc62beab7a39f319b4c7603259f94b03776 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs
@@ -32,6 +32,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Runtime.CompilerServices;
 using System.Xml;
 using System.Xml.Linq;
 using NLog.Config;
@@ -57,6 +58,8 @@ using TUGraz.VectoCore.Models.Declaration.Auxiliaries;
 using TUGraz.VectoCore.Models.SimulationComponent.Impl;
 using LogManager = NLog.LogManager;
 
+[assembly: InternalsVisibleTo("VectoCoreTest")]
+
 namespace TUGraz.VectoCore.OutputData.XML
 {
 	internal class XMLVTPReport : DeclarationReport<XMLVTPReport.ResultEntry>, IVTPReport
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
index a3e52501186392a1a1f3b17c78d6cb59e40014b5..d1f4eddbe487d04367bf61b3891a53ed94527653 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
@@ -48,7 +48,9 @@ using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.ElectricComponents.Battery;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
 
 namespace TUGraz.VectoCore.OutputData.XML
 {
@@ -58,12 +60,16 @@ namespace TUGraz.VectoCore.OutputData.XML
 
 		protected IXMLCustomerReport CustomerRpt;
 
+		protected readonly IManufacturerReportFactory _mrfFactory;
+		protected readonly ICustomerInformationFileFactory _cifFactory;
+		
 
 		protected IDictionary<Tuple<MissionType, LoadingType>, double> _weightingFactors;
 
-		public XMLDeclarationReport(IReportWriter writer) : base(writer)
+		public XMLDeclarationReport(IReportWriter writer, IManufacturerReportFactory mrfFactory, ICustomerInformationFileFactory cifFactory) : base(writer)
 		{
-			throw new NotImplementedException("Use new implementation...");
+			_mrfFactory = mrfFactory;
+			_cifFactory = cifFactory;
 		}
 
 		protected XMLDeclarationReport(IReportWriter writer, bool dummy) : base(writer) { }
@@ -328,12 +334,24 @@ namespace TUGraz.VectoCore.OutputData.XML
 
 		protected virtual void InstantiateReports(VectoRunData modelData)
 		{
-			//if (modelData.Exempted) {
-			//	ManufacturerRpt = new XMLManufacturerReportExemptedTruck();
-			//} else {
-			//	ManufacturerRpt = new XMLManufacturerReportTruck();
-			//}
-			//CustomerRpt = new XMLCustomerReport();
+
+			var vehicleData = modelData.VehicleData.InputData;
+			var iepc = vehicleData.Components?.IEPC != null;
+			var ihpc =
+				vehicleData.Components?.ElectricMachines?.Entries?.Count(e => e.ElectricMachine.IHPCType != "None") > 0;
+
+			ManufacturerRpt = _mrfFactory.GetManufacturerReport(vehicleData.VehicleCategory,
+				vehicleData.VehicleType,
+				vehicleData.ArchitectureID,
+				vehicleData.ExemptedVehicle,
+				iepc,
+				ihpc);
+			CustomerRpt = _cifFactory.GetCustomerReport(vehicleData.VehicleCategory,
+				vehicleData.VehicleType,
+				vehicleData.ArchitectureID,
+				vehicleData.ExemptedVehicle,
+				iepc,
+				ihpc);
 		}
 
 		private static IDictionary<Tuple<MissionType, LoadingType>, double> ZeroWeighting =>
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
index 44d3fdaa3513b689d2c4e506711b75846b9f26a0..e689c038a19b9b577fe27624508ae6494c6164de 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
@@ -5,39 +5,60 @@ using System.Linq;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1;
 
-namespace TUGraz.VectoCore.OutputData.XML {
+namespace TUGraz.VectoCore.OutputData.XML
+{
+	/// <summary>
+	/// Create MRF and CIF of the complete(d) step
+	/// </summary>
 	public class XMLDeclarationReportCompletedVehicle : XMLDeclarationReport
 	{
-		public XMLDeclarationReportCompletedVehicle(IReportWriter writer) : base(writer, true) { }
+		#region Constructors
+		//public XMLDeclarationReportCompletedVehicle(IReportWriter writer) : base(writer) { }
+		public XMLDeclarationReportCompletedVehicle(IReportWriter writer, IManufacturerReportFactory mrfFactory,
+			ICustomerInformationFileFactory cifFactory,
+			IVIFReportFactory vifFactory) : base(writer, mrfFactory, cifFactory)
+		{
+		}
 
-		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicleReportInputData { get; set; }
+		#endregion
 
-		#region Overrides of XMLDeclarationReport
+		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicleReportInputData { get; set; }
 
+		#region Overrides of XMLDeclarationReportCompletedVehicle
 
 		protected override void InstantiateReports(VectoRunData modelData)
 		{
-			ManufacturerRpt = modelData.Exempted
-				? new XMLManufacturerReportExemptedCompletedBus() {
-					PrimaryVehicleRecordFile = PrimaryVehicleReportInputData
-				}
-				: new XMLManufacturerReportCompletedBus() {
-					PrimaryVehicleRecordFile = PrimaryVehicleReportInputData
-				};
-			CustomerRpt = modelData.Exempted
-				? new XMLCustomerReportExemptedCompletedBus() {
-					PrimaryVehicleRecordFile = PrimaryVehicleReportInputData
-				}
-				: new XMLCustomerReportCompletedBus() {
-					PrimaryVehicleRecordFile = PrimaryVehicleReportInputData
-				};
-		}
+			var inputData = modelData.InputData as IXMLMultistageInputDataProvider;
+			var primaryVehicle = inputData.JobInputData.PrimaryVehicle.Vehicle;
+
+			var ihpc = (primaryVehicle.Components?.ElectricMachines?.Entries)?.Count(electric => electric.ElectricMachine.IHPCType != "None") > 0;
+			var iepc = (primaryVehicle.Components?.IEPC != null);
+			ManufacturerRpt = _mrfFactory.GetManufacturerReport(
+				inputData.JobInputData.ConsolidateManufacturingStage.Vehicle.VehicleCategory,
+				inputData.JobInputData.JobType,
+				primaryVehicle.ArchitectureID,
+				primaryVehicle.ExemptedVehicle,
+				iepc,
+				ihpc);
+
+			CustomerRpt = _cifFactory.GetCustomerReport(
+				inputData.JobInputData.ConsolidateManufacturingStage.Vehicle.VehicleCategory,
+				inputData.JobInputData.JobType,
+				primaryVehicle.ArchitectureID,
+				primaryVehicle.ExemptedVehicle,
+				iepc,
+				ihpc);
 
+		}
 		public override void InitializeReport(VectoRunData modelData)
 		{
 			_weightingFactors = EqualWeighting;
@@ -49,6 +70,8 @@ namespace TUGraz.VectoCore.OutputData.XML {
 		}
 		#endregion
 
+
+
 		private static IDictionary<Tuple<MissionType, LoadingType>, double> EqualWeighting =>
 			new ReadOnlyDictionary<Tuple<MissionType, LoadingType>, double>(
 				new Dictionary<Tuple<MissionType, LoadingType>, double>() {
@@ -81,12 +104,14 @@ namespace TUGraz.VectoCore.OutputData.XML {
 		protected internal override void DoWriteReport()
 		{
 			foreach (var specificResult in Results.Where(x => VehicleClassHelper.IsCompletedBus(x.VehicleClass)).OrderBy(x => x.VehicleClass)
-												.ThenBy(x => x.FuelMode).ThenBy(x => x.Mission)) {
+						.ThenBy(x => x.FuelMode).ThenBy(x => x.Mission))
+			{
 
 				var genericResult = Results.First(x => x.VehicleClass.IsPrimaryBus() && x.FuelMode == specificResult.FuelMode &&
-						x.Mission == specificResult.Mission && x.LoadingType == specificResult.LoadingType);
+														x.Mission == specificResult.Mission && x.LoadingType == specificResult.LoadingType);
 				var primaryResult = genericResult.PrimaryResult ?? specificResult.PrimaryResult;
-				if (primaryResult == null) {
+				if (primaryResult == null)
+				{
 					throw new VectoException(
 						"no primary result entry set for simulation run vehicle class: {0}, mission: {1}, payload: {2}",
 						genericResult.VehicleClass, genericResult.Mission, genericResult.Payload);
@@ -98,7 +123,8 @@ namespace TUGraz.VectoCore.OutputData.XML {
 
 			GenerateReports();
 
-			if (Writer != null) {
+			if (Writer != null)
+			{
 				OutputReports();
 			}
 		}
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportFactory.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportFactory.cs
index ea2f38e53a21bb634336e62aa22468ea56d6d3a8..a66c3846b9e4d98600cda063f07f9c34f408ec5a 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportFactory.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportFactory.cs
@@ -36,7 +36,8 @@ namespace TUGraz.VectoCore.OutputData.XML
 				case IMultistepBusInputDataProvider multistageBusInputDataProvider:
 					break;
 				case ISingleBusInputDataProvider singleBusInputDataProvider:
-					return new XMLDeclarationReportSingleBus09(outputWriter, _mrfFactory, _cifFactory);
+					throw new NotImplementedException();
+					//return new XMLDeclarationReportSingleBus(outputWriter, _mrfFactory, _cifFactory);
 				case IDeclarationInputDataProvider declarationInputDataProvider:
 					return CreateDeclarationReport(declarationInputDataProvider, outputWriter);
 				case IMultiStageTypeInputData multiStageTypeInputData:
@@ -69,14 +70,14 @@ namespace TUGraz.VectoCore.OutputData.XML
 		{
 			if (multistageVifInputData.VehicleInputData == null)
 			{
-				var reportCompleted = new XMLDeclarationReportCompletedVehicle_09(outputDataWriter, _mrfFactory, _cifFactory, _vifFactory)
+				var reportCompleted = new XMLDeclarationReportCompletedVehicle(outputDataWriter, _mrfFactory, _cifFactory, _vifFactory)
 				{
 					PrimaryVehicleReportInputData = multistageVifInputData.MultistageJobInputData.JobInputData.PrimaryVehicle,
 				};
 				return reportCompleted;
 			}
 			else {
-				var report = new XMLDeclarationReportInterimVehicle_09(outputDataWriter, _mrfFactory, _cifFactory, _vifFactory, _vifInterimFactory);
+				var report = new XMLDeclarationReportInterimVehicle(outputDataWriter, _mrfFactory, _cifFactory, _vifFactory, _vifInterimFactory);
 				return report;
 			}
 		}
@@ -87,19 +88,19 @@ namespace TUGraz.VectoCore.OutputData.XML
 			var vehicleCategory = declarationInputDataProvider.JobInputData.Vehicle.VehicleCategory;
 			if (vehicleCategory.IsLorry())
 			{
-				return new XMLDeclarationReport09(outputDataWriter, _mrfFactory, _cifFactory);
+				return new XMLDeclarationReport(outputDataWriter, _mrfFactory, _cifFactory);
 			}
 
 			if (vehicleCategory.IsBus())
 				switch (declarationInputDataProvider.JobInputData.Vehicle.VehicleCategory)
 				{
 					case VehicleCategory.HeavyBusCompletedVehicle:
-						return new XMLDeclarationReportCompletedVehicle_09(outputDataWriter, _mrfFactory, _cifFactory, _vifFactory)
+						return new XMLDeclarationReportCompletedVehicle(outputDataWriter,_mrfFactory,_cifFactory,_vifFactory)
 											{
 												PrimaryVehicleReportInputData = declarationInputDataProvider.PrimaryVehicleData,
 											};
 					case VehicleCategory.HeavyBusPrimaryVehicle:
-						return new XMLDeclarationReportPrimaryVehicle_09(outputDataWriter, _mrfFactory, _cifFactory, _vifFactory);
+						return new XMLDeclarationReportPrimaryVehicle(outputDataWriter, _mrfFactory, _vifFactory);
 
 					default:
 						break;
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportInterimVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportInterimVehicle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..34f35a5a02effe8a22a68780941f94adeaf7d884
--- /dev/null
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportInterimVehicle.cs
@@ -0,0 +1,80 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using TUGraz.VectoCore.Models.Declaration;
+using TUGraz.VectoCore.Models.Simulation.Data;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1;
+
+namespace TUGraz.VectoCore.OutputData.XML
+{
+	/// <summary>
+	/// Create VIF of an interim (or the complete(d) step
+	/// </summary>
+	public class XMLDeclarationReportInterimVehicle : XMLDeclarationReport
+	{
+		protected readonly IVIFReportFactory _vifFactory;
+
+		protected IXMLMultistepIntermediateReport MultistepIntermediateBusReport;
+		protected readonly IVIFReportInterimFactory _interimFactory;
+
+		public XMLDeclarationReportInterimVehicle(IReportWriter writer,
+			IManufacturerReportFactory mrfFactory,
+			ICustomerInformationFileFactory cifFactory,
+			IVIFReportFactory vifFactory, IVIFReportInterimFactory interimFactory) : base(writer, mrfFactory, cifFactory)
+		{
+			_vifFactory = vifFactory;
+			_interimFactory = interimFactory;
+		}
+
+		#region Overrides of XMLDeclarationReport
+
+		protected override void InstantiateReports(VectoRunData modelData)
+		{
+			var vehicleData = modelData.VehicleData.InputData;
+			var iepc = vehicleData.Components?.IEPC != null;
+			var ihpc =
+				vehicleData.Components?.ElectricMachines?.Entries?.Count(e => e.ElectricMachine.IHPCType != "None") > 0;
+
+			MultistepIntermediateBusReport = _interimFactory.GetInterimVIFReport(vehicleData.VehicleCategory,
+				vehicleData.VehicleType,
+				vehicleData.ArchitectureID,
+				vehicleData.ExemptedVehicle,
+				iepc,
+				ihpc);
+		}
+
+		#endregion
+
+		public override void InitializeReport(VectoRunData modelData)
+		{
+			//_multistageBusReport =
+			//	modelData.Exempted ? new XMLMultistageExemptedBusReport() : new XMLMultistageBusReport();
+			
+			InstantiateReports(modelData);
+
+			MultistepIntermediateBusReport.Initialize(modelData);
+		}
+
+		protected override void GenerateReports()
+		{
+			MultistepIntermediateBusReport.GenerateReport();
+		}
+
+		protected override void OutputReports()
+		{
+			Writer.WriteReport(ReportType.DeclarationReportMultistageVehicleXML, MultistepIntermediateBusReport.Report);
+		}
+
+		protected override void DoStoreResult(ResultEntry entry, VectoRunData runData, IModalDataContainer modData)
+		{
+			throw new NotSupportedException();
+		}
+		protected override void WriteResult(ResultEntry result)
+		{
+			throw new NotSupportedException();
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportMultistageBusVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportMultistageBusVehicle.cs
new file mode 100644
index 0000000000000000000000000000000000000000..26aab4fc01faa04e468de6c5e075a8a2bcfcdcce
--- /dev/null
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportMultistageBusVehicle.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCore.Models.Declaration;
+using TUGraz.VectoCore.Models.Simulation.Data;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile;
+
+namespace TUGraz.VectoCore.OutputData.XML
+{
+	/// <summary>
+	/// Create VIF of an interim (or the complete(d) step
+	/// </summary>
+	public class XMLDeclarationReportMultistageBusVehicle : XMLDeclarationReport
+	{
+		protected IXMLMultistepIntermediateReport _multistageBusReport;
+
+		public XMLDeclarationReportMultistageBusVehicle(IReportWriter writer)
+			: base(writer, null,null)
+		{
+			throw new NotImplementedException();
+			//throw new VectoException("Used here");
+			//_multistageBusReport = new XMLMultistageBusReport();
+		}
+		
+		public override void InitializeReport(VectoRunData modelData)
+		{
+			_multistageBusReport =
+				modelData.Exempted ? new XMLMultistageExemptedBusReport() : new XMLMultistageBusReport();
+			_multistageBusReport.Initialize(modelData);
+		}
+		
+		protected override void GenerateReports()
+		{
+			_multistageBusReport.GenerateReport();
+		}
+		
+		protected override void OutputReports()
+		{
+			Writer.WriteReport(ReportType.DeclarationReportMultistageVehicleXML, _multistageBusReport.Report);
+		}
+		
+		protected override void DoStoreResult(ResultEntry entry, VectoRunData runData, IModalDataContainer modData)
+		{
+			throw new NotSupportedException();
+		}
+		protected override void WriteResult(ResultEntry result)
+		{
+			throw new NotSupportedException();
+		}
+	}
+}
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportPrimaryVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportPrimaryVehicle.cs
index 07dbb4d0ee70e2200d5e9f93d3aedfc6f37e5f24..ec3ef610649037a7e0333133ad15b725d033d6d9 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportPrimaryVehicle.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportPrimaryVehicle.cs
@@ -1,40 +1,61 @@
 using System;
+using System.Collections.Generic;
+using System.Linq;
 using System.Xml.Linq;
 using TUGraz.VectoCore.Models.Simulation.Data;
-using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile;
-using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1;
 
-namespace TUGraz.VectoCore.OutputData.XML {
+namespace TUGraz.VectoCore.OutputData.XML
+{
+	/// <summary>
+	/// Create MRF and VIF for primary bus
+	/// </summary>
 	public class XMLDeclarationReportPrimaryVehicle : XMLDeclarationReport
 	{
-		protected IXMLVehicleInformationFile VehicleInformationFile;
+		private readonly IVIFReportFactory _vifFactory;
 
+		protected IXMLVehicleInformationFile VehicleInformationFile;
 
-		public XMLDeclarationReportPrimaryVehicle(IReportWriter writer) : base(writer, true)
-		{
-			throw new NotSupportedException("Use new implementation!");
-		}
 
 		public override XDocument CustomerReport => null;
 
 		public override XDocument PrimaryVehicleReport => VehicleInformationFile?.Report;
 
+		
+		public XMLDeclarationReportPrimaryVehicle(IReportWriter writer,
+			IManufacturerReportFactory mrfFactory,
+			IVIFReportFactory vifFactory) : base(writer, mrfFactory, null)
+		{
+			_vifFactory = vifFactory;
+		}
+		
 
-		#region Overrides of XMLDeclarationReport
 
+		#region Overrides of XMLDeclarationReport
 		protected override void InstantiateReports(VectoRunData modelData)
 		{
-			if (modelData.Exempted) {
-				ManufacturerRpt = new XMLManufacturerReportExeptedPrimaryBus();
-				CustomerRpt = new XMLCustomerReportExemptedPrimaryBus();
-				VehicleInformationFile = new XMLExemptedPrimaryBusVehicleReport();
+			var vehicleData = modelData.VehicleData.InputData;
+			var iepc = vehicleData.Components?.IEPC != null;
+			var ihpc =
+				vehicleData.Components?.ElectricMachines?.Entries?.Count(e => e.ElectricMachine.IHPCType != "None") > 0;
 
-			} else {
-				ManufacturerRpt = new XMLManufacturerReportPrimaryBus();
-				CustomerRpt = new XMLCustomerReport();
-				VehicleInformationFile = new XMLPrimaryBusVehicleReport();
-			}
+			ManufacturerRpt = _mrfFactory.GetManufacturerReport(vehicleData.VehicleCategory,
+				vehicleData.VehicleType,
+				vehicleData.ArchitectureID,
+				vehicleData.ExemptedVehicle,
+				iepc,
+				ihpc);
+
+			VehicleInformationFile = _vifFactory.GetVIFReport(vehicleData.VehicleCategory,
+				vehicleData.VehicleType,
+				vehicleData.ArchitectureID,
+				vehicleData.ExemptedVehicle,
+				iepc,
+				ihpc);
+
+			
 
 
 		}
@@ -44,9 +65,6 @@ namespace TUGraz.VectoCore.OutputData.XML {
 			base.InitializeReport(modelData);
 			VehicleInformationFile.Initialize(modelData);
 		}
-
-
-
 		protected override void WriteResult(ResultEntry result)
 		{
 			base.WriteResult(result);
@@ -57,18 +75,17 @@ namespace TUGraz.VectoCore.OutputData.XML {
 		{
 			ManufacturerRpt.GenerateReport();
 			var fullReportHash = GetSignature(ManufacturerRpt.Report);
-			CustomerRpt.GenerateReport(fullReportHash);
+			//CustomerRpt.GenerateReport(fullReportHash);
 			VehicleInformationFile.GenerateReport(fullReportHash);
 		}
 
-	
+
 
 		protected override void OutputReports()
 		{
 			Writer.WriteReport(ReportType.DeclarationReportManufacturerXML, ManufacturerRpt.Report);
 			Writer.WriteReport(ReportType.DeclarationReportPrimaryVehicleXML, VehicleInformationFile.Report);
 		}
-
 		#endregion
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport_0_9.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport_0_9.cs
deleted file mode 100644
index 793ada402ec842a99348ba58b8d8a08f8e50eb89..0000000000000000000000000000000000000000
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport_0_9.cs
+++ /dev/null
@@ -1,279 +0,0 @@
-using System;
-using System.Linq;
-using System.Xml.Linq;
-using TUGraz.VectoCommon.Models;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
-using TUGraz.VectoCore.Models.Simulation.Data;
-using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9;
-using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
-using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile;
-using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1;
-
-namespace TUGraz.VectoCore.OutputData.XML
-{
-	/// <summary>
-	/// Create MRF and VIF for primary bus
-	/// </summary>
-	public class XMLDeclarationReportPrimaryVehicle_09 : XMLDeclarationReport09
-	{
-		private readonly IManufacturerReportFactory _mrfFactory;
-		private readonly IVIFReportFactory _vifFactory;
-
-		protected IXMLVehicleInformationFile VehicleInformationFile;
-
-		public override XDocument CustomerReport => null;
-
-		public override XDocument PrimaryVehicleReport => VehicleInformationFile?.Report;
-
-		public XMLDeclarationReportPrimaryVehicle_09(IReportWriter writer,
-			IManufacturerReportFactory mrfFactory,
-			ICustomerInformationFileFactory cifFactory,
-			IVIFReportFactory vifFactory) : base(writer, mrfFactory, cifFactory)
-		{
-			_mrfFactory = mrfFactory;
-			//_cifFactory = cifFactory;
-			_vifFactory = vifFactory;
-		}
-
-		public override void InitializeReport(VectoRunData modelData)
-		{
-			base.InitializeReport(modelData);
-			VehicleInformationFile.Initialize(modelData);
-		}
-
-
-
-		protected override void WriteResult(ResultEntry result)
-		{
-			ManufacturerRpt.WriteResult(result);
-			//base.WriteResult(result);
-			VehicleInformationFile.WriteResult(result);
-		}
-
-		protected override void GenerateReports()
-		{
-			ManufacturerRpt.GenerateReport();
-			var fullReportHash = GetSignature(ManufacturerRpt.Report);
-			//CustomerRpt.GenerateReport(fullReportHash);
-			VehicleInformationFile.GenerateReport(fullReportHash);
-		}
-
-
-
-		protected override void OutputReports()
-		{
-			Writer.WriteReport(ReportType.DeclarationReportManufacturerXML, ManufacturerRpt.Report);
-			Writer.WriteReport(ReportType.DeclarationReportPrimaryVehicleXML, VehicleInformationFile.Report);
-		}
-
-
-
-		protected override void InstantiateReports(VectoRunData modelData)
-		{
-			var vehicleData = modelData.VehicleData.InputData;
-			var iepc = vehicleData.Components?.IEPC != null;
-			var ihpc =
-				vehicleData.Components?.ElectricMachines?.Entries?.Count(e => e.ElectricMachine.IHPCType != "None") > 0;
-
-			ManufacturerRpt = _mrfFactory.GetManufacturerReport(vehicleData.VehicleCategory,
-				vehicleData.VehicleType,
-				vehicleData.ArchitectureID,
-				vehicleData.ExemptedVehicle,
-				iepc,
-				ihpc);
-
-			VehicleInformationFile = _vifFactory.GetVIFReport(vehicleData.VehicleCategory,
-                vehicleData.VehicleType,
-                vehicleData.ArchitectureID,
-                vehicleData.ExemptedVehicle,
-                iepc,
-                ihpc);
-
-
-		}
-
-	}
-
-    // --------------------------------------------------
-
-    /// <summary>
-    /// Create VIF of an interim (or the complete(d) step
-    /// </summary>
-    public class XMLDeclarationReportInterimVehicle_09 : XMLDeclarationReport09
-	{
-		protected readonly IVIFReportFactory _vifFactory;
-
-		protected IXMLMultistepIntermediateReport MultistepIntermediateBusReport;
-		protected readonly IVIFReportInterimFactory _interimFactory;
-
-		public XMLDeclarationReportInterimVehicle_09(IReportWriter writer,
-			IManufacturerReportFactory mrfFactory,
-			ICustomerInformationFileFactory cifFactory,
-			IVIFReportFactory vifFactory, IVIFReportInterimFactory interimFactory) : base(writer, mrfFactory, cifFactory)
-		{
-			_vifFactory = vifFactory;
-			_interimFactory = interimFactory;
-		}
-
-		#region Overrides of XMLDeclarationReport
-
-		protected override void InstantiateReports(VectoRunData modelData)
-		{
-			var vehicleData = modelData.VehicleData.InputData;
-			var iepc = vehicleData.Components?.IEPC != null;
-			var ihpc =
-				vehicleData.Components?.ElectricMachines?.Entries?.Count(e => e.ElectricMachine.IHPCType != "None") > 0;
-
-			MultistepIntermediateBusReport = _interimFactory.GetInterimVIFReport(vehicleData.VehicleCategory,
-				vehicleData.VehicleType,
-				vehicleData.ArchitectureID,
-				vehicleData.ExemptedVehicle,
-				iepc,
-				ihpc);
-		}
-
-		#endregion
-
-		public override void InitializeReport(VectoRunData modelData)
-		{
-			//_multistageBusReport =
-			//	modelData.Exempted ? new XMLMultistageExemptedBusReport() : new XMLMultistageBusReport();
-			
-			InstantiateReports(modelData);
-
-			MultistepIntermediateBusReport.Initialize(modelData);
-		}
-
-		protected override void GenerateReports()
-		{
-			MultistepIntermediateBusReport.GenerateReport();
-		}
-
-		protected override void OutputReports()
-		{
-			Writer.WriteReport(ReportType.DeclarationReportMultistageVehicleXML, MultistepIntermediateBusReport.Report);
-		}
-
-		protected override void DoStoreResult(ResultEntry entry, VectoRunData runData, IModalDataContainer modData)
-		{
-			throw new NotSupportedException();
-		}
-		protected override void WriteResult(ResultEntry result)
-		{
-			throw new NotSupportedException();
-		}
-	}
-
-
-	// --------------------------------------------------
-
-	/// <summary>
-	/// Create MRF and CIF of the complete(d) step
-	/// </summary>
-	public class XMLDeclarationReportCompletedVehicle_09 : XMLDeclarationReportCompletedVehicle
-	{
-		protected readonly ICustomerInformationFileFactory _cifFactory;
-		protected readonly IManufacturerReportFactory _mrfFactory;
-
-		public XMLDeclarationReportCompletedVehicle_09(IReportWriter writer, IManufacturerReportFactory mrfFactory,
-			ICustomerInformationFileFactory cifFactory,
-			IVIFReportFactory vifFactory) : base(writer)
-		{
-            _cifFactory = cifFactory;
-			_mrfFactory = mrfFactory;
-		}
-
-		#region Overrides of XMLDeclarationReportCompletedVehicle
-
-		protected override void InstantiateReports(VectoRunData modelData)
-		{
-			var inputData = modelData.InputData as IXMLMultistageInputDataProvider;
-			var primaryVehicle = inputData.JobInputData.PrimaryVehicle.Vehicle;
-
-			var ihpc = (primaryVehicle.Components?.ElectricMachines?.Entries)?.Count(electric => electric.ElectricMachine.IHPCType != "None") > 0;
-			var iepc = (primaryVehicle.Components?.IEPC != null);
-			ManufacturerRpt = _mrfFactory.GetManufacturerReport(
-				inputData.JobInputData.ConsolidateManufacturingStage.Vehicle.VehicleCategory,
-				inputData.JobInputData.JobType,
-				primaryVehicle.ArchitectureID,
-				primaryVehicle.ExemptedVehicle,
-				iepc,
-				ihpc);
-
-			CustomerRpt = _cifFactory.GetCustomerReport(
-				inputData.JobInputData.ConsolidateManufacturingStage.Vehicle.VehicleCategory,
-				inputData.JobInputData.JobType,
-				primaryVehicle.ArchitectureID,
-				primaryVehicle.ExemptedVehicle,
-				iepc,
-				ihpc);
-
-		}
-
-		#endregion
-	}
-	// --------------------------------------------------
-
-	/// <summary>
-	/// Create MRF and CIF for lorries
-	/// </summary>
-	public class XMLDeclarationReport09 : XMLDeclarationReport
-	{
-		protected readonly IManufacturerReportFactory _mrfFactory;
-		protected readonly ICustomerInformationFileFactory _cifFactory;
-
-		public XMLDeclarationReport09(IReportWriter writer, IManufacturerReportFactory mrfFactory, ICustomerInformationFileFactory cifFactory) : base(writer, true)
-		{
-			_mrfFactory = mrfFactory;
-			_cifFactory = cifFactory;
-		}
-
-		protected override void InstantiateReports(VectoRunData modelData)
-		{
-			var vehicleData = modelData.VehicleData.InputData;
-			var iepc = vehicleData.Components?.IEPC != null;
-			var ihpc =
-				vehicleData.Components?.ElectricMachines?.Entries?.Count(e => e.ElectricMachine.IHPCType != "None") > 0;
-
-			ManufacturerRpt = _mrfFactory.GetManufacturerReport(vehicleData.VehicleCategory,
-				vehicleData.VehicleType,
-				vehicleData.ArchitectureID,
-				vehicleData.ExemptedVehicle,
-				iepc,
-				ihpc);
-			CustomerRpt = _cifFactory.GetCustomerReport(vehicleData.VehicleCategory,
-				vehicleData.VehicleType,
-				vehicleData.ArchitectureID,
-				vehicleData.ExemptedVehicle,
-				iepc,
-				ihpc);
-		}
-
-	}
-
-
-	public class XMLDeclarationReportSingleBus09 : XMLDeclarationReport09
-	{
-		
-		public XMLDeclarationReportSingleBus09(IReportWriter writer, IManufacturerReportFactory mrfFactory, ICustomerInformationFileFactory cifFactory) : base(writer, mrfFactory, cifFactory)
-		{ }
-
-		protected override void InstantiateReports(VectoRunData modelData)
-		{
-			var vehicleData = modelData.VehicleData.InputData;
-			var iepc = vehicleData.Components?.IEPC != null;
-			var ihpc =
-				vehicleData.Components?.ElectricMachines?.Entries?.Count(e => e.ElectricMachine.IHPCType != "None") > 0;
-
-			ManufacturerRpt = _mrfFactory.GetManufacturerReport(vehicleData.VehicleCategory,
-				vehicleData.VehicleType,
-				vehicleData.ArchitectureID,
-				vehicleData.ExemptedVehicle,
-				iepc,
-				ihpc);
-			// do not instantiate customer report for single bus - not fully implemented, not needed in the final application
-		}
-
-	}
-
-}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsHEV.cs b/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsHEV.cs
index b6293e66e33bc049f5c29ed9c227fec504f8a4f2..dff94c49a100083325b9fbfdf298f0c767d947e9 100644
--- a/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsHEV.cs
+++ b/VectoCore/VectoCoreTest/Integration/ADAS/ADASTestsHEV.cs
@@ -524,25 +524,9 @@ namespace TUGraz.VectoCore.Tests.Integration.ADAS
 
 		[TestCase]
 		public void Class5_NoADAS_CaseI_HEV() => TestPCC(MethodBase.GetCurrentMethod().Name,
-			(537, 4200, OutsideSegment, Accelerate),      // len: 3663m
-			(4200, 4223, OutsideSegment, Roll),           // len: 23m
-			(4223, 4586, OutsideSegment, Accelerate),     // len: 363m
-			(4586, 4605, OutsideSegment, Roll),           // len: 19m
-			(4605, 4747, OutsideSegment, Accelerate),     // len: 142m
-			(4747, 4762, OutsideSegment, Roll),           // len: 15m
-			(4762, 4888, OutsideSegment, Accelerate),     // len: 126m
-			(4888, 4900, OutsideSegment, Roll),           // len: 12m
-			(4900, 4981, OutsideSegment, Accelerate),     // len: 81m
-			(4981, 4994, OutsideSegment, Roll),           // len: 13m
-			(4994, 5116, OutsideSegment, Accelerate),     // len: 122m
-			(5116, 5133, OutsideSegment, Roll),           // len: 17m
-			(5133, 5301, OutsideSegment, Accelerate),     // len: 168m
-			(5301, 5323, OutsideSegment, Roll),           // len: 22m
-			(5323, 5392, OutsideSegment, Accelerate),     // len: 69m
-			(5392, 5475, OutsideSegment, Coast),          // len: 83m
-			(5475, 6111, OutsideSegment, Brake),          // len: 636m
-			(6111, 6397, OutsideSegment, Coast),          // len: 286m
-			(6397, 1e6, OutsideSegment, Accelerate));
+			(35, 420, OutsideSegment, Accelerate),        // len: 385m
+			(420, 444, OutsideSegment, Roll),             // len: 24m
+			(444, 1e6, OutsideSegment, Accelerate));
 
 		[TestCase]
 		public void Class5_NoADAS_CaseJ_HEV() => TestPCC(MethodBase.GetCurrentMethod().Name,
diff --git a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/BusAdapterTest.cs b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/BusAdapterTest.cs
index bf60c084d9cefb45b4780bd30f9d901f52bd4a7c..9feaf26b611db47a675b56cfb9a7ff287e262611 100644
--- a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/BusAdapterTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/BusAdapterTest.cs
@@ -105,7 +105,7 @@ namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
 		}
 
 		[TestCase(12000, 1256, -48, -28, 8516.9257)] // smart PS active - power demand below engine drag
-		[TestCase(12000, 1256, 48, -28, 6087.0321)] // no smart aux active - positive power demand
+		[TestCase(12000, 1256, 48, -28, 5649.8149)] // no smart aux active - positive power demand
 		[TestCase(12000, 800, -48, -28, 7844.2956)] // smart PS active - power demand below engine drag
 		[TestCase(12000, 800, 48, -28, 5939.985)] // no smart aux active - positive power demand
 		public void TestSmartAuxDuringBrake(double vehicleWeight, double engineSpeedRpm, double driveLinePower,
diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/HeavyLorry/LorrySimulation.cs b/VectoCore/VectoCoreTest/Integration/Declaration/HeavyLorry/LorrySimulation.cs
index f9e0180dfae00ea2b5576dd8316f12841e575afc..e977aa5b51ff17fac86690c4a5e897b9f9108128 100644
--- a/VectoCore/VectoCoreTest/Integration/Declaration/HeavyLorry/LorrySimulation.cs
+++ b/VectoCore/VectoCoreTest/Integration/Declaration/HeavyLorry/LorrySimulation.cs
@@ -74,6 +74,8 @@ public class LorrySimulation
 
 	private StandardKernel _kernel;
 	private IXMLInputDataReader _xmlReader;
+	private XmlSchemaSet _cifSchema = XMLValidator.GetXMLSchema(XmlDocumentType.CustomerReport);
+	private XmlSchemaSet _mrfSchema = XMLValidator.GetXMLSchema(XmlDocumentType.ManufacturerReport);
 
 	[OneTimeSetUp]
 	public void OneTimeSetup()
@@ -156,10 +158,8 @@ public class LorrySimulation
 
 		var mrfPath = fileWriter.GetWrittenFiles()[ReportType.DeclarationReportManufacturerXML];
 		var cifPath = fileWriter.GetWrittenFiles()[ReportType.DeclarationReportCustomerXML];
-		var cifSchema = XMLValidator.GetXMLSchema(XmlDocumentType.CustomerReport);
-		var mrfSchema = XMLValidator.GetXMLSchema(XmlDocumentType.ManufacturerReport);
-		XDocument.Load(mrfPath).Validate(mrfSchema, (sender, args) => Assert.Fail(args.Message));
-		XDocument.Load(cifPath).Validate(cifSchema, (sender, args) => Assert.Fail(args.Message));
+		XDocument.Load(mrfPath).Validate(_mrfSchema, (sender, args) => Assert.Fail(args.Message));
+		XDocument.Load(cifPath).Validate(_cifSchema, (sender, args) => Assert.Fail(args.Message));
 
 		VSUM_order_test(fileWriter.SumFileName, jobContainer.Runs.First().Run.GetContainer().RunData);
 	}
@@ -947,7 +947,7 @@ public class LorrySimulation
 		if (report == null) {
 			return; //also used in engineering mode
 		}
-		if (report is XMLDeclarationReport09 rep09) {
+		if (report is XMLDeclarationReport rep09) {
 			
 
 			GetField("_resultCount", rep09.GetType()).SetValue(rep09, count);
diff --git a/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs b/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs
index 8e4b47af188ab43d1b31cf8ad8aa5de9232a1102..db59c01f838b6e2f1c9cf262a455299a93f5cd3e 100644
--- a/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs
@@ -22,6 +22,8 @@ using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory;
 using TUGraz.VectoCore.OutputData;
 using TUGraz.VectoCore.OutputData.FileIO;
 using TUGraz.VectoCore.OutputData.XML;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1;
 using TUGraz.VectoCore.Tests.Integration.Declaration;
 using TUGraz.VectoCore.Tests.Models.Simulation;
 using TUGraz.VectoCore.Utils;
@@ -427,8 +429,10 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage
 
 			var writer = new FileOutputWriter(outputFile);
 
-            var xmlreport = new XMLDeclarationReportPrimaryVehicle(writer);
-            var factory = SimulatorFactory.CreateSimulatorFactory(ExecutionMode.Declaration, inputData, writer);
+			var mrfFactory = _kernel.Get<IManufacturerReportFactory>();
+			var vifFactory = _kernel.Get<IVIFReportFactory>();
+			var xmlreport = new XMLDeclarationReportPrimaryVehicle(writer, mrfFactory, vifFactory);
+			var factory = SimulatorFactory.CreateSimulatorFactory(ExecutionMode.Declaration, inputData, writer, xmlreport);
 			factory.WriteModalResults = true;
 			factory.Validate = false;
 
@@ -495,11 +499,11 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage
 
 		private void TestTorqueLimitsData(IList<ITorqueLimitInputData> torqueLimits)
 		{
+			Assert.AreEqual(1, torqueLimits[0].Gear);
+			Assert.AreEqual(2500, torqueLimits[0].MaxTorque.Value());
 			Assert.AreEqual(3, torqueLimits.Count);
-			Assert.AreEqual(6, torqueLimits[0].Gear);
-			Assert.AreEqual(1800, torqueLimits[0].MaxTorque.Value());
-			Assert.AreEqual(1, torqueLimits[1].Gear);
-			Assert.AreEqual(2500, torqueLimits[1].MaxTorque.Value());
+			Assert.AreEqual(6, torqueLimits[1].Gear);
+			Assert.AreEqual(1800, torqueLimits[1].MaxTorque.Value());
 			Assert.AreEqual(12, torqueLimits[2].Gear);
 			Assert.AreEqual(1900, torqueLimits[2].MaxTorque.Value());
 		}
@@ -737,7 +741,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage
 			Assert.AreEqual(3.SI<Volt>(), capacitor.Voltage);
 			
 			Assert.AreEqual("Large Supply 2-stage", aux.PneumaticSupply.CompressorSize);//SizeOfAirSupply
-			Assert.AreEqual(CompressorDrive.electrically, aux.PneumaticSupply.CompressorDrive);
+			Assert.AreEqual(CompressorDrive.mechanically, aux.PneumaticSupply.CompressorDrive);
 			Assert.AreEqual("none", aux.PneumaticSupply.Clutch);
 			Assert.AreEqual(1.000, aux.PneumaticSupply.Ratio);
 			Assert.AreEqual(false, aux.PneumaticSupply.SmartAirCompression);
@@ -786,11 +790,11 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage
 					new XAttribute(XMLNames.Report_Results_Fuel_Type_Attr, "Diesel CI"),
 					new XElement(tns +
 								XMLNames.Report_Result_EnergyConsumption,
-						new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/km"), 16.93598)),
-
-				new XElement(tns+ 
-					XMLNames.Report_Results_CO2, new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/km"), 1862.57
-				)));
+						new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/km"), 16.93598))
+				//new XElement(tns+ 
+				//	XMLNames.Report_Results_CO2, new XAttribute(XMLNames.Report_Results_Unit_Attr, "g/km"), 1862.57
+				//)
+				));
 
 			return results;
 
diff --git a/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs b/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs
index f54f2bc4184df981ed98ef202d6fbc33c16b0a96..df989b590310b9f545d3776d01250d4d6244ff92 100644
--- a/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/XMLReportTest.cs
@@ -49,6 +49,8 @@ using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory;
 using TUGraz.VectoCore.OutputData;
 using TUGraz.VectoCore.OutputData.FileIO;
 using TUGraz.VectoCore.OutputData.XML;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
 using TUGraz.VectoCore.Tests.Utils;
 using TUGraz.VectoCore.Tests.XML;
 using TUGraz.VectoCore.Utils;
@@ -100,9 +102,9 @@ namespace TUGraz.VectoCore.Tests.Integration
 			// no need to run the simulation, we only check whether the meta-data is correct, no results are considered
 			//jobContainer.Execute();
 			//jobContainer.WaitFinished();
-			(xmlReport as XMLDeclarationReport09).DoWriteReport();
+			(xmlReport as XMLDeclarationReport).DoWriteReport();
 
-			var manufacturerReport = (xmlReport as XMLDeclarationReport09).FullReport;
+			var manufacturerReport = (xmlReport as XMLDeclarationReport).FullReport;
 
 			Assert.AreEqual(5, manufacturerReport.XPathSelectElement("//*[local-name()='VehicleGroup']")?.Value.ToInt());
 
@@ -155,9 +157,9 @@ namespace TUGraz.VectoCore.Tests.Integration
             // no need to run the simulation, we only check whether the meta-data is correct, no results are considered
             jobContainer.Execute();
             jobContainer.WaitFinished();
-			(xmlReport as XMLDeclarationReport09).DoWriteReport();
+			(xmlReport as XMLDeclarationReport).DoWriteReport();
 
-			var customerReport = (xmlReport as XMLDeclarationReport09).CustomerReport;
+			var customerReport = (xmlReport as XMLDeclarationReport).CustomerReport;
 
             //check if the customerReport contains the summary XML-Element
 			Assert.AreNotEqual(null,customerReport.XPathSelectElement("//*[local-name()='Summary']"));
@@ -190,10 +192,10 @@ namespace TUGraz.VectoCore.Tests.Integration
 			jobContainer.Execute();
 			jobContainer.WaitFinished();
 
-			var mrfValidator = GetValidator((xmlReport as XMLDeclarationReport09).FullReport);
+			var mrfValidator = GetValidator((xmlReport as XMLDeclarationReport).FullReport);
 			mrfValidator.ValidateXML(XmlDocumentType.DeclarationComponentData | XmlDocumentType.DeclarationJobData | XmlDocumentType.CustomerReport | XmlDocumentType.ManufacturerReport);
 
-			var cifValidator = GetValidator((xmlReport as XMLDeclarationReport09).CustomerReport);
+			var cifValidator = GetValidator((xmlReport as XMLDeclarationReport).CustomerReport);
 			cifValidator.ValidateXML(XmlDocumentType.DeclarationComponentData | XmlDocumentType.DeclarationJobData | XmlDocumentType.CustomerReport | XmlDocumentType.ManufacturerReport);
 
 			//var monitoringValidator = GetValidator(xmlReport.MonitoringReport);
@@ -279,9 +281,9 @@ namespace TUGraz.VectoCore.Tests.Integration
 					//};
 					jobContainer.AddRuns(runsFactory);
 
-					(xmlReport as XMLDeclarationReport09).DoWriteReport();
+					(xmlReport as XMLDeclarationReport).DoWriteReport();
 
-					var manufacturerReport = (xmlReport as XMLDeclarationReport09).FullReport;
+					var manufacturerReport = (xmlReport as XMLDeclarationReport).FullReport;
 
 					Assert.AreEqual(
 						ptoGearWheel != "none",
@@ -319,23 +321,23 @@ namespace TUGraz.VectoCore.Tests.Integration
 			// no need to run the simulation, we only check whether the meta-data is correct, no results are considered
 			//jobContainer.Execute();
 			//jobContainer.WaitFinished();
-			(xmlReport as XMLDeclarationReport09).DoWriteReport();
+			(xmlReport as XMLDeclarationReport).DoWriteReport();
 
 			
 			var inputHash = VectoHash.Load(jobfile);
 
-			var mrfDigestData = new DigestData((xmlReport as XMLDeclarationReport09).FullReport.Document.XPathSelectElement("//*[local-name()='InputDataSignature']"));
+			var mrfDigestData = new DigestData((xmlReport as XMLDeclarationReport).FullReport.Document.XPathSelectElement("//*[local-name()='InputDataSignature']"));
 			var mrfInputDigest = inputHash.ComputeHash(mrfDigestData.CanonicalizationMethods, mrfDigestData.DigestMethod);
 
 			Assert.AreEqual(mrfInputDigest, mrfDigestData.DigestValue);
 
-			var cifDigestData = new DigestData((xmlReport as XMLDeclarationReport09).CustomerReport.Document.XPathSelectElement("//*[local-name()='InputDataSignature']"));
+			var cifDigestData = new DigestData((xmlReport as XMLDeclarationReport).CustomerReport.Document.XPathSelectElement("//*[local-name()='InputDataSignature']"));
 			var cifInputDigest = inputHash.ComputeHash(cifDigestData.CanonicalizationMethods, cifDigestData.DigestMethod);
 
 			Assert.AreEqual(cifInputDigest, cifDigestData.DigestValue);
 
 			var mrfHash = VectoHash.Load(writer.XMLFullReportName);
-			var mrfCifDigestData = new DigestData((xmlReport as XMLDeclarationReport09).CustomerReport.Document.XPathSelectElement("//*[local-name()='ManufacturerRecordSignature']"));
+			var mrfCifDigestData = new DigestData((xmlReport as XMLDeclarationReport).CustomerReport.Document.XPathSelectElement("//*[local-name()='ManufacturerRecordSignature']"));
 			var mrfCifDigest = mrfHash.ComputeHash(mrfCifDigestData.CanonicalizationMethods, mrfCifDigestData.DigestMethod);
 
 			Assert.AreEqual(mrfCifDigest, mrfCifDigestData.DigestValue);
@@ -368,7 +370,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 			// no need to run the simulation, we only check whether the meta-data is correct, no results are considered
 			//jobContainer.Execute();
 			//jobContainer.WaitFinished();
-			(xmlReport as XMLDeclarationReport09).DoWriteReport();
+			(xmlReport as XMLDeclarationReport).DoWriteReport();
 		}
 	}
 }
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DataAdapter/DeclarationAdapterCreateVocationalVehicleTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DataAdapter/DeclarationAdapterCreateVocationalVehicleTest.cs
index 65a174c01fb33e6fd621299405062ca63e3a02d7..169f6f2b96419dfb4a013bd52e5884dfefcb81bf 100644
--- a/VectoCore/VectoCoreTest/Models/Declaration/DataAdapter/DeclarationAdapterCreateVocationalVehicleTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Declaration/DataAdapter/DeclarationAdapterCreateVocationalVehicleTest.cs
@@ -11,6 +11,8 @@ using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory;
 using TUGraz.VectoCore.OutputData;
 using TUGraz.VectoCore.OutputData.FileIO;
 using TUGraz.VectoCore.OutputData.XML;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Tests.Models.Declaration.DataAdapter
@@ -60,7 +62,6 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration.DataAdapter
 			var xmlReport = _kernel.Get<IXMLDeclarationReportFactory>().CreateReport(dataProvider, writer);
 			var sumData = new SummaryDataContainer(null);
 			var jobContainer = new JobContainer(sumData);
-
 			var runsFactory = SimulatorFactory.CreateSimulatorFactory(ExecutionMode.Declaration, dataProvider, null, xmlReport);
 			runsFactory.WriteModalResults = false;
 			runsFactory.Validate = false;
@@ -69,9 +70,9 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration.DataAdapter
 			// no need to run the simulation, we only check whether the meta-data is correct, no results are considered
 			//jobContainer.Execute();
 			//jobContainer.WaitFinished();
-			(xmlReport as XMLDeclarationReport09).DoWriteReport();
+			(xmlReport as XMLDeclarationReport).DoWriteReport();
 
-			var manufacturerReport = (xmlReport as XMLDeclarationReport09).FullReport;
+			var manufacturerReport = (xmlReport as XMLDeclarationReport).FullReport;
 
 			Assert.IsFalse(XmlConvert.ToBoolean(manufacturerReport.XPathSelectElement(XMLHelper.QueryLocalName(XMLNames.Vehicle_VocationalVehicle))?.Value ?? ""));
 		}
diff --git a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
index 09b4c268ea9538a93ff014b903a46b69f622f854..6c850242d0ecd1881f49be96a86743d8555ef64f 100644
--- a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
+++ b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
@@ -53,6 +53,8 @@ using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
 
 namespace TUGraz.VectoCore.Tests.Reports
 {
@@ -99,6 +101,13 @@ namespace TUGraz.VectoCore.Tests.Reports
 				DriverData = new DriverData() {
 					EngineStopStart = new DriverData.EngineStopStartData()
 				},
+				Aux = new List<VectoRunData.AuxData>() {
+					new() {
+						ID = "FAN",
+						PowerDemandMech = 3000.SI<Watt>(),
+						Technology = new List<string>() {"FanTech"}
+					}
+				}
 			};
 			var modData = new ModalDataContainer(rundata, writer, null);
 			modData.Data.CreateColumns(ModalResults.DistanceCycleSignals);
@@ -191,6 +200,13 @@ namespace TUGraz.VectoCore.Tests.Reports
 				DriverData = new DriverData() {
 					EngineStopStart = new DriverData.EngineStopStartData()
 				},
+				Aux = new List<VectoRunData.AuxData>() {
+					new() {
+						ID = "FAN",
+						PowerDemandMech = 3000.SI<Watt>(),
+						Technology = new List<string>() {"FanTech"}
+					}
+				}
 			};
 			var modData = new ModalDataContainer(rundata, writer, null);
 			modData.Data.CreateColumns(ModalResults.DistanceCycleSignals);
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/VIF/vecto_vehicle-primary_heavyBus_ESS_electricFanSTP.RSLT_VIF.xml b/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/VIF/vecto_vehicle-primary_heavyBus_ESS_electricFanSTP.RSLT_VIF.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d564477b67997c8fa895a50beebc98fbf9957fea
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/VIF/vecto_vehicle-primary_heavyBus_ESS_electricFanSTP.RSLT_VIF.xml
@@ -0,0 +1,533 @@
+<?xml version="1.0" encoding="utf-8"?>
+<VectoOutputMultistep xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1" 
+xmlns:vif="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:v2.3" xmlns:vif0.1="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1 ./../../../../../VectoCore/Resources/XSD/VectoOutputMultistep.0.1.xsd">
+	<PrimaryVehicle>
+		<Data xsi:type="PrimaryVehicleDataType" id="VIF-65de7efe65ee4b4cac4c">
+			<Vehicle xsi:type="ConventionalVehicleVIFType">
+				<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>
+				<LegislativeCategory>M3</LegislativeCategory>
+				<ChassisConfiguration>Bus</ChassisConfiguration>
+				<AxleConfiguration>4x2</AxleConfiguration>
+				<Articulated>false</Articulated>
+				<TechnicalPermissibleMaximumLadenMass>40000</TechnicalPermissibleMaximumLadenMass>
+				<IdlingSpeed>600</IdlingSpeed>
+				<RetarderType>Transmission Output Retarder</RetarderType>
+				<RetarderRatio>1.000</RetarderRatio>
+				<AngledriveType>None</AngledriveType>
+				<ZeroEmissionVehicle>false</ZeroEmissionVehicle>
+				<vif:ADAS xsi:type="ADAS_Conventional_Type" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4">
+					<EngineStopStart>true</EngineStopStart>
+					<EcoRollWithoutEngineStop>false</EcoRollWithoutEngineStop>
+					<EcoRollWithEngineStop>true</EcoRollWithEngineStop>
+					<PredictiveCruiseControl>none</PredictiveCruiseControl>
+				</vif: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="Vehicle_Conventional_ComponentsVIFType">
+					<Engine>
+						<Data xsi:type="EngineDataVIFType">
+							<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>
+							<RatedSpeed>2200</RatedSpeed>
+							<RatedPower>380000</RatedPower>
+							<MaxEngineTorque>2400</MaxEngineTorque>
+							<WHRType>
+								<MechanicalOutputICE>false</MechanicalOutputICE>
+								<MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain>
+								<ElectricalOutput>false</ElectricalOutput>
+							</WHRType>
+							<Mode>
+								<IdlingSpeed>560</IdlingSpeed>
+								<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>
+								<Fuels>
+									<FuelType>NG CI</FuelType>
+								</Fuels>
+							</Mode>
+						</Data>
+					</Engine>
+					<Transmission>
+						<Data xsi:type="TransmissionDataVIFType">
+							<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
+							<Model>Generic 40t Long Haul Truck Gearbox</Model>
+							<MainCertificationMethod>Standard values</MainCertificationMethod>
+							<Date>2017-01-11T11:00:00Z</Date>
+							<AppVersion>3.0.1</AppVersion>
+							<TransmissionType>AMT</TransmissionType>
+							<Gears xsi:type="TransmissionGearsVIFType">
+								<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>
+					<Axlegear>
+						<Data xsi:type="AxlegearDataVIFType">
+							<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
+							<Model>Generic 40t Long Haul Truck AxleGear</Model>
+							<CertificationMethod>Standard values</CertificationMethod>
+							<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="AxleWheelsDataVIFType">
+							<Axles>
+								<vif0.1:Axle axleNumber="1" xsi:type="AxleDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+									<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>
+								</vif0.1:Axle>
+								<vif0.1:Axle axleNumber="2" xsi:type="AxleDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+									<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>
+								</vif0.1:Axle>
+							</Axles>
+						</Data>
+					</AxleWheels>
+					<Auxiliaries>
+						<Data xsi:type="AUX_Conventional_PrimaryBusType">
+							<Fan>
+								<Technology>Electrically driven - Electronically controlled</Technology>
+							</Fan>
+							<SteeringPump>
+								<Technology axleNumber="1">Full electric steering gear</Technology>
+							</SteeringPump>
+							<ElectricSystem>
+								<AlternatorTechnology>conventional</AlternatorTechnology>
+								<SupplyFromHEVPossible>false</SupplyFromHEVPossible>
+							</ElectricSystem>
+							<PneumaticSystem>
+								<SizeOfAirSupply>Large Supply 2-stage</SizeOfAirSupply>
+								<CompressorDrive>mechanically</CompressorDrive>
+								<Clutch>none</Clutch>
+								<CompressorRatio>1.000</CompressorRatio>
+								<SmartCompressionSystem>false</SmartCompressionSystem>
+								<SmartRegenerationSystem>false</SmartRegenerationSystem>
+								<AirsuspensionControl>electronically</AirsuspensionControl>
+								<PneumaticSCRReagentDosing>true</PneumaticSCRReagentDosing>
+							</PneumaticSystem>
+							<HVAC>
+								<AdjustableCoolantThermostat>true</AdjustableCoolantThermostat>
+								<EngineWasteGasHeatExchanger>true</EngineWasteGasHeatExchanger>
+							</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>4C7sfmETI+wy6CMQq+MZK1MO8SRxRiZu+3rQ3GUfko4=</di:DigestValue>
+				</di:Reference>
+			</InputDataSignature>
+			<ManufacturerRecordSignature>
+				<di:Reference URI="#RESULT-bc20a2dbfee54190ae90">
+					<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>+0Hg3i3G7tHlYHM2JxapJje6Ca3nE5EXZVTNdgkeyMo=</di:DigestValue>
+				</di:Reference>
+			</ManufacturerRecordSignature>
+			<Results>
+				<Status>success</Status>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31SD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">17.81185</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31SD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">21.37501</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31SD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">14.37972</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31SD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">17.36588</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31SD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">12.72559</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31SD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">15.58182</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31DD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">18.89946</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31DD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">22.89746</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31DD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">15.23384</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31DD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">18.56793</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31DD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">13.41841</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P31DD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">16.61045</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P32SD</PrimaryVehicleSubgroup>
+					<Mission>Interurban</Mission>
+					<SimulationParameters>
+						<TotalVehicleMass unit="kg">14029.90</TotalVehicleMass>
+						<Payload unit="kg">1075.44</Payload>
+						<PassengerCount>12.39</PassengerCount>
+						<FuelMode>single fuel mode</FuelMode>
+					</SimulationParameters>
+					<Fuel type="NG CI">
+						<EnergyConsumption unit="MJ/km">10.88604</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P32SD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">12.24260</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P32SD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">8.63290</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P32SD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">9.09409</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P32DD</PrimaryVehicleSubgroup>
+					<Mission>Interurban</Mission>
+					<SimulationParameters>
+						<TotalVehicleMass unit="kg">14452.35</TotalVehicleMass>
+						<Payload unit="kg">1052.35</Payload>
+						<PassengerCount>14.82</PassengerCount>
+						<FuelMode>single fuel mode</FuelMode>
+					</SimulationParameters>
+					<Fuel type="NG CI">
+						<EnergyConsumption unit="MJ/km">11.25244</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P32DD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">12.91147</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P32DD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">9.09497</EnergyConsumption>
+					</Fuel>
+				</Result>
+				<Result status="success">
+					<PrimaryVehicleSubgroup>P32DD</PrimaryVehicleSubgroup>
+					<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="NG CI">
+						<EnergyConsumption unit="MJ/km">9.65550</EnergyConsumption>
+					</Fuel>
+				</Result>
+			</Results>
+			<ApplicationInformation>
+				<SimulationToolVersion>0.6.1.1957-DEV !!NOT FOR CERTIFICATION!!</SimulationToolVersion>
+				<Date>2020-05-27T08:24:31.2197913Z</Date>
+			</ApplicationInformation>
+		</Data>
+		<Signature>
+			<di:Reference URI="#VIF-65de7efe65ee4b4cac4c">
+				<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>MgGDNMXm8x2CI30U7X27ZFWn9cqjTnylZGA0nHA6xtM=</di:DigestValue>
+			</di:Reference>
+		</Signature>
+	</PrimaryVehicle>
+</VectoOutputMultistep>
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P2/P2 Group 5_LimitVehiclePropTq.vecto b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P2/P2 Group 5_LimitVehiclePropTq.vecto
index 1d9670246f14cfeadbea10e851c1bb20d8534eeb..cd2de6775748e972587df0f68c1ba5fbb00f6b56 100644
--- a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P2/P2 Group 5_LimitVehiclePropTq.vecto	
+++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P2/P2 Group 5_LimitVehiclePropTq.vecto	
@@ -17,7 +17,6 @@
     "AuxiliaryAssembly": "Classic",
     "AuxiliaryVersion": "CLASSIC",
     "AdvancedAuxiliaryFilePath": "",
-    "Aux": [],
     "Padd": 3000.0,
     "Padd_electric": 0.0,
     "VACC": "Vehicle\\Truck.vacc",
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P3_APT/P3 APT Group 5_LimitVehiclePropTq.vecto b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P3_APT/P3 APT Group 5_LimitVehiclePropTq.vecto
index 66759402c4058b416d4a5ebf4210e032a5f1bab0..a739bc00dcfaf077175efacf28c2cb83ba953020 100644
--- a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P3_APT/P3 APT Group 5_LimitVehiclePropTq.vecto	
+++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P3_APT/P3 APT Group 5_LimitVehiclePropTq.vecto	
@@ -17,7 +17,6 @@
     "AuxiliaryAssembly": "Classic",
     "AuxiliaryVersion": "CLASSIC",
     "AdvancedAuxiliaryFilePath": "",
-    "Aux": [],
     "Padd": 3000.0,
     "Padd_electric": 0.0,
     "VACC": "Vehicle\\Truck.vacc",
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P3_APT/Vehicle/VehicleMaxPropulsionTorque.vtqp b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P3_APT/Vehicle/VehicleMaxPropulsionTorque.vtqp
new file mode 100644
index 0000000000000000000000000000000000000000..a7bfb2481d9bbf2ee1bc96309e3f4ced5192d9e1
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P3_APT/Vehicle/VehicleMaxPropulsionTorque.vtqp
@@ -0,0 +1,4 @@
+n [rpm], T_drive [Nm]
+0,1200
+600, 0 
+3000, 0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P3_APT/Vehicle/VehicleMaxPropulsionTorque_2.vtqp b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P3_APT/Vehicle/VehicleMaxPropulsionTorque_2.vtqp
new file mode 100644
index 0000000000000000000000000000000000000000..6cf17e786c9dde625cf7a415457899af420c6e0f
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/Group5_P3_APT/Vehicle/VehicleMaxPropulsionTorque_2.vtqp
@@ -0,0 +1,4 @@
+n [rpm], T_drive [Nm]
+0,1200
+600, 500 
+3000, 500
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/P4_APT/Vehicle/VehicleMaxPropulsionTorque.vtqp b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/P4_APT/Vehicle/VehicleMaxPropulsionTorque.vtqp
new file mode 100644
index 0000000000000000000000000000000000000000..a7bfb2481d9bbf2ee1bc96309e3f4ced5192d9e1
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/P_HEV/P4_APT/Vehicle/VehicleMaxPropulsionTorque.vtqp
@@ -0,0 +1,4 @@
+n [rpm], T_drive [Nm]
+0,1200
+600, 0 
+3000, 0
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_1_i=3-49.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_1_i=3-49.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..5e25d590800c006073435dc6f634f14e0848cbb4
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_1_i=3-49.vtlm
@@ -0,0 +1,202 @@
+Input Speed [1/min], Input Torque [Nm], Torque Loss [Nm]
+0,0,48
+0,200,56
+0,400,64
+0,600,72
+0,900,84
+0,1200,96
+0,1600,112
+0,2000,128
+0,2500,148
+600,0,48
+600,200,56
+600,400,64
+600,600,72
+600,900,84
+600,1200,96
+600,1600,112
+600,2000,128
+600,2500,148
+900,0,57
+900,200,65
+900,400,73
+900,600,81
+900,900,93
+900,1200,105
+900,1600,121
+900,2000,137
+900,2500,157
+1200,0,66
+1200,200,74
+1200,400,82
+1200,600,90
+1200,900,102
+1200,1200,114
+1200,1600,130
+1200,2000,146
+1200,2500,166
+1600,0,78
+1600,200,86
+1600,400,94
+1600,600,102
+1600,900,114
+1600,1200,126
+1600,1600,142
+1600,2000,158
+1600,2500,178
+2000,0,90
+2000,200,98
+2000,400,106
+2000,600,114
+2000,900,126
+2000,1200,138
+2000,1600,154
+2000,2000,170
+2000,2500,190
+2500,0,105
+2500,200,113
+2500,400,121
+2500,600,129
+2500,900,141
+2500,1200,153
+2500,1600,169
+2500,2000,185
+2500,2500,205
+3000,0,120
+3000,200,128
+3000,400,136
+3000,600,144
+3000,900,156
+3000,1200,168
+3000,1600,184
+3000,2000,200
+3000,2500,220
+600,0,48
+600,-200,56
+600,-400,64
+600,-600,72
+600,-900,84
+600,-1200,96
+600,-1600,112
+600,-2000,128
+600,-2500,148
+900,0,57
+900,-200,65
+900,-400,73
+900,-600,81
+900,-900,93
+900,-1200,105
+900,-1600,121
+900,-2000,137
+900,-2500,157
+1200,0,66
+1200,-200,74
+1200,-400,82
+1200,-600,90
+1200,-900,102
+1200,-1200,114
+1200,-1600,130
+1200,-2000,146
+1200,-2500,166
+1600,0,78
+1600,-200,86
+1600,-400,94
+1600,-600,102
+1600,-900,114
+1600,-1200,126
+1600,-1600,142
+1600,-2000,158
+1600,-2500,178
+2000,0,90
+2000,-200,98
+2000,-400,106
+2000,-600,114
+2000,-900,126
+2000,-1200,138
+2000,-1600,154
+2000,-2000,170
+2000,-2500,190
+2500,0,105
+2500,-200,113
+2500,-400,121
+2500,-600,129
+2500,-900,141
+2500,-1200,153
+2500,-1600,169
+2500,-2000,185
+2500,-2500,205
+3000,0,120
+3000,-200,128
+3000,-400,136
+3000,-600,144
+3000,-900,156
+3000,-1200,168
+3000,-1600,184
+3000,-2000,200
+3000,-2500,220
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_2_i=1-86.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_2_i=1-86.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..1cdc06160aa4dcdfe6fcf5775fc18e4c5fa943ff
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_2_i=1-86.vtlm
@@ -0,0 +1,136 @@
+Input Speed [1/min], Input Torque [Nm], Torque Loss [Nm]
+0,0,48
+0,200,56
+0,400,64
+0,600,72
+0,900,84
+0,1200,96
+0,1600,112
+0,2000,128
+0,2500,148
+600,0,48
+600,200,56
+600,400,64
+600,600,72
+600,900,84
+600,1200,96
+600,1600,112
+600,2000,128
+600,2500,148
+900,0,57
+900,200,65
+900,400,73
+900,600,81
+900,900,93
+900,1200,105
+900,1600,121
+900,2000,137
+900,2500,157
+1200,0,66
+1200,200,74
+1200,400,82
+1200,600,90
+1200,900,102
+1200,1200,114
+1200,1600,130
+1200,2000,146
+1200,2500,166
+1600,0,78
+1600,200,86
+1600,400,94
+1600,600,102
+1600,900,114
+1600,1200,126
+1600,1600,142
+1600,2000,158
+1600,2500,178
+2000,0,90
+2000,200,98
+2000,400,106
+2000,600,114
+2000,900,126
+2000,1200,138
+2000,1600,154
+2000,2000,170
+2000,2500,190
+2500,0,105
+2500,200,113
+2500,400,121
+2500,600,129
+2500,900,141
+2500,1200,153
+2500,1600,169
+2500,2000,185
+2500,2500,205
+3000,0,120
+3000,200,128
+3000,400,136
+3000,600,144
+3000,900,156
+3000,1200,168
+3000,1600,184
+3000,2000,200
+3000,2500,220
+600,0,48
+600,-200,56
+600,-400,64
+600,-600,72
+600,-900,84
+600,-1200,96
+600,-1600,112
+600,-2000,128
+600,-2500,148
+900,0,57
+900,-200,65
+900,-400,73
+900,-600,81
+900,-900,93
+900,-1200,105
+900,-1600,121
+900,-2000,137
+900,-2500,157
+1200,0,66
+1200,-200,74
+1200,-400,82
+1200,-600,90
+1200,-900,102
+1200,-1200,114
+1200,-1600,130
+1200,-2000,146
+1200,-2500,166
+1600,0,78
+1600,-200,86
+1600,-400,94
+1600,-600,102
+1600,-900,114
+1600,-1200,126
+1600,-1600,142
+1600,-2000,158
+1600,-2500,178
+2000,0,90
+2000,-200,98
+2000,-400,106
+2000,-600,114
+2000,-900,126
+2000,-1200,138
+2000,-1600,154
+2000,-2000,170
+2000,-2500,190
+2500,0,105
+2500,-200,113
+2500,-400,121
+2500,-600,129
+2500,-900,141
+2500,-1200,153
+2500,-1600,169
+2500,-2000,185
+2500,-2500,205
+3000,0,120
+3000,-200,128
+3000,-400,136
+3000,-600,144
+3000,-900,156
+3000,-1200,168
+3000,-1600,184
+3000,-2000,200
+3000,-2500,220
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_3_i=1-41.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_3_i=1-41.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..1cdc06160aa4dcdfe6fcf5775fc18e4c5fa943ff
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_3_i=1-41.vtlm
@@ -0,0 +1,136 @@
+Input Speed [1/min], Input Torque [Nm], Torque Loss [Nm]
+0,0,48
+0,200,56
+0,400,64
+0,600,72
+0,900,84
+0,1200,96
+0,1600,112
+0,2000,128
+0,2500,148
+600,0,48
+600,200,56
+600,400,64
+600,600,72
+600,900,84
+600,1200,96
+600,1600,112
+600,2000,128
+600,2500,148
+900,0,57
+900,200,65
+900,400,73
+900,600,81
+900,900,93
+900,1200,105
+900,1600,121
+900,2000,137
+900,2500,157
+1200,0,66
+1200,200,74
+1200,400,82
+1200,600,90
+1200,900,102
+1200,1200,114
+1200,1600,130
+1200,2000,146
+1200,2500,166
+1600,0,78
+1600,200,86
+1600,400,94
+1600,600,102
+1600,900,114
+1600,1200,126
+1600,1600,142
+1600,2000,158
+1600,2500,178
+2000,0,90
+2000,200,98
+2000,400,106
+2000,600,114
+2000,900,126
+2000,1200,138
+2000,1600,154
+2000,2000,170
+2000,2500,190
+2500,0,105
+2500,200,113
+2500,400,121
+2500,600,129
+2500,900,141
+2500,1200,153
+2500,1600,169
+2500,2000,185
+2500,2500,205
+3000,0,120
+3000,200,128
+3000,400,136
+3000,600,144
+3000,900,156
+3000,1200,168
+3000,1600,184
+3000,2000,200
+3000,2500,220
+600,0,48
+600,-200,56
+600,-400,64
+600,-600,72
+600,-900,84
+600,-1200,96
+600,-1600,112
+600,-2000,128
+600,-2500,148
+900,0,57
+900,-200,65
+900,-400,73
+900,-600,81
+900,-900,93
+900,-1200,105
+900,-1600,121
+900,-2000,137
+900,-2500,157
+1200,0,66
+1200,-200,74
+1200,-400,82
+1200,-600,90
+1200,-900,102
+1200,-1200,114
+1200,-1600,130
+1200,-2000,146
+1200,-2500,166
+1600,0,78
+1600,-200,86
+1600,-400,94
+1600,-600,102
+1600,-900,114
+1600,-1200,126
+1600,-1600,142
+1600,-2000,158
+1600,-2500,178
+2000,0,90
+2000,-200,98
+2000,-400,106
+2000,-600,114
+2000,-900,126
+2000,-1200,138
+2000,-1600,154
+2000,-2000,170
+2000,-2500,190
+2500,0,105
+2500,-200,113
+2500,-400,121
+2500,-600,129
+2500,-900,141
+2500,-1200,153
+2500,-1600,169
+2500,-2000,185
+2500,-2500,205
+3000,0,120
+3000,-200,128
+3000,-400,136
+3000,-600,144
+3000,-900,156
+3000,-1200,168
+3000,-1600,184
+3000,-2000,200
+3000,-2500,220
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_4_i=1.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_4_i=1.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..36365e666f12b3e1f9083aaf6dc653069c1e92f3
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_4_i=1.vtlm
@@ -0,0 +1,136 @@
+Input Speed [1/min], Input Torque [Nm], Torque Loss [Nm]
+0,0,48
+0,200,50
+0,400,52
+0,600,54
+0,900,57
+0,1200,60
+0,1600,64
+0,2000,68
+0,2500,73
+600,0,48
+600,200,50
+600,400,52
+600,600,54
+600,900,57
+600,1200,60
+600,1600,64
+600,2000,68
+600,2500,73
+900,0,57
+900,200,59
+900,400,61
+900,600,63
+900,900,66
+900,1200,69
+900,1600,73
+900,2000,77
+900,2500,82
+1200,0,66
+1200,200,68
+1200,400,70
+1200,600,72
+1200,900,75
+1200,1200,78
+1200,1600,82
+1200,2000,86
+1200,2500,91
+1600,0,78
+1600,200,80
+1600,400,82
+1600,600,84
+1600,900,87
+1600,1200,90
+1600,1600,94
+1600,2000,98
+1600,2500,103
+2000,0,90
+2000,200,92
+2000,400,94
+2000,600,96
+2000,900,99
+2000,1200,102
+2000,1600,106
+2000,2000,110
+2000,2500,115
+2500,0,105
+2500,200,107
+2500,400,109
+2500,600,111
+2500,900,114
+2500,1200,117
+2500,1600,121
+2500,2000,125
+2500,2500,130
+3000,0,120
+3000,200,122
+3000,400,124
+3000,600,126
+3000,900,129
+3000,1200,132
+3000,1600,136
+3000,2000,140
+3000,2500,145
+600,0,48
+600,-200,50
+600,-400,52
+600,-600,54
+600,-900,57
+600,-1200,60
+600,-1600,64
+600,-2000,68
+600,-2500,73
+900,0,57
+900,-200,59
+900,-400,61
+900,-600,63
+900,-900,66
+900,-1200,69
+900,-1600,73
+900,-2000,77
+900,-2500,82
+1200,0,66
+1200,-200,68
+1200,-400,70
+1200,-600,72
+1200,-900,75
+1200,-1200,78
+1200,-1600,82
+1200,-2000,86
+1200,-2500,91
+1600,0,78
+1600,-200,80
+1600,-400,82
+1600,-600,84
+1600,-900,87
+1600,-1200,90
+1600,-1600,94
+1600,-2000,98
+1600,-2500,103
+2000,0,90
+2000,-200,92
+2000,-400,94
+2000,-600,96
+2000,-900,99
+2000,-1200,102
+2000,-1600,106
+2000,-2000,110
+2000,-2500,115
+2500,0,105
+2500,-200,107
+2500,-400,109
+2500,-600,111
+2500,-900,114
+2500,-1200,117
+2500,-1600,121
+2500,-2000,125
+2500,-2500,130
+3000,0,120
+3000,-200,122
+3000,-400,124
+3000,-600,126
+3000,-900,129
+3000,-1200,132
+3000,-1600,136
+3000,-2000,140
+3000,-2500,145
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_5_i=0-75.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_5_i=0-75.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..1cdc06160aa4dcdfe6fcf5775fc18e4c5fa943ff
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_5_i=0-75.vtlm
@@ -0,0 +1,136 @@
+Input Speed [1/min], Input Torque [Nm], Torque Loss [Nm]
+0,0,48
+0,200,56
+0,400,64
+0,600,72
+0,900,84
+0,1200,96
+0,1600,112
+0,2000,128
+0,2500,148
+600,0,48
+600,200,56
+600,400,64
+600,600,72
+600,900,84
+600,1200,96
+600,1600,112
+600,2000,128
+600,2500,148
+900,0,57
+900,200,65
+900,400,73
+900,600,81
+900,900,93
+900,1200,105
+900,1600,121
+900,2000,137
+900,2500,157
+1200,0,66
+1200,200,74
+1200,400,82
+1200,600,90
+1200,900,102
+1200,1200,114
+1200,1600,130
+1200,2000,146
+1200,2500,166
+1600,0,78
+1600,200,86
+1600,400,94
+1600,600,102
+1600,900,114
+1600,1200,126
+1600,1600,142
+1600,2000,158
+1600,2500,178
+2000,0,90
+2000,200,98
+2000,400,106
+2000,600,114
+2000,900,126
+2000,1200,138
+2000,1600,154
+2000,2000,170
+2000,2500,190
+2500,0,105
+2500,200,113
+2500,400,121
+2500,600,129
+2500,900,141
+2500,1200,153
+2500,1600,169
+2500,2000,185
+2500,2500,205
+3000,0,120
+3000,200,128
+3000,400,136
+3000,600,144
+3000,900,156
+3000,1200,168
+3000,1600,184
+3000,2000,200
+3000,2500,220
+600,0,48
+600,-200,56
+600,-400,64
+600,-600,72
+600,-900,84
+600,-1200,96
+600,-1600,112
+600,-2000,128
+600,-2500,148
+900,0,57
+900,-200,65
+900,-400,73
+900,-600,81
+900,-900,93
+900,-1200,105
+900,-1600,121
+900,-2000,137
+900,-2500,157
+1200,0,66
+1200,-200,74
+1200,-400,82
+1200,-600,90
+1200,-900,102
+1200,-1200,114
+1200,-1600,130
+1200,-2000,146
+1200,-2500,166
+1600,0,78
+1600,-200,86
+1600,-400,94
+1600,-600,102
+1600,-900,114
+1600,-1200,126
+1600,-1600,142
+1600,-2000,158
+1600,-2500,178
+2000,0,90
+2000,-200,98
+2000,-400,106
+2000,-600,114
+2000,-900,126
+2000,-1200,138
+2000,-1600,154
+2000,-2000,170
+2000,-2500,190
+2500,0,105
+2500,-200,113
+2500,-400,121
+2500,-600,129
+2500,-900,141
+2500,-1200,153
+2500,-1600,169
+2500,-2000,185
+2500,-2500,205
+3000,0,120
+3000,-200,128
+3000,-400,136
+3000,-600,144
+3000,-900,156
+3000,-1200,168
+3000,-1600,184
+3000,-2000,200
+3000,-2500,220
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_6_i=0-65.vtlm b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_6_i=0-65.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..1cdc06160aa4dcdfe6fcf5775fc18e4c5fa943ff
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/JSON/S_HEV/GenericVehicle_S2_AT/Gear_6_i=0-65.vtlm
@@ -0,0 +1,136 @@
+Input Speed [1/min], Input Torque [Nm], Torque Loss [Nm]
+0,0,48
+0,200,56
+0,400,64
+0,600,72
+0,900,84
+0,1200,96
+0,1600,112
+0,2000,128
+0,2500,148
+600,0,48
+600,200,56
+600,400,64
+600,600,72
+600,900,84
+600,1200,96
+600,1600,112
+600,2000,128
+600,2500,148
+900,0,57
+900,200,65
+900,400,73
+900,600,81
+900,900,93
+900,1200,105
+900,1600,121
+900,2000,137
+900,2500,157
+1200,0,66
+1200,200,74
+1200,400,82
+1200,600,90
+1200,900,102
+1200,1200,114
+1200,1600,130
+1200,2000,146
+1200,2500,166
+1600,0,78
+1600,200,86
+1600,400,94
+1600,600,102
+1600,900,114
+1600,1200,126
+1600,1600,142
+1600,2000,158
+1600,2500,178
+2000,0,90
+2000,200,98
+2000,400,106
+2000,600,114
+2000,900,126
+2000,1200,138
+2000,1600,154
+2000,2000,170
+2000,2500,190
+2500,0,105
+2500,200,113
+2500,400,121
+2500,600,129
+2500,900,141
+2500,1200,153
+2500,1600,169
+2500,2000,185
+2500,2500,205
+3000,0,120
+3000,200,128
+3000,400,136
+3000,600,144
+3000,900,156
+3000,1200,168
+3000,1600,184
+3000,2000,200
+3000,2500,220
+600,0,48
+600,-200,56
+600,-400,64
+600,-600,72
+600,-900,84
+600,-1200,96
+600,-1600,112
+600,-2000,128
+600,-2500,148
+900,0,57
+900,-200,65
+900,-400,73
+900,-600,81
+900,-900,93
+900,-1200,105
+900,-1600,121
+900,-2000,137
+900,-2500,157
+1200,0,66
+1200,-200,74
+1200,-400,82
+1200,-600,90
+1200,-900,102
+1200,-1200,114
+1200,-1600,130
+1200,-2000,146
+1200,-2500,166
+1600,0,78
+1600,-200,86
+1600,-400,94
+1600,-600,102
+1600,-900,114
+1600,-1200,126
+1600,-1600,142
+1600,-2000,158
+1600,-2500,178
+2000,0,90
+2000,-200,98
+2000,-400,106
+2000,-600,114
+2000,-900,126
+2000,-1200,138
+2000,-1600,154
+2000,-2000,170
+2000,-2500,190
+2500,0,105
+2500,-200,113
+2500,-400,121
+2500,-600,129
+2500,-900,141
+2500,-1200,153
+2500,-1600,169
+2500,-2000,185
+2500,-2500,205
+3000,0,120
+3000,-200,128
+3000,-400,136
+3000,-600,144
+3000,-900,156
+3000,-1200,168
+3000,-1600,184
+3000,-2000,200
+3000,-2500,220
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_AMT_S2_n_opt.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_AMT_S2_n_opt.xml
index 0a41c27700f4ea079b18ecdc314d513f0de64c99..3cd80a926568bba915168521385bd958ec2314a1 100644
--- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_AMT_S2_n_opt.xml
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_AMT_S2_n_opt.xml
@@ -14,7 +14,7 @@
 		<IdlingSpeed>660</IdlingSpeed>
 		<RetarderType>Losses included in Gearbox</RetarderType>
 		<RetarderRatio>2.000</RetarderRatio>
-		<AngledriveType>Separate Angledrive</AngledriveType>
+		<AngledriveType>None</AngledriveType>
 		<PTO xsi:type="PTOType">
 			<PTOShaftsGearWheels>none</PTOShaftsGearWheels>
 			<PTOOtherElements>none</PTOOtherElements>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_S3_n_opt.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_S3_n_opt.xml
index 28caaf1d3216655a2a55b7ba37984391a85821a7..cf38b681f5fee985069d3c8d911de5575384ca47 100644
--- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_S3_n_opt.xml
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_S3_n_opt.xml
@@ -14,7 +14,7 @@
 		<IdlingSpeed>650</IdlingSpeed>
 		<RetarderType>Losses included in Gearbox</RetarderType>
 		<RetarderRatio>2.000</RetarderRatio>
-		<AngledriveType>Separate Angledrive</AngledriveType>
+		<AngledriveType>None</AngledriveType>
 		<PTO xsi:type="PTOType">
 			<PTOShaftsGearWheels>none</PTOShaftsGearWheels>
 			<PTOOtherElements>none</PTOOtherElements>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_S4_n_opt.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_S4_n_opt.xml
index 574f1573096ca5136cc5902aa1cd2031d48d22c7..94eecd6c9030c0101d6dece5aabcaa92baaed257 100644
--- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_S4_n_opt.xml
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/HEV-S_heavyLorry_S4_n_opt.xml
@@ -14,7 +14,7 @@
 		<IdlingSpeed>640</IdlingSpeed>
 		<RetarderType>Losses included in Gearbox</RetarderType>
 		<RetarderRatio>2.000</RetarderRatio>
-		<AngledriveType>Separate Angledrive</AngledriveType>
+		<AngledriveType>None</AngledriveType>
 		<PTO xsi:type="PTOType">
 			<PTOShaftsGearWheels>none</PTOShaftsGearWheels>
 			<PTOOtherElements>none</PTOOtherElements>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_AMT_E2_n_opt.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_AMT_E2_n_opt.xml
index 8dc0b991998924977e131ad97ff6f5daa0840033..d837e94215cb1b441700a93487d789607165c8d4 100644
--- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_AMT_E2_n_opt.xml
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_AMT_E2_n_opt.xml
@@ -13,7 +13,7 @@
 		<TechnicalPermissibleMaximumLadenMass>12000</TechnicalPermissibleMaximumLadenMass>
 		<RetarderType>Losses included in Gearbox</RetarderType>
 		<RetarderRatio>2.000</RetarderRatio>
-		<AngledriveType>Separate Angledrive</AngledriveType>
+		<AngledriveType>None</AngledriveType>
 		<PTO xsi:type="PTOType">
 			<PTOShaftsGearWheels>none</PTOShaftsGearWheels>
 			<PTOOtherElements>none</PTOOtherElements>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_E3_n_opt.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_E3_n_opt.xml
index fbb049d5eaf0f0ea0478f2fbca4c6e55e36326b9..8d38d04b6ffac0ccb8b043263ea22232224dbeb6 100644
--- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_E3_n_opt.xml
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_E3_n_opt.xml
@@ -13,7 +13,7 @@
 		<TechnicalPermissibleMaximumLadenMass>12000</TechnicalPermissibleMaximumLadenMass>
 		<RetarderType>Losses included in Gearbox</RetarderType>
 		<RetarderRatio>2.000</RetarderRatio>
-		<AngledriveType>Separate Angledrive</AngledriveType>
+		<AngledriveType>None</AngledriveType>
 		<PTO xsi:type="PTOType">
 			<PTOShaftsGearWheels>none</PTOShaftsGearWheels>
 			<PTOOtherElements>none</PTOOtherElements>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_E4_n_opt.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_E4_n_opt.xml
index 25808af2d1ac6ee4223b28c293a781d676cd2b88..c2d16c957b67e64c08cade3afc3d667fff1f5851 100644
--- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_E4_n_opt.xml
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/WithoutOptionalEntries/PEV_heavyLorry_E4_n_opt.xml
@@ -13,7 +13,7 @@
 		<TechnicalPermissibleMaximumLadenMass>12000</TechnicalPermissibleMaximumLadenMass>
 		<RetarderType>Losses included in Gearbox</RetarderType>
 		<RetarderRatio>2.000</RetarderRatio>
-		<AngledriveType>Separate Angledrive</AngledriveType>
+		<AngledriveType>None</AngledriveType>
 		<PTO xsi:type="PTOType">
 			<PTOShaftsGearWheels>none</PTOShaftsGearWheels>
 			<PTOOtherElements>none</PTOOtherElements>
diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv24.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv24.cs
index 63c7327ef94499e1b24529514cc2419c843dda73..29559a5937dec4cb962458c1f0e9098dc67fcff8 100644
--- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv24.cs
+++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv24.cs
@@ -667,8 +667,8 @@ namespace TUGraz.VectoCore.Tests.XML
 
 		private void TestBoostingLimitationsEntry(string rotationalSpeed, string boostingTorque, DataRow row)
 		{
-			Assert.AreEqual(rotationalSpeed, row[XMLNames.BoostingLimitation_RotationalSpeed]);
-			Assert.AreEqual(boostingTorque, row[XMLNames.BoostingLimitation_BoostingTorque]);
+			Assert.AreEqual(rotationalSpeed, row[MaxBoostingTorqueReader.Fields.MotorSpeed]);
+			Assert.AreEqual(boostingTorque, row[MaxBoostingTorqueReader.Fields.DrivingTorque]);
 		}
 
 		#endregion
diff --git a/VectoMockup/VectoMockup/Reports/MockupReportFactory.cs b/VectoMockup/VectoMockup/Reports/MockupReportFactory.cs
index 7d35d9451f2a52e0e790076380920d5526e2f7fd..e841f6e9fc8155059206e663083117772cd31ba2 100644
--- a/VectoMockup/VectoMockup/Reports/MockupReportFactory.cs
+++ b/VectoMockup/VectoMockup/Reports/MockupReportFactory.cs
@@ -41,7 +41,7 @@ namespace TUGraz.VectoMockup.Reports
                 case IMultistepBusInputDataProvider multistageBusInputDataProvider:
                     break;
                 case ISingleBusInputDataProvider singleBusInputDataProvider:
-                    return new XMLDeclarationReport(outputWriter);
+                    return new XMLDeclarationReport(outputWriter, _mrfFactory, _cifFactory);
                 case IDeclarationInputDataProvider declarationInputDataProvider:
                     return CreateDeclarationReport(declarationInputDataProvider, outputWriter);
                 case IMultiStageTypeInputData multiStageTypeInputData:
@@ -106,7 +106,8 @@ namespace TUGraz.VectoMockup.Reports
                 {
                     case VehicleCategory.HeavyBusCompletedVehicle:
                         throw new NotImplementedException();
-                        return new XMLDeclarationReportCompletedVehicle(outputDataWriter)
+						return new XMLDeclarationReportCompletedVehicle(outputDataWriter, _mrfFactory, _cifFactory,
+							_vifFactory)
                         {
                             PrimaryVehicleReportInputData = declarationInputDataProvider.PrimaryVehicleData,
                         };
diff --git a/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupPrimaryReport.cs b/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupPrimaryReport.cs
index be9a19230fac2c216501ae1ee1f2f120676780e5..774218a674bf7fd6e349d2a0e193ccb7afe56642 100644
--- a/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupPrimaryReport.cs
+++ b/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupPrimaryReport.cs
@@ -15,7 +15,7 @@ namespace TUGraz.VectoMockup.Reports
 	/// <summary>
 	/// Create MRF and VIF for primary bus
 	/// </summary>
-	public class XMLDeclarationMockupPrimaryReport : XMLDeclarationReportPrimaryVehicle_09
+	public class XMLDeclarationMockupPrimaryReport : XMLDeclarationReportPrimaryVehicle
 	{
 		private readonly bool _exempted;
 
@@ -25,13 +25,12 @@ namespace TUGraz.VectoMockup.Reports
 			IVIFReportFactory vifFactory,
 			bool exempted) : base(writer,
 			mrfFactory,
-			cifFactory,
 			vifFactory)
 		{
 			_exempted = exempted;
 		}
 
-		#region Overrides of XMLDeclarationReportPrimaryVehicle_09
+		#region Overrides of XMLDeclarationReportPrimaryVehicle
 
 		protected override void DoStoreResult(ResultEntry entry, VectoRunData runData, IModalDataContainer modData)
 		{
diff --git a/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReport.cs b/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReport.cs
index 8625f3474be64a73d13de775ecfbf07e5022e97b..6b73c358e49cbe6bdb626493d4330be13ce80e7d 100644
--- a/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReport.cs
+++ b/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReport.cs
@@ -15,7 +15,7 @@ namespace TUGraz.VectoMockup.Reports
 	/// <summary>
 	/// Create MRF and CIF for lorries
 	/// </summary>
-	internal class XMLDeclarationMockupReport : XMLDeclarationReport09
+	internal class XMLDeclarationMockupReport : XMLDeclarationReport
     {
 		private readonly bool _exempted;
 
diff --git a/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs b/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs
index 0703c33dc2efbb98ef8838cfe86cd4e704be58dc..bd25165ae8cf62bf044bde24ba00a7b94d85f9fa 100644
--- a/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs
+++ b/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs
@@ -20,7 +20,7 @@ namespace TUGraz.VectoMockup.Reports
 	/// <summary>
 	/// Create VIF of an interim (or the complete(d) step
 	/// </summary>
-	public class XMLDeclarationMockupReportInterimVehicle : XMLDeclarationReportInterimVehicle_09
+	public class XMLDeclarationMockupReportInterimVehicle : XMLDeclarationReportInterimVehicle
 	{
 		private readonly bool _exempted;
 
@@ -37,7 +37,7 @@ namespace TUGraz.VectoMockup.Reports
 	/// <summary>
 		/// Create MRF and CIF of the complete(d) step
 		/// </summary>
-	public class XMLDeclarationMockupReportCompletedVehicle : XMLDeclarationReportCompletedVehicle_09
+	public class XMLDeclarationMockupReportCompletedVehicle : XMLDeclarationReportCompletedVehicle
 	{
 		//private readonly IManufacturerReportFactory _mrfFactory;
 		//private readonly ICustomerInformationFileFactory _cifFactory;