diff --git a/VECTO/Input Files/VectoEPTPJob.vb b/VECTO/Input Files/VectoEPTPJob.vb
index 86b6bc81a0f0a31b83da7ac7f6f4bb13d6dfcf06..1113d0008a46c5468e37c8ec3798a0dbc32b570f 100644
--- a/VECTO/Input Files/VectoEPTPJob.vb	
+++ b/VECTO/Input Files/VectoEPTPJob.vb	
@@ -224,8 +224,13 @@ Public Class VectoVTPJob
     End Get
     End Property
 
+    Public ReadOnly Property Results As IResultsInputData Implements IManufacturerReport.Results
+
     Public ReadOnly Property ComponentDigests As IDictionary(Of VectoComponents,IList(Of String)) Implements IManufacturerReport.ComponentDigests
     Public ReadOnly Property JobDigest As DigestData Implements IManufacturerReport.JobDigest
+    Public ReadOnly Property VehicleLength As Meter Implements IManufacturerReport.VehicleLength
+    Public ReadOnly Property VehicleClass As VehicleClass Implements IManufacturerReport.VehicleClass
+    Public ReadOnly Property VehicleCode As VehicleCode Implements IManufacturerReport.VehicleCode
 
     Public ReadOnly Property DataSource As DataSource Implements IInputDataProvider.DataSource
         Get
diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
index 2736f510fb26b629d73964168824fa07c8a07c64..21a7d58d7bf2286f081619cc722dd9cf68d9b01f 100644
--- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
+++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
@@ -784,7 +784,7 @@ namespace TUGraz.VectoCommon.InputData
 		ISimulationParameter SimulationParameter { get; }
 
 		Dictionary<FuelType, JoulePerMeter> EnergyConsumption { get; }
-
+		Dictionary<string, double> CO2 { get; }
 	}
 
 	public interface ISimulationParameter
diff --git a/VectoCommon/VectoCommon/InputData/VTPDeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/VTPDeclarationInputData.cs
index 394a7fef5555c663a8eec8d9bee78df4e12e6d38..d3ab01cab8b701fd55f6abdb2b1e78b04de91d0f 100644
--- a/VectoCommon/VectoCommon/InputData/VTPDeclarationInputData.cs
+++ b/VectoCommon/VectoCommon/InputData/VTPDeclarationInputData.cs
@@ -31,6 +31,7 @@
 
 using System.Collections.Generic;
 using TUGraz.VectoCommon.Hashing;
+using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoHashing;
 
@@ -67,8 +68,13 @@ namespace TUGraz.VectoCommon.InputData
 	{
 		string Source { get; }
 
+		IResultsInputData Results { get; }
+
 		IDictionary<VectoComponents,IList<string>> ComponentDigests { get; }
 
 		DigestData JobDigest { get; }
+		Meter VehicleLength { get; }
+		VehicleClass VehicleClass { get; }
+		VehicleCode VehicleCode { get; }
 	}
 }
diff --git a/VectoCommon/VectoCommon/Models/VehicleClass.cs b/VectoCommon/VectoCommon/Models/VehicleClass.cs
index 596ff23dc337a9802630260c054999a392480385..9a57c754a0026398586c87c7b77cfb59d081ef4b 100644
--- a/VectoCommon/VectoCommon/Models/VehicleClass.cs
+++ b/VectoCommon/VectoCommon/Models/VehicleClass.cs
@@ -179,6 +179,11 @@ namespace TUGraz.VectoCommon.Models
 			}
 		}
 
+		public static bool IsBus(this VehicleClass vehicleClass)
+		{
+			return vehicleClass.IsPrimaryBus() || vehicleClass.IsCompletedBus();
+		}
+
 		public static bool IsPrimaryBus(this VehicleClass vehicleClass)
 		{
 			switch (vehicleClass) {
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs
index e89bcaf6767b7c14fb445bc88afbfe0588607b8b..e286d83689f23f22af4b7d889996c7a921d43394 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs
@@ -721,6 +721,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 		private IDictionary<VectoComponents, IList<string>> _componentDigests = null;
 		private DigestData _jobDigest = null;
 		private IXMLInputDataReader _inputReader;
+		private IResultsInputData _manufacturerResults;
+		private Meter _vehicleLenght;
+		private VehicleClass _vehicleClass;
+		private VehicleCode _vehicleCode;
 
 		public JSONVTPInputDataV4(JObject data, string filename, bool tolerateMissing = false) : base(
 			data, filename, tolerateMissing)
@@ -768,6 +772,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			get { return Body["ManufacturerRecord"].Value<string>(); }
 		}
 
+		public IResultsInputData Results
+		{
+			get {
+				if (_manufacturerResults == null) {
+					ReadManufacturerReport();
+				}
+				return _manufacturerResults;
+			}
+		}
+
 		public IList<ICycleData> Cycles
 		{
 			get {
@@ -833,6 +847,36 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			}
 		}
 
+		public Meter VehicleLength
+		{
+			get {
+				if (_vehicleLenght == null) {
+					ReadManufacturerReport();
+				}
+				return _vehicleLenght;
+			}
+		}
+
+		public VehicleClass VehicleClass
+		{
+			get {
+				if (_vehicleClass == VehicleClass.Unknown) {
+					ReadManufacturerReport();
+				}
+				return _vehicleClass;
+			}
+		}
+
+		public VehicleCode VehicleCode
+		{
+			get {
+				if (_vehicleCode == VehicleCode.NOT_APPLICABLE) {
+					ReadManufacturerReport();
+				}
+				return _vehicleCode;
+			}
+		}
+
 		#endregion
 
 		private void ReadManufacturerReport()
@@ -864,7 +908,62 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			} catch (Exception) {
 				_jobDigest = new DigestData("", new string[] { }, "", "");
 			}
+
+			_manufacturerResults = new ManufacturerResults(xmlDoc.SelectSingleNode("//*[local-name() = 'Results']"));
+			_vehicleLenght = xmlDoc.SelectSingleNode("//*[local-name() = 'VehicleLength']").InnerText.ToDouble().SI<Meter>();
+			_vehicleClass = VehicleClassHelper.Parse(xmlDoc.SelectSingleNode("//*[local-name() = 'VehicleGroup']").InnerText);
+			_vehicleCode = xmlDoc.SelectSingleNode("//*[local-name() = 'VehicleCode']").InnerText.ParseEnum<VehicleCode>();
+		}
+	}
+
+	internal class ManufacturerResults : IResultsInputData
+	{
+		private XmlNode ResultNode;
+
+		public ManufacturerResults(XmlNode resultsNode)
+		{
+			ResultNode = resultsNode;
+			Status = ResultNode.SelectSingleNode("./*[local-name() = 'Status']").InnerText;
+			Results = new List<IResult>();
+			foreach (XmlNode node in ResultNode.SelectNodes("./*[local-name() = 'Result' and @status='success']")) {
+				var entry = new Result {
+					ResultStatus = node.Attributes.GetNamedItem("status").InnerText,
+					Mission = node.SelectSingleNode("./*[local-name()='Mission']").InnerText.ParseEnum<MissionType>(),
+					SimulationParameter = GetSimulationParameter(node.SelectSingleNode("//*[local-name()='SimulationParametersCompletedVehicle']")),
+					EnergyConsumption = node.SelectSingleNode("//*[local-name()='Fuel' and FuelConsumption/@unit='MJ/km']")?
+											.Cast<XmlNode>().Select(
+												x => new KeyValuePair<FuelType, JoulePerMeter>(
+													x.Attributes.GetNamedItem(XMLNames.Report_Results_Fuel_Type_Attr).InnerText.ParseEnum<FuelType>(),
+													x.SelectSingleNode(
+														string.Format("./*[local-name()='{0}' and @unit='MJ/km']", XMLNames.Report_Result_EnergyConsumption))
+													?.InnerText
+													.ToDouble().SI(Unit.SI.Mega.Joule.Per.Kilo.Meter).Cast<JoulePerMeter>()))
+											.ToDictionary(x => x.Key, x => x.Value),
+					CO2 = node.SelectNodes("./*[local-name()='CO2' and @unit]").Cast<XmlNode>().Select(
+								x => new KeyValuePair<string, double>(x.Attributes.GetNamedItem("unit").InnerText, x.InnerText.ToDouble()))
+							.ToDictionary(x => x.Key, x => x.Value)
+
+				};
+				Results.Add(entry);
+			}
 		}
+
+		private ISimulationParameter GetSimulationParameter(XmlNode node)
+		{
+			return new SimulationParameter {
+				TotalVehicleMass = node.SelectSingleNode($"./*[local-name()='{XMLNames.Report_ResultEntry_TotalVehicleMass}']").InnerText.ToDouble().SI<Kilogram>(),
+				Payload = node.SelectSingleNode($"./*[local-name()='{XMLNames.Report_Result_Payload}']").InnerText.ToDouble().SI<Kilogram>(),
+				PassengerCount = node.SelectSingleNode($"./*[local-name()='{XMLNames.Bus_PassengerCount}']").InnerText.ToDouble(),
+				FuelMode = "" //node.SelectSingleNode($"./*[local-name()='{XMLNames.Report_Result_FuelMode}']").InnerText
+			};
+		}
+
+		#region Implementation of IResultsInputData
+
+		public string Status { get; }
+		public IList<IResult> Results { get; }
+
+		#endregion
 	}
 
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs
index 867b590ef4b98986b721acede83899e743211cfc..d67717deffac0c29acfe8620323559d65db1230b 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs
@@ -78,7 +78,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 				Mission = mission,
 				VehicleGroup = VehicleClassHelper.Parse(vehicleGroup),
 				SimulationParameter = simulationParams,
-				EnergyConsumption = energyConsumption
+				EnergyConsumption = energyConsumption,
+				CO2 = new Dictionary<string, double>()
 			};
 		}
 
diff --git a/VectoCore/VectoCore/InputData/Impl/InputData.cs b/VectoCore/VectoCore/InputData/Impl/InputData.cs
index 9cbab67dcbf0346eb162b828a3119e8af60a3398..9a7aac3b37dbd15f3771029eebd87ba1b009ebfd 100644
--- a/VectoCore/VectoCore/InputData/Impl/InputData.cs
+++ b/VectoCore/VectoCore/InputData/Impl/InputData.cs
@@ -220,6 +220,7 @@ namespace TUGraz.VectoCore.InputData.Impl
 		public MissionType Mission { get; internal set; }
 		public ISimulationParameter SimulationParameter { get; internal set; }
 		public Dictionary<FuelType, JoulePerMeter> EnergyConsumption { get; set; }
+		public Dictionary<string, double> CO2 { get; set; }
 	}
 
 	public class SimulationParameter : ISimulationParameter
diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/DrivingCycleDataReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/DrivingCycleDataReader.cs
index 289964de821b325dced5ee6ece54891d3b5bd342..0bbc21bd59f757fab66cc12c7bd991126955867c 100644
--- a/VectoCore/VectoCore/InputData/Reader/ComponentData/DrivingCycleDataReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/DrivingCycleDataReader.cs
@@ -345,7 +345,7 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData
 			public const string TorqueConverterActive = "tc_active";
 			public const string PTOActive = "PTO";
 			public const string Highway = "HW";
-			public const string VTPPSCompressorActive = "ps_comp_active";
+			public const string VTPPSCompressorActive = "PS_comp_active";
 		}
 
 		#region DataParser
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs
index 18c2053e7cedb7720f0c826879767d4da05d91f6..38c89f5b2f28c75f34c2d52dcd60bd40b1e270af 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs
@@ -161,7 +161,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			IVehicleDeclarationInputData completedVehicle)
 		{
 			return new PneumaticUserInputsConfig {
-				CompressorMap = GetCompressorMap(primaryBusAuxiliaries.PneumaticSupply.CompressorSize, primaryBusAuxiliaries.PneumaticSupply.Clutch),
+				CompressorMap = DeclarationData.BusAuxiliaries.GetCompressorMap(primaryBusAuxiliaries.PneumaticSupply.CompressorSize, primaryBusAuxiliaries.PneumaticSupply.Clutch),
 				CompressorGearEfficiency = Constants.BusAuxiliaries.PneumaticUserConfig.CompressorGearEfficiency,
 				CompressorGearRatio = primaryBusAuxiliaries.PneumaticSupply.Ratio,
 				SmartAirCompression = primaryBusAuxiliaries.PneumaticSupply.SmartAirCompression,
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
index 839986ef7fa87406253bf4e626cf82039af6561a..bba6f4bb14038e6a97ea9a6c567176b9364ffed2 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
@@ -254,7 +254,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 				KneelingHeight = VectoMath.Max(0.SI<Meter>(), mission.BusParameter.EntranceHeight - Constants.BusParameters.EntranceHeight),
 				CompressorGearEfficiency = Constants.BusAuxiliaries.PneumaticUserConfig.CompressorGearEfficiency,
 				CompressorGearRatio = busAux.PneumaticSupply.Ratio,
-				CompressorMap = GetCompressorMap(busAux.PneumaticSupply.CompressorSize, busAux.PneumaticSupply.Clutch),
+				CompressorMap = DeclarationData.BusAuxiliaries.GetCompressorMap(busAux.PneumaticSupply.CompressorSize, busAux.PneumaticSupply.Clutch),
 				SmartAirCompression = busAux.PneumaticSupply.SmartAirCompression,
 				SmartRegeneration = busAux.PneumaticSupply.SmartRegeneration,
 				AdBlueDosing = busAux.PneumaticConsumers.AdBlueDosing,
@@ -263,39 +263,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			};
 		}
 
-		protected virtual ICompressorMap GetCompressorMap(string compressorSize, string clutchType)
-		{
-			var resource = "";
-			switch (compressorSize) {
-				case "Small":
-					resource = "DEFAULT_1-Cylinder_1-Stage_393ccm.acmp";
-					break;
-				case "Medium Supply 1-stage":
-					resource = "DEFAULT_1-Cylinder_1-Stage_393ccm.acmp";
-					break;
-				case "Medium Supply 2-stage":
-					resource = "DEFAULT_2-Cylinder_1-Stage_650ccm.acmp";
-					break;
-				case "Large Supply 1-stage":
-					resource = "DEFAULT_2-Cylinder_2-Stage_398ccm.acmp";
-					break;
-				case "Large Supply 2-stage":
-					resource = "DEFAULT_3-Cylinder_2-Stage_598ccm.acmp";
-					break;
-				default: throw new ArgumentException(string.Format("unkown compressor size {0}"), compressorSize);
-			}
-
-			var dragCurveFactorClutch = 1.0;
-			switch (clutchType) {
-				case "visco": dragCurveFactorClutch = Constants.BusAuxiliaries.PneumaticUserConfig.ViscoClutchDragCurveFactor;
-					break;
-				case "mechanically": dragCurveFactorClutch = Constants.BusAuxiliaries.PneumaticUserConfig.MechanicClutchDragCurveFactor;
-					break;
-			}
-
-			return CompressorMapReader.ReadStream(
-				RessourceHelper.ReadStream(DeclarationData.DeclarationDataResourcePrefix + ".VAUXBus." + resource), dragCurveFactorClutch, $"{compressorSize} - {clutchType}");
-		}
+		
 
 		public SSMInputs GetDefaulSSMInputs(IFuelProperties heatingFuel)
 		{
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs
index 306e70d97cfd24709f9500fed1bc4ff72c35cdd1..e777aae12cdfb4fb69ac16f8c2daca7954a8cea2 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryHeavyBusPrimary.cs
@@ -1,13 +1,18 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using TUGraz.VectoCommon.BusAuxiliaries;
+using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
+using TUGraz.VectoCore.Models.SimulationComponent.Data;
+using TUGraz.VectoCore.Models.SimulationComponent.Impl;
 using TUGraz.VectoCore.OutputData;
 
 namespace TUGraz.VectoCore.InputData.Reader.Impl {
@@ -31,16 +36,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl {
 		} }
 
 
-		protected override IEnumerable<VectoRunData.AuxData> GetAuxiliaryData(MissionType missionType)
-		{
-			// TODO MQ: length?
-			return Dao.CreateAuxiliaryData(
-				JobInputData.Vehicle.Components.AuxiliaryInputData,
-				JobInputData.Vehicle.Components.BusAuxiliaries,
-				missionType,
-				Segment.VehicleClass, 10.SI<Meter>());
-
-		}
+		
 
 		#endregion
 
@@ -55,8 +51,12 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl {
 			var tempVehicle = Dao.CreateVehicleData(
 				vehicle, Segment, Segment.Missions.First(),
 				Segment.Missions.First().Loadings.First());
+			tempVehicle.VehicleClass = JobInputData.ManufacturerReportInputData.VehicleClass;
+			tempVehicle.VehicleCode = JobInputData.ManufacturerReportInputData.VehicleCode;
 
-			var vtpMission = DeclarationData.VTPMode.SelectedMissionHeavyBus;
+			var vtpMission = tempVehicle.VehicleCode.GetFloorType() == FloorType.LowFloor
+				? DeclarationData.VTPMode.SelectedMissionLowFloorBus
+				: DeclarationData.VTPMode.SelectedMissionHighFloorBus;
 			AirdragData = Dao.CreateAirdragData(
 				vehicle.Components.AirdragInputData,
 				Segment.Missions.First(), Segment);
@@ -82,22 +82,175 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl {
 			AuxVTP = CreateVTPAuxData(vehicle);
 		}
 
+		protected override void InitializeReport()
+		{
+			var vehicle = JobInputData.Vehicle;
+			var tempVehicle = Dao.CreateVehicleData(
+				vehicle, Segment, Segment.Missions.First(),
+				Segment.Missions.First().Loadings.First());
+			tempVehicle.VehicleClass = JobInputData.ManufacturerReportInputData.VehicleClass;
+			tempVehicle.VehicleCode = JobInputData.ManufacturerReportInputData.VehicleCode;
+			var powertrainConfig = new VectoRunData() {
+				VehicleData = tempVehicle,
+				AirdragData = AirdragData,
+				EngineData = EngineData,
+				GearboxData = GearboxData,
+				AxleGearData = AxlegearData,
+				Retarder = RetarderData,
+				Aux = GetAuxiliaryData(Segment.Missions.First().MissionType),
+			};
+			//powertrainConfig.VehicleData.VehicleClass = Segment.VehicleClass;
+			Report.InputDataHash = JobInputData.VectoJobHash;
+			Report.ManufacturerRecord = JobInputData.ManufacturerReportInputData;
+			Report.ManufacturerRecordHash = JobInputData.VectoManufacturerReportHash;
+			var fuels = JobInputData.Vehicle.Components.EngineInputData.EngineModes.Select(
+										x => x.Fuels.Select(f => DeclarationData.FuelData.Lookup(f.FuelType, JobInputData.Vehicle.TankSystem))
+											.ToList())
+									.ToList();
+			Report.InitializeReport(powertrainConfig, fuels);
+		}
+
 		protected virtual List<VectoRunData.AuxData> CreateVTPAuxData(IVehicleDeclarationInputData vehicle)
 		{
-			return new List<VectoRunData.AuxData>();
+			// used to fill VECTO RunData for VTP mission.
+			
+			var retVal =  new List<VectoRunData.AuxData>();
+
+			var electricEfficiency =
+				Constants.BusAuxiliaries.ElectricSystem.AlternatorGearEfficiency *
+				DeclarationData.BusAuxiliaries.AlternatorTechnologies.Lookup("default");
+
+			// TODO: vehicle length from MRF
+
+			var spPowerDemand = DeclarationData.SteeringPumpBus.LookupMechanicalPowerDemand(
+									MissionType.VerificationTest, JobInputData.Vehicle.Components.BusAuxiliaries.SteeringPumpTechnology,
+									JobInputData.ManufacturerReportInputData.VehicleLength)
+								+
+								DeclarationData.SteeringPumpBus.LookupElectricalPowerDemand(
+									MissionType.VerificationTest, JobInputData.Vehicle.Components.BusAuxiliaries.SteeringPumpTechnology,
+									JobInputData.ManufacturerReportInputData.VehicleLength) / electricEfficiency;
+
+			retVal.Add(
+				new VectoRunData.AuxData() {
+					DemandType = AuxiliaryDemandType.Constant,
+					Technology = JobInputData.Vehicle.Components.BusAuxiliaries.SteeringPumpTechnology,
+					ID = Constants.Auxiliaries.IDs.SteeringPump,
+					PowerDemand = spPowerDemand
+				});
+
+			retVal.Add(
+				new VectoRunData.AuxData() {
+					DemandType = AuxiliaryDemandType.Constant,
+					Technology = new List<string>() { "default"},
+					ID = Constants.Auxiliaries.IDs.ElectricSystem,
+					PowerDemand = Constants.BusAuxiliaries.ElectricSystem.PowernetVoltage * 32.4.SI<Ampere>() / electricEfficiency
+				});
+			retVal.Add(new VectoRunData.AuxData() {
+				DemandType = AuxiliaryDemandType.Constant,
+				Technology = new List<string>() { "default"},
+				ID = Constants.Auxiliaries.IDs.HeatingVentilationAirCondition,
+				PowerDemand = 350.SI<Watt>()
+			});
+
+			var busAux = vehicle.Components.BusAuxiliaries;
+			var psCompressor = DeclarationData.BusAuxiliaries.GetCompressorMap(busAux.PneumaticSupply.CompressorSize, busAux.PneumaticSupply.Clutch);
+			retVal.Add(new VectoRunData.AuxData() {
+				DemandType = AuxiliaryDemandType.Direct,
+				Technology = new List<string>() { busAux.PneumaticSupply.CompressorSize + " / " + busAux.PneumaticSupply.Clutch},
+				ID = Constants.Auxiliaries.IDs.PneumaticSystem,
+				PowerDemandFunc = cycleEntry => {
+					var cmp = psCompressor.Interpolate(cycleEntry.EngineSpeed * busAux.PneumaticSupply.Ratio);
+					return cycleEntry.VTPPSCompressorActive ? cmp.PowerOn : cmp.PowerOff;
+				}
+			});
+
+			var fanData = GetFanData();
+			var engineFan = new EngineFanAuxiliary(fanData.FanCoefficients, fanData.FanDiameter);
+			retVal.Add( new VectoRunData.AuxData() {
+				DemandType = AuxiliaryDemandType.Direct,
+				Technology = new List<string>() { "default"},
+				ID = Constants.Auxiliaries.IDs.Fan,
+				PowerDemandFunc = cycleEntry => engineFan.PowerDemand(cycleEntry.FanSpeed)
+			});
+			
+			return retVal;
 		}
 
-		public override IEnumerable<VectoRunData> NextRun()
+		protected override IEnumerable<VectoRunData.AuxData> GetAuxiliaryData(MissionType missionType)
 		{
-			throw new NotImplementedException();
+			// used for initializing XML report,
+			return AuxVTP;
 		}
 
 		protected override AuxFanData GetFanData()
 		{
 			return new AuxFanData() {
-				FanCoefficients = JobInputData.FanPowerCoefficents.ToArray(),
+				FanCoefficients = DeclarationData.VTPMode.FanParameters,
 				FanDiameter = JobInputData.FanDiameter,
 			};
 		}
+
+		public override IEnumerable<VectoRunData> NextRun()
+		{
+			if (InitException != null) {
+				throw InitException;
+			}
+
+			// simulate the VTP reference cycle with RefLoad
+			var vtpMission = JobInputData.Vehicle.VehicleCode.GetFloorType() == FloorType.LowFloor
+				? DeclarationData.VTPMode.SelectedMissionLowFloorBus
+				: DeclarationData.VTPMode.SelectedMissionHighFloorBus;
+			var mission = Segment.Missions.FirstOrDefault(m => m.MissionType == vtpMission);
+			if (mission == null) {
+				throw new VectoException("Mission {0} not found in segmentation matrix", DeclarationData.VTPMode.SelectedMissionHeavyLorry);
+			}
+			var loading = mission.Loadings.FirstOrDefault(l => l.Key == DeclarationData.VTPMode.SelectedLoading);
+			var runData = CreateVectoRunData(Segment, mission, loading.Value);
+			runData.ModFileSuffix = loading.Key.ToString();
+			var cycle = DrivingCycleDataReader.ReadFromStream(mission.CycleFile, CycleType.DistanceBased, "", false);
+			runData.Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString());
+			runData.DriverData = Driverdata;
+			runData.Aux = GetAuxiliaryData(mission.MissionType);
+
+			runData.ExecutionMode = ExecutionMode.Declaration;
+			runData.SimulationType = SimulationType.DistanceCycle;
+			runData.Mission = mission;
+			runData.Loading = loading.Key;
+			runData.VehicleData.VehicleClass = Segment.VehicleClass;
+			runData.VehicleData.LegislativeClass = JobInputData.Vehicle.LegislativeClass;
+			//yield return runData;
+
+			// simulate the Measured cycle
+			var vtpCycle = JobInputData.Cycles.FirstOrDefault();
+			if (vtpCycle == null) {
+				throw new VectoException("no VTP-Cycle provided!");
+			}
+
+			var drivingCycle = DrivingCycleDataReader.ReadFromDataTable(vtpCycle.CycleData, vtpCycle.Name, false);
+
+			// Loading is not relevant as we use P_wheel
+			var vtpRunData = CreateVectoRunData(Segment, Segment.Missions.First(), Tuple.Create<Kilogram, double?>(0.SI<Kilogram>(), null));
+			vtpRunData.Cycle = new DrivingCycleProxy(drivingCycle, vtpCycle.Name);
+			vtpRunData.Aux = AuxVTP;
+			vtpRunData.FanDataVTP = GetFanData();
+			vtpRunData.ExecutionMode = ExecutionMode.Declaration;
+			vtpRunData.SimulationType = SimulationType.VerificationTest;
+			vtpRunData.Mission = new Mission() {
+				MissionType = MissionType.VerificationTest
+			};
+			vtpRunData.VehicleData.VehicleClass = JobInputData.ManufacturerReportInputData.VehicleClass; //Segment.VehicleClass;
+			vtpRunData.VehicleData.VehicleCode = JobInputData.ManufacturerReportInputData.VehicleCode;
+			vtpRunData.VehicleData.LegislativeClass = JobInputData.Vehicle.LegislativeClass;
+
+			//var ncvStd = DeclarationData.FuelData.Lookup(JobInputData.Vehicle.Components.EngineInputData.FuelType).LowerHeatingValueVecto;
+			//var ncvCorrection = ncvStd / JobInputData.NetCalorificValueTestFuel;
+			var mileageCorrection = GetMileagecorrectionFactor(JobInputData.Mileage);
+			vtpRunData.VTPData = new VTPData() {
+				CorrectionFactor = mileageCorrection,
+			};
+			yield return vtpRunData;
+		}
+
+		
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs
index 85e06a554a3cf717f04355c1250a613bdd77b4df..2377dacd8194b73cfba4ff3db7edfe568658f70d 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs
@@ -192,7 +192,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 			var vtpRunData = CreateVectoRunData(Segment, Segment.Missions.First(), Tuple.Create<Kilogram, double?>(0.SI<Kilogram>(), null));
 			vtpRunData.Cycle = new DrivingCycleProxy(drivingCycle, vtpCycle.Name);
 			vtpRunData.Aux = AuxVTP;
-			vtpRunData.FanData = GetFanData();
+			vtpRunData.FanDataVTP = GetFanData();
 			vtpRunData.ExecutionMode = ExecutionMode.Declaration;
 			vtpRunData.SimulationType = SimulationType.VerificationTest;
 			vtpRunData.Mission = new Mission() {
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactoryHeavyBusPrimary.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactoryHeavyBusPrimary.cs
index cdc28d0501cd1147acfc4da0a9b4509e0f98d35e..5719f2df4b9482edd6ddef330061d10042427c44 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactoryHeavyBusPrimary.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactoryHeavyBusPrimary.cs
@@ -25,11 +25,19 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl {
 					var runData = CreateVectoRunData(Segment, Segment.Missions.First(), new Tuple<Kilogram, double?>(0.SI<Kilogram>(), null));
 					runData.Cycle = new DrivingCycleProxy(drivingCycle, cycle.Name);
 					runData.Aux = AuxVTP;
-					runData.FanData = GetFanData();
+					runData.FanDataVTP = GetFanData();
 					runData.ExecutionMode = ExecutionMode.Engineering;
 					runData.SimulationType = SimulationType.VerificationTest;
 					return runData;
 				});
 		}
+
+		protected override AuxFanData GetFanData()
+		{
+			return new AuxFanData() {
+				FanCoefficients = JobInputData.FanPowerCoefficents.ToArray(),
+				FanDiameter = JobInputData.FanDiameter,
+			};
+		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactoryLorries.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactoryLorries.cs
index 3591a7220722646836c631cd5c4ab6f99f64c5cc..4e91242e92e1b72da0237497907981daf719ebae 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactoryLorries.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactoryLorries.cs
@@ -63,7 +63,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 					var runData = CreateVectoRunData(Segment, Segment.Missions.First(), new Tuple<Kilogram, double?>(0.SI<Kilogram>(), null));
 					runData.Cycle = new DrivingCycleProxy(drivingCycle, cycle.Name);
 					runData.Aux = AuxVTP;
-					runData.FanData = GetFanData();
+					runData.FanDataVTP = GetFanData();
 					runData.ExecutionMode = ExecutionMode.Engineering;
 					runData.SimulationType = SimulationType.VerificationTest;
 					return runData;
diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
index 31c98842d43d268ea9968c9f994aac0aed10b98c..cb6d617bea87e318ed424245094e6ad2ae13d30e 100644
--- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
+++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
@@ -163,6 +163,42 @@ namespace TUGraz.VectoCore.Models.Declaration
 			//	}
 			//}
 
+			public static ICompressorMap GetCompressorMap(string compressorSize, string clutchType)
+			{
+				var resource = "";
+				switch (compressorSize) {
+					case "Small":
+						resource = "DEFAULT_1-Cylinder_1-Stage_393ccm.acmp";
+						break;
+					case "Medium Supply 1-stage":
+						resource = "DEFAULT_1-Cylinder_1-Stage_393ccm.acmp";
+						break;
+					case "Medium Supply 2-stage":
+						resource = "DEFAULT_2-Cylinder_1-Stage_650ccm.acmp";
+						break;
+					case "Large Supply 1-stage":
+						resource = "DEFAULT_2-Cylinder_2-Stage_398ccm.acmp";
+						break;
+					case "Large Supply 2-stage":
+						resource = "DEFAULT_3-Cylinder_2-Stage_598ccm.acmp";
+						break;
+					default: throw new ArgumentException(string.Format("unkown compressor size {0}"), compressorSize);
+				}
+
+				var dragCurveFactorClutch = 1.0;
+				switch (clutchType) {
+					case "visco":
+						dragCurveFactorClutch = Constants.BusAuxiliaries.PneumaticUserConfig.ViscoClutchDragCurveFactor;
+						break;
+					case "mechanically":
+						dragCurveFactorClutch = Constants.BusAuxiliaries.PneumaticUserConfig.MechanicClutchDragCurveFactor;
+						break;
+				}
+
+				return CompressorMapReader.ReadStream(
+					RessourceHelper.ReadStream(DeclarationData.DeclarationDataResourcePrefix + ".VAUXBus." + resource), dragCurveFactorClutch, $"{compressorSize} - {clutchType}");
+			}
+
 			public static BusAlternatorTechnologies AlternatorTechnologies = new BusAlternatorTechnologies();
 			private static HVACCoolingPower hvacMaxCoolingPower;
 
@@ -989,7 +1025,8 @@ namespace TUGraz.VectoCore.Models.Declaration
 			public const MissionType SelectedMissionHeavyLorry = MissionType.LongHaul;
 			public const MissionType SelectedMissionMediumLorry = MissionType.RegionalDelivery;
 
-			public const MissionType SelectedMissionHeavyBus = MissionType.Coach;
+			public const MissionType SelectedMissionLowFloorBus = MissionType.Urban;
+			public const MissionType SelectedMissionHighFloorBus = MissionType.Coach;
 
 			public const LoadingType SelectedLoading = LoadingType.ReferenceLoad;
 
diff --git a/VectoCore/VectoCore/Models/Declaration/SteeringPumpBus.cs b/VectoCore/VectoCore/Models/Declaration/SteeringPumpBus.cs
index 35d34077a4dd0d9f3c0076980996bb9b0d3133bc..abd714d99c18d8ceaa3719ac9c50920a51632df0 100644
--- a/VectoCore/VectoCore/Models/Declaration/SteeringPumpBus.cs
+++ b/VectoCore/VectoCore/Models/Declaration/SteeringPumpBus.cs
@@ -88,7 +88,7 @@ namespace TUGraz.VectoCore.Models.Declaration {
 			protected override void ParseData(DataTable table)
 			{
 				var missionTypes = Enum.GetValues(typeof(MissionType)).Cast<MissionType>().Where(
-					m => m.IsDeclarationMission() && m != MissionType.ExemptedMission &&
+					m => ((m.IsDeclarationMission() && m != MissionType.ExemptedMission) || m == MissionType.VerificationTest) &&
 						table.Columns.Contains("tubing-" + m.ToString())).ToList();
 
 				foreach (DataRow row in table.Rows) {
diff --git a/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs b/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs
index 7e8e66d3532d69e7a475e72477232d5e5bc770e3..bfea35f35a50646a98a72cfc71da66d55a32485e 100644
--- a/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Data/VectoRunData.cs
@@ -29,6 +29,7 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
+using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
 using System.Linq;
@@ -116,7 +117,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
 
 		public int JobRunId { get; internal set; }
 
-		public AuxFanData FanData { get; internal set; }
+		public AuxFanData FanDataVTP { get; internal set; }
 
 		public SimulationType SimulationType { get; set; }
 
@@ -140,6 +141,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
 
 			[SIRange(0, 100 * Constants.Kilo)] public Watt PowerDemand;
 
+			public Func<DrivingCycleData.DrivingCycleEntry, Watt> PowerDemandFunc;
+
 			[Required] public AuxiliaryDemandType DemandType;
 
 			[ValidateObject] public AuxiliaryData Data;
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
index 879220173e3d4fe9c7976c3a190b4076e4f05d2e..636240c37d84ff427cef54c4aa106bcc01df5703 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
@@ -161,12 +161,11 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 				.AddComponent(new Clutch(container, data.EngineData));
 			var engine = new VTPCombustionEngine(container, data.EngineData, pt1Disabled: true);
 
-			var aux = CreateSpeedDependentAuxiliaries(data, container);
-			var engineFan = new EngineFanAuxiliary(data.FanData.FanCoefficients, data.FanData.FanDiameter);
-			aux.AddCycle(Constants.Auxiliaries.IDs.Fan, cycleEntry => engineFan.PowerDemand(cycleEntry.FanSpeed));
-			container.ModalData.AddAuxiliary(Constants.Auxiliaries.IDs.Fan);
-
-			engine.Connect(aux.Port());
+			if (data.VehicleData.VehicleCategory.IsLorry()) {
+				AddVTPTruckAuxiliaries(data, container, engine);
+			} else if (data.VehicleData.VehicleCategory.IsBus()) {
+				AddVTPBusAuxiliaries(data, container, engine);
+			}
 
 			var idleController = new CombustionEngine.CombustionEngineNoDubleclutchIdleController(engine, container);
 			//if (data.PTO != null && data.PTO.PTOCycle != null) {
@@ -180,6 +179,46 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 			return container;
 		}
 
+		private void AddVTPBusAuxiliaries(VectoRunData data, VehicleContainer container, VTPCombustionEngine engine)
+		{
+			var aux = new EngineAuxiliary(container);
+			foreach (var auxData in data.Aux) {
+				// id's in upper case
+				var id = auxData.ID.ToUpper();
+
+				switch (auxData.DemandType) {
+					case AuxiliaryDemandType.Constant:
+						aux.AddConstant(id, auxData.PowerDemand);
+						break;
+					case AuxiliaryDemandType.Direct:
+						if (auxData.PowerDemandFunc == null) {
+							aux.AddCycle(id);
+						} else {
+							aux.AddCycle(id, auxData.PowerDemandFunc);
+						}
+						break;
+					case AuxiliaryDemandType.Mapping:
+						aux.AddMapping(id, auxData.Data);
+						break;
+					default:
+						throw new ArgumentOutOfRangeException("AuxiliaryDemandType", auxData.DemandType.ToString());
+				}
+				container.ModalData?.AddAuxiliary(id);
+			}
+			
+
+			engine.Connect(aux.Port());
+		}
+
+		private void AddVTPTruckAuxiliaries(VectoRunData data, VehicleContainer container, VTPCombustionEngine engine)
+		{
+			var aux = CreateSpeedDependentAuxiliaries(data, container);
+			var engineFan = new EngineFanAuxiliary(data.FanDataVTP.FanCoefficients, data.FanDataVTP.FanDiameter);
+			aux.AddCycle(Constants.Auxiliaries.IDs.Fan, cycleEntry => engineFan.PowerDemand(cycleEntry.FanSpeed));
+			container.ModalData.AddAuxiliary(Constants.Auxiliaries.IDs.Fan);
+
+			engine.Connect(aux.Port());
+		}
 
 
 		private IVehicleContainer BuildMeasuredSpeed(VectoRunData data)
diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
index 5254537a579c5df07099c43ac638ea7320440ba4..df89f178b4995ecf2b7f0d53f188ba2ebaa87e85 100644
--- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
@@ -226,8 +226,7 @@ namespace TUGraz.VectoCore.OutputData
 
 				var probablyEmptyCols = new[] { Fields.E_WHEEL, Fields.SPECIFIC_FC }.Select(x => x.Contains("{") ? x.Substring(0, x.IndexOf("{")) : x).ToArray();
 				var removeCandidates =
-					view.Columns.Cast<DataColumn>().Where(column => column.ColumnName.StartsWith(Fields.INTERNAL_PREFIX) || 
-					probablyEmptyCols.Any(x => column.ColumnName.StartsWith(x))).ToList();
+					view.Columns.Cast<DataColumn>().Where(column => probablyEmptyCols.Any(x => column.ColumnName.StartsWith(x))).ToList();
 				var toRemove = new List<string>();
 				foreach (var column in removeCandidates) {
 					//var column = view.Columns[colName];
@@ -236,6 +235,9 @@ namespace TUGraz.VectoCore.OutputData
 					}
 				}
 
+				toRemove = toRemove.Concat(
+					view.Columns.Cast<DataColumn>().Where(column => column.ColumnName.StartsWith(Fields.INTERNAL_PREFIX)).Select(x => x.ColumnName)).ToList();
+
 				foreach (var dataColumn in toRemove) {
 					view.Columns.Remove(dataColumn);
 				}
diff --git a/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Axles_Bus.csv b/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Axles_Bus.csv
index 70533feb9a01cf6b2c290211b434d081cf85f684..fd46c71ae273697216a91900136f71e45ec45a14 100644
--- a/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Axles_Bus.csv
+++ b/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Axles_Bus.csv
@@ -1,5 +1,5 @@
-AxleNbr , Heavy Urban , Urban , Suburban , Interurban , Coach
-1       , 800         , 750   , 700      , 650        , 550
-2       , 400         , 400   , 400      , 400        , 400
-3       , 400         , 400   , 400      , 400        , 400
-4       , 400         , 400   , 400      , 400        , 400
\ No newline at end of file
+AxleNbr , Heavy Urban , Urban , Suburban , Interurban , Coach , VerificationTest
+1       , 800         , 750   , 700      , 650        , 550   , 690
+2       , 400         , 400   , 400      , 400        , 400   , 400
+3       , 400         , 400   , 400      , 400        , 400   , 400
+4       , 400         , 400   , 400      , 400        , 400   , 400
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Factors_Bus.csv b/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Factors_Bus.csv
index af9cf0587102a8fc4844841cf824b9dfcb5713aa..ecbbf8d08e27e1c138153fbd11a7bddd6ae2d43c 100644
--- a/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Factors_Bus.csv
+++ b/VectoCore/VectoCore/Resources/Declaration/VAUXBus/SP-Factors_Bus.csv
@@ -1,9 +1,9 @@
-Technology                             , fullyelectric , tubing - Heavy Urban , tubing - Urban , tubing - Suburban , tubing - Interurban , tubing - Coach , axle - Heavy Urban , axle - Urban , axle - Suburban , axle - Interurban , axle - Coach
-Fixed displacement                     , 0             , 1.00                 , 1.00           , 1.00              , 1.00                , 1.00           , 1.00               , 1.00         , 1.00            , 1.00              , 1.00
-Fixed displacement with elec. control  , 0             , 0.95                 , 0.95           , 0.95              , 0.95                , 0.95           , 1.00               , 1.00         , 1.00            , 1.00              , 1.00
-Dual displacement with mech. control   , 0             , 0.85                 , 0.85           , 0.85              , 0.85                , 0.85           , 0.85               , 0.85         , 0.85            , 0.85              , 0.85
-Dual displacement with elec. control   , 0             , 0.80                 , 0.80           , 0.80              , 0.80                , 0.80           , 0.85               , 0.85         , 0.85            , 0.85              , 0.85
-Variable displacement mech. controlled , 0             , 0.75                 , 0.75           , 0.75              , 0.75                , 0.75           , 0.75               , 0.75         , 0.75            , 0.75              , 0.75
-Variable displacement elec. controlled , 0             , 0.60                 , 0.60           , 0.60              , 0.60                , 0.60           , 0.60               , 0.60         , 0.60            , 0.60              , 0.60
-Electric driven pump                   , 1             , 0.25                 , 0.25           , 0.25              , 0.25                , 0.25           , 0.25               , 0.25         , 0.25            , 0.25              , 0.25
-Full electric steering gear            , 1             , 0.00                 , 0.00           , 0.00              , 0.00                , 0.00           , 0.10               , 0.10         , 0.10            , 0.10              , 0.10
\ No newline at end of file
+Technology                             , fullyelectric , tubing - Heavy Urban , tubing - Urban , tubing - Suburban , tubing - Interurban , tubing - Coach , axle - Heavy Urban , axle - Urban , axle - Suburban , axle - Interurban , axle - Coach , axle - VerificationTest , tubing - VerificationTest
+Fixed displacement                     , 0             , 1.00                 , 1.00           , 1.00              , 1.00                , 1.00           , 1.00               , 1.00         , 1.00            , 1.00              , 1.00         , 1.0                     , 1.0
+Fixed displacement with elec. control  , 0             , 0.95                 , 0.95           , 0.95              , 0.95                , 0.95           , 1.00               , 1.00         , 1.00            , 1.00              , 1.00         , 1.0                     , 0.95
+Dual displacement with mech. control   , 0             , 0.85                 , 0.85           , 0.85              , 0.85                , 0.85           , 0.85               , 0.85         , 0.85            , 0.85              , 0.85         , 0.85                    , 0.85
+Dual displacement with elec. control   , 0             , 0.80                 , 0.80           , 0.80              , 0.80                , 0.80           , 0.85               , 0.85         , 0.85            , 0.85              , 0.85         , 0.85                    , 0.8
+Variable displacement mech. controlled , 0             , 0.75                 , 0.75           , 0.75              , 0.75                , 0.75           , 0.75               , 0.75         , 0.75            , 0.75              , 0.75         , 0.75                    , 0.75
+Variable displacement elec. controlled , 0             , 0.60                 , 0.60           , 0.60              , 0.60                , 0.60           , 0.60               , 0.60         , 0.60            , 0.60              , 0.60         , 0.6                     , 0.6
+Electric driven pump                   , 1             , 0.25                 , 0.25           , 0.25              , 0.25                , 0.25           , 0.25               , 0.25         , 0.25            , 0.25              , 0.25         , 0.25                    , 0.25
+Full electric steering gear            , 1             , 0.00                 , 0.00           , 0.00              , 0.00                , 0.00           , 0.10               , 0.10         , 0.10            , 0.10              , 0.10         , 0.1                     , 0.0
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Resources/XSD/VTPReport.0.2.xsd b/VectoCore/VectoCore/Resources/XSD/VTPReport.0.2.xsd
index 0e10187de05639c0a6a93ae2e0a65fd0784902e1..c18b4c69b15175c0d43b0dc18ca1849d97b893cf 100644
--- a/VectoCore/VectoCore/Resources/XSD/VTPReport.0.2.xsd
+++ b/VectoCore/VectoCore/Resources/XSD/VTPReport.0.2.xsd
@@ -54,30 +54,55 @@
 	</xs:complexType>
 	<xs:complexType name="AuxiliariesType">
 		<xs:sequence>
-			<xs:element name="FanTechnology" type="vdecdef:AuxFanTechnologyType">
+			<xs:element name="FanTechnology">
 				<xs:annotation>
 					<xs:documentation>P181</xs:documentation>
 				</xs:annotation>
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:minLength value="1"/>
+					</xs:restriction>
+				</xs:simpleType>
 			</xs:element>
-			<xs:element name="SteeringPumpTechnology" type="vdecdef:AuxSPTechnologyType" maxOccurs="4">
+			<xs:element name="SteeringPumpTechnology" maxOccurs="4">
 				<xs:annotation>
 					<xs:documentation>P182</xs:documentation>
 				</xs:annotation>
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:minLength value="1"/>
+					</xs:restriction>
+				</xs:simpleType>
 			</xs:element>
-			<xs:element name="ElectricSystemTechnology" type="vdecdef:AuxESTechnologyType">
+			<xs:element name="ElectricSystemTechnology">
 				<xs:annotation>
 					<xs:documentation>P183</xs:documentation>
 				</xs:annotation>
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:minLength value="1"/>
+					</xs:restriction>
+				</xs:simpleType>
 			</xs:element>
-			<xs:element name="PneumaticSystemTechnology" type="vdecdef:AuxPSTechnologyType">
+			<xs:element name="PneumaticSystemTechnology">
 				<xs:annotation>
 					<xs:documentation>P184</xs:documentation>
 				</xs:annotation>
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:minLength value="1"/>
+					</xs:restriction>
+				</xs:simpleType>
 			</xs:element>
-			<xs:element name="HVACTechnology" type="vdecdef:AuxHVACTechnologyType">
+			<xs:element name="HVACTechnology">
 				<xs:annotation>
 					<xs:documentation>P185</xs:documentation>
 				</xs:annotation>
+				<xs:simpleType>
+					<xs:restriction base="xs:string">
+						<xs:minLength value="1"/>
+					</xs:restriction>
+				</xs:simpleType>
 			</xs:element>
 		</xs:sequence>
 	</xs:complexType>
@@ -498,10 +523,15 @@
 							<xs:documentation>P238</xs:documentation>
 						</xs:annotation>
 					</xs:element>
-					<xs:element name="LegislativeClass" type="vdecdef:LegislativeClassDeclarationType">
+					<xs:element name="LegislativeClass">
 						<xs:annotation>
 							<xs:documentation>P251</xs:documentation>
 						</xs:annotation>
+						<xs:simpleType>
+							<xs:restriction base="xs:string">
+								<xs:minLength value="1"/>
+							</xs:restriction>
+						</xs:simpleType>
 					</xs:element>
 					<xs:element name="VehicleGroup" type="VehicleGroupType">
 						<xs:annotation>
@@ -580,6 +610,7 @@
 	<xs:simpleType name="CO2UnitType">
 		<xs:restriction base="xs:token">
 			<xs:enumeration value="g/t-km"/>
+			<xs:enumeration value="g/p-km"/>
 		</xs:restriction>
 	</xs:simpleType>
 	<xs:simpleType name="DataIntegrityStatusType">
diff --git a/VectoCore/VectoCoreTest/Integration/VTP/VTPTest.cs b/VectoCore/VectoCoreTest/Integration/VTP/VTPTest.cs
index 97bc3a69840694586d56f17fb736d994eb145c92..a6d82e05842452f3f348a5d8f1e4f08019d4d7b7 100644
--- a/VectoCore/VectoCoreTest/Integration/VTP/VTPTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/VTP/VTPTest.cs
@@ -52,7 +52,8 @@ namespace TUGraz.VectoCore.Tests.Integration.VTP
 		}
 
 		[TestCase(@"TestData\Integration\VTPMode\GenericVehicle\class_5_generic vehicle.vecto"),
-		 TestCase(@"TestData\Integration\VTPMode\GenericVehicle\class_5_generic vehicle_noGear.vecto")]
+		 TestCase(@"TestData\Integration\VTPMode\GenericVehicle\class_5_generic vehicle_noGear.vecto"),
+		 TestCase(@"TestData\Integration\VTPMode\HeavyBus\VTP_PrimaryBus_ENG.vecto", TestName = "RunVTPHeavyPrimaryBus Engineering")]
 		public void RunVTP(string jobFile)
 		{
 			var fileWriter = new FileOutputWriter(jobFile);
@@ -101,7 +102,7 @@ namespace TUGraz.VectoCore.Tests.Integration.VTP
 
 			jobContainer.AddRuns(runsFactory);
 
-			Assert.AreEqual(2, jobContainer.Runs.Count);
+			Assert.AreEqual(1, jobContainer.Runs.Count);
 			//var i = 0;
 			//jobContainer.Runs[i].Run.Run();
 			//Assert.IsTrue(jobContainer.Runs[i].Run.FinishedWithoutErrors);
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/CompletedBus_34f.RSLT_MANUFACTURER.xml b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/CompletedBus_34f.RSLT_MANUFACTURER.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cc9ef9f69030f4e28c79762bbed3ac79a5b6c608
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/CompletedBus_34f.RSLT_MANUFACTURER.xml
@@ -0,0 +1,313 @@
+<?xml version="1.0" encoding="utf-8"?>
+<?xml-stylesheet href="https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/CSS/VectoReports.css"?>
+<mrf:VectoOutput xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:v0.8" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xmlns:mrf="urn:tugraz:ivt:VectoAPI:DeclarationOutput" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD//DEV/VectoOutputManufacturer.xsd">
+  <mrf:Data xsi:type="VectoOutputDataType" id="RESULT-b2d5a208fb6d49b09083">
+    <Vehicle xsi:type="VehicleCompletedBusType">
+      <PrimaryVehicle>
+        <Manufacturer>Generic Truck Manufacturer</Manufacturer>
+        <ManufacturerAddress>Street, ZIP City</ManufacturerAddress>
+        <AxleConfiguration>6x2</AxleConfiguration>
+        <InputDataSignature>
+          <di:Reference URI="#VEH-PrimaryBus_SmartPS">
+            <di:Transforms>
+              <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
+              <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+            </di:Transforms>
+            <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
+            <di:DigestValue>yNV23dnHfcDyF7ChIql/vlDKcJ6jbT/Y2cDGBS/C62U=</di:DigestValue>
+          </di:Reference>
+        </InputDataSignature>
+        <ManufacturerRecordSignature>
+          <di:Reference URI="#RESULT-98ebc4763abc4450914e">
+            <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>jA3s78sr2wiL6D2WQ29//BFE69F44UukDiEtmNWROmA=</di:DigestValue>
+          </di:Reference>
+        </ManufacturerRecordSignature>
+        <VehicleInformationSignature>
+          <di:Reference URI="#PIF-09283050f3974383a23a">
+            <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>MyHmMYmuZq4IMLyjDX3tqWXX7bJeLskdDcv6KzYXiGA=</di:DigestValue>
+          </di:Reference>
+        </VehicleInformationSignature>
+      </PrimaryVehicle>
+      <CompletedVehicle>
+        <Model>Sample Bus Model</Model>
+        <Manufacturer>Some Manufacturer</Manufacturer>
+        <ManufacturerAddress>Infinite Loop 1</ManufacturerAddress>
+        <VIN>VEH-1234567890</VIN>
+        <VehicleCategory>M3</VehicleCategory>
+        <VehicleGroup>34f</VehicleGroup>
+        <RegisteredClass>II+III</RegisteredClass>
+        <VehicleCode>CB</VehicleCode>
+        <CurbMassChassis unit="kg">19400</CurbMassChassis>
+        <TechnicalPermissibleMaximumLadenMass unit="t">25.00</TechnicalPermissibleMaximumLadenMass>
+        <VocationalVehicle>false</VocationalVehicle>
+        <ZeroEmissionVehicle>false</ZeroEmissionVehicle>
+        <HybridElectricHDV>false</HybridElectricHDV>
+        <DualFuelVehicle>false</DualFuelVehicle>
+        <SleeperCab>false</SleeperCab>
+        <RegisteredPassengers>
+          <LowerDeck>16</LowerDeck>
+          <UpperDeck>56</UpperDeck>
+        </RegisteredPassengers>
+        <LowEntry>true</LowEntry>
+        <HeightIntegratedBody>4.000</HeightIntegratedBody>
+        <VehicleLength>13.890</VehicleLength>
+        <VehicleWidth>2.550</VehicleWidth>
+        <DoorDriveTechnology>pneumatic</DoorDriveTechnology>
+        <Components xsi:type="ComponentsCompletedBusType">
+          <AirDrag>
+            <Model>Generic Model</Model>
+            <CertificationMethod>Measured</CertificationMethod>
+            <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+            <DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</DigestValue>
+            <CdxA>5.20</CdxA>
+          </AirDrag>
+          <Auxiliaries xmlns:aux="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xsi:type="aux:CompletedVehicleAuxiliaryDataDeclarationType">
+            <aux:ElectricSystem>
+              <aux:AlternatorTechnology>default</aux:AlternatorTechnology>
+              <aux:LEDLights>
+                <aux:Dayrunninglights>true</aux:Dayrunninglights>
+                <aux:Headlights>true</aux:Headlights>
+                <aux:Positionlights>true</aux:Positionlights>
+                <aux:Brakelights>true</aux:Brakelights>
+                <aux:Interiorlights>true</aux:Interiorlights>
+              </aux:LEDLights>
+            </aux:ElectricSystem>
+            <aux:HVAC>
+              <aux:SystemConfiguration>6</aux:SystemConfiguration>
+              <aux:CompressorType>
+                <aux:DriverAC>2-stage</aux:DriverAC>
+                <aux:PassengerAC>2-stage</aux:PassengerAC>
+              </aux:CompressorType>
+              <aux:AuxiliaryHeaterPower>30000</aux:AuxiliaryHeaterPower>
+              <aux:DoubleGlasing>true</aux:DoubleGlasing>
+              <aux:HeatPump>false</aux:HeatPump>
+              <aux:AdjustableAuxiliaryHeater>true</aux:AdjustableAuxiliaryHeater>
+              <aux:SeparateAirDistributionDucts>true</aux:SeparateAirDistributionDucts>
+            </aux:HVAC>
+          </Auxiliaries>
+        </Components>
+        <InputDataSignature>
+          <di:Reference>
+            <di:DigestMethod Algorithm="null" />
+            <di:DigestValue>NOT AVAILABLE</di:DigestValue>
+          </di:Reference>
+        </InputDataSignature>
+      </CompletedVehicle>
+    </Vehicle>
+    <Results>
+      <Status>success</Status>
+      <Result status="success" xsi:type="ResultCompletedVehicleSuccessType">
+        <Mission>Interurban</Mission>
+        <Distance unit="km">123.590</Distance>
+        <SimulationParametersPrimaryVehicle>
+          <TotalVehicleMass unit="kg">24802</TotalVehicleMass>
+          <Payload unit="kg">6952</Payload>
+          <PassengerCount>97.9</PassengerCount>
+          <FuelMode>single fuel mode</FuelMode>
+        </SimulationParametersPrimaryVehicle>
+        <SimulationParametersCompletedVehicle>
+          <TotalVehicleMass unit="kg">24512</TotalVehicleMass>
+          <Payload unit="kg">5112</Payload>
+          <PassengerCount>72.0</PassengerCount>
+        </SimulationParametersCompletedVehicle>
+        <VehiclePerformance>
+          <AverageSpeed unit="km/h">33.3</AverageSpeed>
+          <AverageDrivingSpeed unit="km/h">38.2</AverageDrivingSpeed>
+          <MinSpeed unit="km/h">0.0</MinSpeed>
+          <MaxSpeed unit="km/h">86.5</MaxSpeed>
+          <MaxDeceleration unit="m/s²">1.20</MaxDeceleration>
+          <MaxAcceleration unit="m/s²">1.10</MaxAcceleration>
+          <FullLoadDrivingtimePercentage>16.67</FullLoadDrivingtimePercentage>
+          <GearshiftCount>994</GearshiftCount>
+          <EngineSpeedDriving>
+            <Min unit="rpm">600.0</Min>
+            <Average unit="rpm">936.7</Average>
+            <Max unit="rpm">1855.8</Max>
+          </EngineSpeedDriving>
+          <AverageGearboxEfficiency unit="%">96.34</AverageGearboxEfficiency>
+          <AverageAxlegearEfficiency unit="%">95.23</AverageAxlegearEfficiency>
+        </VehiclePerformance>
+        <FuelConsumptionFactor>0.9840</FuelConsumptionFactor>
+        <Fuel type="Diesel CI">
+          <FuelConsumption unit="g/km">409.4</FuelConsumption>
+          <FuelConsumption unit="g/t-km">80.1</FuelConsumption>
+          <FuelConsumption unit="g/p-km">5.69</FuelConsumption>
+          <FuelConsumption unit="MJ/km">17.5</FuelConsumption>
+          <FuelConsumption unit="MJ/t-km">3.42</FuelConsumption>
+          <FuelConsumption unit="MJ/p-km">0.243</FuelConsumption>
+          <FuelConsumption unit="l/100km">49.0</FuelConsumption>
+          <FuelConsumption unit="l/t-km">0.0958</FuelConsumption>
+          <FuelConsumption unit="l/p-km">0.00680</FuelConsumption>
+        </Fuel>
+        <CO2 unit="g/km">1281.4</CO2>
+        <CO2 unit="g/t-km">250.7</CO2>
+        <CO2 unit="g/p-km">17.8</CO2>
+      </Result>
+      <Result status="success" xsi:type="ResultCompletedVehicleSuccessType">
+        <Mission>Interurban</Mission>
+        <Distance unit="km">123.590</Distance>
+        <SimulationParametersPrimaryVehicle>
+          <TotalVehicleMass unit="kg">19588</TotalVehicleMass>
+          <Payload unit="kg">1738</Payload>
+          <PassengerCount>24.5</PassengerCount>
+          <FuelMode>single fuel mode</FuelMode>
+        </SimulationParametersPrimaryVehicle>
+        <SimulationParametersCompletedVehicle>
+          <TotalVehicleMass unit="kg">21123</TotalVehicleMass>
+          <Payload unit="kg">1723</Payload>
+          <PassengerCount>24.3</PassengerCount>
+        </SimulationParametersCompletedVehicle>
+        <VehiclePerformance>
+          <AverageSpeed unit="km/h">33.6</AverageSpeed>
+          <AverageDrivingSpeed unit="km/h">38.6</AverageDrivingSpeed>
+          <MinSpeed unit="km/h">0.0</MinSpeed>
+          <MaxSpeed unit="km/h">86.5</MaxSpeed>
+          <MaxDeceleration unit="m/s²">1.23</MaxDeceleration>
+          <MaxAcceleration unit="m/s²">1.10</MaxAcceleration>
+          <FullLoadDrivingtimePercentage>13.15</FullLoadDrivingtimePercentage>
+          <GearshiftCount>995</GearshiftCount>
+          <EngineSpeedDriving>
+            <Min unit="rpm">600.0</Min>
+            <Average unit="rpm">926.7</Average>
+            <Max unit="rpm">1809.5</Max>
+          </EngineSpeedDriving>
+          <AverageGearboxEfficiency unit="%">96.46</AverageGearboxEfficiency>
+          <AverageAxlegearEfficiency unit="%">94.82</AverageAxlegearEfficiency>
+        </VehiclePerformance>
+        <FuelConsumptionFactor>1.046</FuelConsumptionFactor>
+        <Fuel type="Diesel CI">
+          <FuelConsumption unit="g/km">369.4</FuelConsumption>
+          <FuelConsumption unit="g/t-km">214.4</FuelConsumption>
+          <FuelConsumption unit="g/p-km">15.2</FuelConsumption>
+          <FuelConsumption unit="MJ/km">15.8</FuelConsumption>
+          <FuelConsumption unit="MJ/t-km">9.15</FuelConsumption>
+          <FuelConsumption unit="MJ/p-km">0.650</FuelConsumption>
+          <FuelConsumption unit="l/100km">44.2</FuelConsumption>
+          <FuelConsumption unit="l/t-km">0.256</FuelConsumption>
+          <FuelConsumption unit="l/p-km">0.0182</FuelConsumption>
+        </Fuel>
+        <CO2 unit="g/km">1156.2</CO2>
+        <CO2 unit="g/t-km">671.0</CO2>
+        <CO2 unit="g/p-km">47.6</CO2>
+      </Result>
+      <Result status="success" xsi:type="ResultCompletedVehicleSuccessType">
+        <Mission>Coach</Mission>
+        <Distance unit="km">275.176</Distance>
+        <SimulationParametersPrimaryVehicle>
+          <TotalVehicleMass unit="kg">19704</TotalVehicleMass>
+          <Payload unit="kg">1854</Payload>
+          <PassengerCount>26.1</PassengerCount>
+          <FuelMode>single fuel mode</FuelMode>
+        </SimulationParametersPrimaryVehicle>
+        <SimulationParametersCompletedVehicle>
+          <TotalVehicleMass unit="kg">21238</TotalVehicleMass>
+          <Payload unit="kg">1838</Payload>
+          <PassengerCount>25.9</PassengerCount>
+        </SimulationParametersCompletedVehicle>
+        <VehiclePerformance>
+          <AverageSpeed unit="km/h">64.4</AverageSpeed>
+          <AverageDrivingSpeed unit="km/h">66.2</AverageDrivingSpeed>
+          <MinSpeed unit="km/h">0.0</MinSpeed>
+          <MaxSpeed unit="km/h">102.5</MaxSpeed>
+          <MaxDeceleration unit="m/s²">1.25</MaxDeceleration>
+          <MaxAcceleration unit="m/s²">1.10</MaxAcceleration>
+          <FullLoadDrivingtimePercentage>14.89</FullLoadDrivingtimePercentage>
+          <GearshiftCount>179</GearshiftCount>
+          <EngineSpeedDriving>
+            <Min unit="rpm">600.0</Min>
+            <Average unit="rpm">1083.5</Average>
+            <Max unit="rpm">1810.7</Max>
+          </EngineSpeedDriving>
+          <AverageGearboxEfficiency unit="%">97.45</AverageGearboxEfficiency>
+          <AverageAxlegearEfficiency unit="%">91.58</AverageAxlegearEfficiency>
+        </VehiclePerformance>
+        <FuelConsumptionFactor>1.025</FuelConsumptionFactor>
+        <Fuel type="Diesel CI">
+          <FuelConsumption unit="g/km">276.0</FuelConsumption>
+          <FuelConsumption unit="g/t-km">150.2</FuelConsumption>
+          <FuelConsumption unit="g/p-km">10.7</FuelConsumption>
+          <FuelConsumption unit="MJ/km">11.8</FuelConsumption>
+          <FuelConsumption unit="MJ/t-km">6.41</FuelConsumption>
+          <FuelConsumption unit="MJ/p-km">0.455</FuelConsumption>
+          <FuelConsumption unit="l/100km">33.0</FuelConsumption>
+          <FuelConsumption unit="l/t-km">0.180</FuelConsumption>
+          <FuelConsumption unit="l/p-km">0.0128</FuelConsumption>
+        </Fuel>
+        <CO2 unit="g/km">863.8</CO2>
+        <CO2 unit="g/t-km">470.0</CO2>
+        <CO2 unit="g/p-km">33.4</CO2>
+      </Result>
+      <Result status="success" xsi:type="ResultCompletedVehicleSuccessType">
+        <Mission>Coach</Mission>
+        <Distance unit="km">275.176</Distance>
+        <SimulationParametersPrimaryVehicle>
+          <TotalVehicleMass unit="kg">22485</TotalVehicleMass>
+          <Payload unit="kg">4635</Payload>
+          <PassengerCount>65.3</PassengerCount>
+          <FuelMode>single fuel mode</FuelMode>
+        </SimulationParametersPrimaryVehicle>
+        <SimulationParametersCompletedVehicle>
+          <TotalVehicleMass unit="kg">23995</TotalVehicleMass>
+          <Payload unit="kg">4595</Payload>
+          <PassengerCount>64.7</PassengerCount>
+        </SimulationParametersCompletedVehicle>
+        <VehiclePerformance>
+          <AverageSpeed unit="km/h">63.7</AverageSpeed>
+          <AverageDrivingSpeed unit="km/h">65.4</AverageDrivingSpeed>
+          <MinSpeed unit="km/h">0.0</MinSpeed>
+          <MaxSpeed unit="km/h">102.5</MaxSpeed>
+          <MaxDeceleration unit="m/s²">1.19</MaxDeceleration>
+          <MaxAcceleration unit="m/s²">1.10</MaxAcceleration>
+          <FullLoadDrivingtimePercentage>18.36</FullLoadDrivingtimePercentage>
+          <GearshiftCount>188</GearshiftCount>
+          <EngineSpeedDriving>
+            <Min unit="rpm">600.0</Min>
+            <Average unit="rpm">1080.1</Average>
+            <Max unit="rpm">1817.1</Max>
+          </EngineSpeedDriving>
+          <AverageGearboxEfficiency unit="%">97.36</AverageGearboxEfficiency>
+          <AverageAxlegearEfficiency unit="%">92.16</AverageAxlegearEfficiency>
+        </VehiclePerformance>
+        <FuelConsumptionFactor>1.023</FuelConsumptionFactor>
+        <Fuel type="Diesel CI">
+          <FuelConsumption unit="g/km">292.7</FuelConsumption>
+          <FuelConsumption unit="g/t-km">63.7</FuelConsumption>
+          <FuelConsumption unit="g/p-km">4.52</FuelConsumption>
+          <FuelConsumption unit="MJ/km">12.5</FuelConsumption>
+          <FuelConsumption unit="MJ/t-km">2.72</FuelConsumption>
+          <FuelConsumption unit="MJ/p-km">0.193</FuelConsumption>
+          <FuelConsumption unit="l/100km">35.0</FuelConsumption>
+          <FuelConsumption unit="l/t-km">0.0762</FuelConsumption>
+          <FuelConsumption unit="l/p-km">0.00541</FuelConsumption>
+        </Fuel>
+        <CO2 unit="g/km">916.1</CO2>
+        <CO2 unit="g/t-km">199.4</CO2>
+        <CO2 unit="g/p-km">14.2</CO2>
+      </Result>
+    </Results>
+    <ApplicationInformation>
+      <SimulationToolVersion>0.6.1.1945-DEV !!NOT FOR CERTIFICATION!!</SimulationToolVersion>
+      <Date>2020-04-29T13:53:27.8416735Z</Date>
+    </ApplicationInformation>
+  </mrf:Data>
+  <mrf:Signature>
+    <di:Reference URI="#RESULT-b2d5a208fb6d49b09083">
+      <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>WQAMzAwhNh51mrrQdaeNYuRmUxIOnRUS39TxeetWt9Q=</di:DigestValue>
+    </di:Reference>
+  </mrf:Signature>
+</mrf:VectoOutput>
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/CompletedBus_34f.vecto b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/CompletedBus_34f.vecto
new file mode 100644
index 0000000000000000000000000000000000000000..9b09858ac5fc8623aa45841be2adf3e323a0c753
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/CompletedBus_34f.vecto
@@ -0,0 +1,12 @@
+{
+	"Header": {
+	"CreatedBy": "Markus Quaritsch, IVT, Graz University of Technology",
+	"Date": "2020-02-07T15:06:30.9725917Z",
+	"AppVersion": "2.2",
+	"FileVersion": 7
+	},
+	"Body": {
+		"CompletedVehicle": "vecto_vehicle-completed_heavyBus_34f.xml",
+		"PrimaryVehicleResults":  "primary_heavyBus group 42_SmartPS_generic maps.RSLT_PIF.xml"
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/VTP_PrimaryBus.vecto b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/VTP_PrimaryBus.vecto
new file mode 100644
index 0000000000000000000000000000000000000000..7123593f98a9d14bede79416dda7806e4c9d8c67
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/VTP_PrimaryBus.vecto
@@ -0,0 +1,24 @@
+{
+  "Header": {
+    "CreatedBy": "",
+    "Date": "2018-06-12T11:24:10.6066876Z",
+    "AppVersion": "3",
+    "FileVersion": 4
+  },
+  "Body": {
+    "SavedInDeclMode": true,
+    "DeclarationVehicle": "primary_heavyBus group 42_non_Smart.xml",
+    "ManufacturerRecord": "CompletedBus_34f.RSLT_MANUFACTURER.xml",
+    "Mileage": 30000.0,
+    "NCVTestFuel": 42.5,
+    "FanPowerCoefficients": [
+      0.0,
+      1.0,
+      1.0
+    ],
+    "FanDiameter": 0.3,
+    "Cycles": [
+      "vtp_cycle_2Hz_Bus.vdri"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/VTP_PrimaryBus_ENG.vecto b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/VTP_PrimaryBus_ENG.vecto
new file mode 100644
index 0000000000000000000000000000000000000000..a3aa344544ab040125787653d5a541b93c9d379c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/VTP_PrimaryBus_ENG.vecto
@@ -0,0 +1,24 @@
+{
+  "Header": {
+    "CreatedBy": "",
+    "Date": "2018-06-12T11:24:10.6066876Z",
+    "AppVersion": "3",
+    "FileVersion": 4
+  },
+  "Body": {
+    "SavedInDeclMode": false,
+    "DeclarationVehicle": "primary_heavyBus group 42_non_Smart.xml",
+    "ManufacturerRecord": "CompletedBus_34f.RSLT_MANUFACTURER.xml",
+    "Mileage": 30000.0,
+    "NCVTestFuel": 42.5,
+    "FanPowerCoefficients": [
+      0.0,
+      1.0,
+      1.0
+    ],
+    "FanDiameter": 0.3,
+    "Cycles": [
+      "vtp_cycle_2Hz_Bus.vdri"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/vecto_vehicle-completed_heavyBus_34f.xml b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/vecto_vehicle-completed_heavyBus_34f.xml
new file mode 100644
index 0000000000000000000000000000000000000000..69c1a479f1fb35c9db494a069625fb80d0ffa7bb
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/vecto_vehicle-completed_heavyBus_34f.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:VectoInputDeclaration schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD//DEV/VectoDeclarationJob.xsd">
+	<v2.0:Vehicle id="VEH-1234567890" xsi:type="CompletedVehicleDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6">
+		<Manufacturer>Some Manufacturer</Manufacturer>
+		<ManufacturerAddress>Infinite Loop 1</ManufacturerAddress>
+		<Model>Sample Bus Model</Model>
+		<VIN>VEH-1234567890</VIN>
+		<Date>2020-01-09T11:00:00Z</Date>
+		<LegislativeClass>M3</LegislativeClass>
+		<RegisteredClass>II+III</RegisteredClass>
+		<VehicleCode>CB</VehicleCode>
+		<CurbMassChassis>19400</CurbMassChassis>
+		<TechnicalPermissibleMaximumLadenMass>25000</TechnicalPermissibleMaximumLadenMass>
+		<RegisteredPassengers>
+			<LowerDeck>16</LowerDeck>
+			<UpperDeck>56</UpperDeck>
+		</RegisteredPassengers>
+		<LowEntry>true</LowEntry>
+		<HeightIntegratedBody>4.000</HeightIntegratedBody>
+		<VehicleLength>13.890</VehicleLength>
+		<VehicleWidth>2.550</VehicleWidth>
+		<EntranceHeight>0.300</EntranceHeight>
+		<DoorDriveTechnology>pneumatic</DoorDriveTechnology>
+		<Components xsi:type="CompletedVehicleComponentsDeclarationType">
+			<v2.6:AirDrag xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+				<Data id="CabinX23h" xsi:type="AirDragDataDeclarationType">
+					<Manufacturer>Generic Manufacturer</Manufacturer>
+					<Model>Generic Model</Model>
+					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+					<Date>2017-03-24T15:00:00Z</Date>
+					<AppVersion>Vecto AirDrag x.y</AppVersion>
+					<CdxA_0>5.20</CdxA_0>
+					<TransferredCdxA>5.20</TransferredCdxA>
+					<DeclaredCdxA>5.20</DeclaredCdxA>
+				</Data>
+				<Signature>
+					<di:Reference URI="#CabinX23h">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue>
+					</di:Reference>
+				</Signature>
+			</v2.6:AirDrag>
+			<Auxiliaries>
+				<Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType">
+					<ElectricSystem>
+						<AlternatorTechnology>default</AlternatorTechnology>
+						<LEDLights>
+							<Dayrunninglights>true</Dayrunninglights>
+							<Headlights>true</Headlights>
+							<Positionlights>true</Positionlights>
+							<Brakelights>true</Brakelights>
+							<Interiorlights>true</Interiorlights>
+						</LEDLights>
+					</ElectricSystem>
+					<HVAC>
+						<SystemConfiguration>6</SystemConfiguration>
+						<CompressorType>
+							<DriverAC>2-stage</DriverAC>
+							<PassengerAC>2-stage</PassengerAC>
+						</CompressorType>
+						<AuxiliaryHeaterPower>30000</AuxiliaryHeaterPower>
+						<DoubleGlasing>true</DoubleGlasing>
+						<HeatPump>false</HeatPump>
+						<AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater>
+						<SeparateAirDistributionDucts>true</SeparateAirDistributionDucts>
+					</HVAC>
+				</Data>
+			</Auxiliaries>
+		</Components>
+	</v2.0:Vehicle>
+</tns:VectoInputDeclaration>
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/vtp_cycle_2Hz_Bus.vdri b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/vtp_cycle_2Hz_Bus.vdri
index a4f2e8cceeb588c9c52e1bf8a37602a6e29b0fc9..d154a91ef4ec3308d5a103718925393712756061 100644
--- a/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/vtp_cycle_2Hz_Bus.vdri
+++ b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/HeavyBus/vtp_cycle_2Hz_Bus.vdri
@@ -1,4 +1,4 @@
-<t> [s] , <v> [km/h]  , <n_eng> [rpm] , <n_fan> [rpm] , <tq_left> [Nm] , <tq_right> [Nm] , <n_wh_left> [rpm] , <n_wh_right> [rpm] , <fc> [g/h]  , <PS_comp_active> , <gear>
+<t> [s] , <v> [km/h]  , <n_eng> [rpm] , <n_fan> [rpm] , <tq_left> [Nm] , <tq_right> [Nm] , <n_wh_left> [rpm] , <n_wh_right> [rpm] , <fc_Diesel CI> [g/h]  , <PS_comp_active> , <gear>
 0.5     , 0.155072774 , 612.6648416   , 1679.93861    , -290.2833222   , -320.8394614    , 0.835692512       , 0.835692512        , 2662.077734 , 0                , 1.54109589
 1       , 0.327375856 , 626.7368878   , 1679.93861    , -612.8203469   , -677.3277518    , 1.764239748       , 1.764239748        , 2466.909883 , 0                , 3.253424658
 1.5     , 0.522345748 , 639.8611121   , 1679.93861    , -635.5526951   , -705.3563959    , 2.8149392         , 2.8149392          , 2503.097216 , 0                , 4
diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
index dd4f5cb227c03eb4eef51d73e1db31d5246c1411..f883426306a8e823b8aedf9ddfb09b88d28c545d 100644
--- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
@@ -2537,12 +2537,18 @@
     <None Include="TestData\Integration\VTPMode\GenericVehicle\VTP_rural_2Hz.vdri">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
+    <None Include="TestData\Integration\VTPMode\HeavyBus\CompletedBus_34f.vecto">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
     <None Include="TestData\Integration\VTPMode\HeavyBus\VTP Testzyklus_Bus.xlsx">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
     <None Include="TestData\Integration\VTPMode\HeavyBus\vtp_cycle_2Hz_Bus.vdri">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
+    <None Include="TestData\Integration\VTPMode\HeavyBus\VTP_PrimaryBus_ENG.vecto">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
     <None Include="TestData\Integration\VTPMode\HeavyBus\VTP_PrimaryBus.vecto">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
@@ -3610,12 +3616,18 @@
     <Content Include="TestData\Integration\VTPMode\GenericVehicle\Tractor_4x2_vehicle-class-5_Generic vehicle.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
+    <Content Include="TestData\Integration\VTPMode\HeavyBus\CompletedBus_34f.RSLT_MANUFACTURER.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
     <Content Include="TestData\Integration\VTPMode\HeavyBus\primary_heavyBus group 42_non_Smart.RSLT_MANUFACTURER.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
     <Content Include="TestData\Integration\VTPMode\HeavyBus\primary_heavyBus group 42_non_Smart.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
+    <Content Include="TestData\Integration\VTPMode\HeavyBus\vecto_vehicle-completed_heavyBus_34f.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
     <Content Include="TestData\Integration\VTPMode\MediumLorry\vecto_vehicle-medium_lorry_4x2F.RSLT_MANUFACTURER.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>