diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/MaxPropulsionTorqueReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/MaxBoostingTorqueReader.cs
similarity index 97%
rename from VectoCore/VectoCore/InputData/Reader/ComponentData/MaxPropulsionTorqueReader.cs
rename to VectoCore/VectoCore/InputData/Reader/ComponentData/MaxBoostingTorqueReader.cs
index 04059dc77a58c92321098f06c98d1898026c589e..2ecfeab1b85f39af8876f377206f8de5dd4f12c3 100644
--- a/VectoCore/VectoCore/InputData/Reader/ComponentData/MaxPropulsionTorqueReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/MaxBoostingTorqueReader.cs
@@ -9,7 +9,7 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.Reader.ComponentData
 {
-	public static class MaxPropulsionTorqueReader
+	public static class MaxBoostingTorqueReader
 	{
 		public static VehicleMaxPropulsionTorque Read(Stream str)
 		{
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
index e83f1144be87f1fe477c08802e4fff584305e064..ee158ff44112b5907d16e087d0f98ad71a73585a 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
@@ -383,7 +383,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 
 
 		/// <summary>
-		/// Intersects full load curves.
+		/// Intersects ICE full load curves.
 		/// </summary>
 		/// <param name="engineCurve"></param>
 		/// <param name="maxTorque"></param>
@@ -446,6 +446,65 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			};
 			return flc;
 		}
+
+
+		/// <summary>
+		/// Intersects max torque curve.
+		/// </summary>
+		/// <param name="maxTorqueEntries"></param>
+		/// <param name="maxTorque"></param>
+		/// <returns>A combined EngineFullLoadCurve with the minimum full load torque over all inputs curves.</returns>
+		internal static IList<VehicleMaxPropulsionTorque.FullLoadEntry> IntersectMaxPropulsionTorqueCurve(IList<VehicleMaxPropulsionTorque.FullLoadEntry> maxTorqueEntries, NewtonMeter maxTorque)
+		{
+			if (maxTorque == null) {
+				return maxTorqueEntries;
+			}
+
+			var entries = new List<VehicleMaxPropulsionTorque.FullLoadEntry>();
+			var firstEntry = maxTorqueEntries.First();
+			if (firstEntry.FullDriveTorque < maxTorque) {
+				entries.Add(maxTorqueEntries.First());
+			} else {
+				entries.Add(new VehicleMaxPropulsionTorque.FullLoadEntry {
+					MotorSpeed = firstEntry.MotorSpeed,
+					FullDriveTorque = maxTorque,
+				});
+			}
+			foreach (var entry in maxTorqueEntries.Pairwise(Tuple.Create)) {
+				if (entry.Item1.FullDriveTorque <= maxTorque && entry.Item2.FullDriveTorque <= maxTorque) {
+					// segment is below maxTorque line -> use directly
+					entries.Add(entry.Item2);
+				} else if (entry.Item1.FullDriveTorque > maxTorque && entry.Item2.FullDriveTorque > maxTorque) {
+					// segment is above maxTorque line -> add limited entry
+					entries.Add(new VehicleMaxPropulsionTorque.FullLoadEntry {
+						MotorSpeed = entry.Item2.MotorSpeed,
+						FullDriveTorque = maxTorque,
+					});
+				} else {
+					// segment intersects maxTorque line -> add new entry at intersection
+					var edgeFull = Edge.Create(
+						new Point(entry.Item1.MotorSpeed.Value(), entry.Item1.FullDriveTorque.Value()),
+						new Point(entry.Item2.MotorSpeed.Value(), entry.Item2.FullDriveTorque.Value()));
+					
+					var intersectionX = (maxTorque.Value() - edgeFull.OffsetXY) / edgeFull.SlopeXY;
+					if (!entries.Any(x => x.MotorSpeed.IsEqual(intersectionX)) && !intersectionX.IsEqual(entry.Item2.MotorSpeed.Value())) {
+						entries.Add(new VehicleMaxPropulsionTorque.FullLoadEntry {
+							MotorSpeed = intersectionX.SI<PerSecond>(),
+							FullDriveTorque = maxTorque,
+						});
+					}
+
+					entries.Add(new VehicleMaxPropulsionTorque.FullLoadEntry {
+						MotorSpeed = entry.Item2.MotorSpeed,
+						FullDriveTorque = entry.Item2.FullDriveTorque > maxTorque ? maxTorque : entry.Item2.FullDriveTorque,
+						
+					});
+				}
+			}
+
+			
+			return entries;
+		}
 	}
 }
 
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs
index 72af4e340603f92f8f2878e6aeadd2a73b99bd2a..03f1f44856b69c40da3c5f121cfad4162a6ba998 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs
@@ -348,6 +348,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 				var gearData = new GearData {
 					ShiftPolygon = shiftPolygon,
 					MaxSpeed = gear.MaxInputSpeed,
+					MaxTorque = gear.MaxTorque,
 					Ratio = gear.Ratio,
 					LossMap = lossMap,
 				};
@@ -827,12 +828,12 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 
 			var retVal = new BatterySystemData();
 			foreach (var entry in bat) {
-                var b = entry.REESSPack as IBatteryPackDeclarationInputData;
-                if (b == null) {
-                    continue;
-                }
+				var b = entry.REESSPack as IBatteryPackDeclarationInputData;
+				if (b == null) {
+					continue;
+				}
 
-                for (var i = 0; i < entry.Count; i++) {
+				for (var i = 0; i < entry.Count; i++) {
 					retVal.Batteries.Add(Tuple.Create(entry.StringId, new BatteryData() {
 						MinSOC = b.MinSOC.Value,
 						MaxSOC = b.MaxSOC.Value,
@@ -917,9 +918,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 					Voltage = entry.VoltageLevel,
 					
 					FullLoadCurve = fullLoadCurveCombined,
-                    // DragCurve = ElectricMotorDragCurveReader.Create(entry.DragCurve, count),
-                    EfficiencyMap = ElectricMotorMapReader.Create(entry.PowerMap.First().PowerMap, count), //PowerMap
-                });
+					// DragCurve = ElectricMotorDragCurveReader.Create(entry.DragCurve, count),
+					EfficiencyMap = ElectricMotorMapReader.Create(entry.PowerMap.First().PowerMap, count), //PowerMap
+				});
 			}
 
 			if (averageVoltage == null) {
@@ -995,13 +996,13 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 		}
 
 		public HybridStrategyParameters CreateHybridStrategyParameters(
-			IHybridStrategyParameters hybridStrategyParameters,
-			TableData maxPropulsionTorque, CombustionEngineData combustionEngineData)
+			IEngineeringJobInputData jobInputData,
+			CombustionEngineData combustionEngineData, GearboxData gearboxData)
 		{
-			VehicleMaxPropulsionTorque torqueLimit = maxPropulsionTorque == null
-				? null
-				: CreateMaxPropulsionTorque(maxPropulsionTorque, combustionEngineData);
+			var hybridStrategyParameters = jobInputData.HybridStrategyParameters;
 			
+			var torqueLimit = CreateMaxPropulsionTorque(jobInputData.Vehicle, combustionEngineData, gearboxData);
+
 			var retVal = new HybridStrategyParameters() {
 				EquivalenceFactorDischarge = hybridStrategyParameters.EquivalenceFactorDischarge,
 				EquivalenceFactorCharge = hybridStrategyParameters.EquivalenceFactorCharge,
@@ -1019,34 +1020,74 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			return retVal;
 		}
 
-		private VehicleMaxPropulsionTorque CreateMaxPropulsionTorque(TableData maxPropulsionTorque, CombustionEngineData engineData)
+		protected internal static Dictionary<GearshiftPosition, VehicleMaxPropulsionTorque> CreateMaxPropulsionTorque(IVehicleEngineeringInputData vehicleInputData, CombustionEngineData engineData, GearboxData gearboxData)
 		{
-			var offset = MaxPropulsionTorqueReader.Create(maxPropulsionTorque);
-			var belowIdle = offset.FullLoadEntries.Where(x => x.MotorSpeed < engineData.IdleSpeed).ToList();
-
-			var entries = belowIdle.Select(fullLoadEntry => new VehicleMaxPropulsionTorque.FullLoadEntry()
-					{ MotorSpeed = fullLoadEntry.MotorSpeed, FullDriveTorque = fullLoadEntry.FullDriveTorque })
-				.Concat(
-					engineData.FullLoadCurves[0].FullLoadEntries.Where(x => x.EngineSpeed > engineData.IdleSpeed)
-						.Select(fullLoadCurveEntry =>
+
+			// engine data contains full-load curves already cropped with max gearbox torque and max ICE torque (vehicle level)
+
+			var maxBoostingTorque = vehicleInputData.BoostingLimitations;
+			var offset = maxBoostingTorque == null ? null : MaxBoostingTorqueReader.Create(maxBoostingTorque);
+			var belowIdle = offset?.FullLoadEntries.Where(x => x.MotorSpeed < engineData.IdleSpeed).ToList();
+
+			var retVal = new Dictionary<GearshiftPosition, VehicleMaxPropulsionTorque>();
+			var isP3OrP4Hybrid = vehicleInputData.Components.ElectricMachines.Entries.Select(x => x.Position)
+				.Any(x => x == PowertrainPosition.HybridP3 || x == PowertrainPosition.HybridP4);
+			foreach (var key in engineData.FullLoadCurves.Keys) {
+				if (key == 0) {
+					continue;
+				}
+				if (maxBoostingTorque == null) {
+					if (gearboxData.Gears[key].MaxTorque == null) {
+						continue;
+					}
+					// don't know what to do...
+					// idea 1: apply gearbox limit for whole speed range
+					// idea 2: use em max torque as boosting limitation
+					var gbxLimit = new[] {
+						new VehicleMaxPropulsionTorque.FullLoadEntry()
+							{ MotorSpeed = 0.RPMtoRad(), FullDriveTorque = gearboxData.Gears[key].MaxTorque },
+						new VehicleMaxPropulsionTorque.FullLoadEntry() {
+							MotorSpeed = engineData.FullLoadCurves[0].N95hSpeed * 1.1,
+							FullDriveTorque = gearboxData.Gears[key].MaxTorque
+						}
+					}.ToList();
+					retVal[new GearshiftPosition(key)] = new VehicleMaxPropulsionTorque(gbxLimit);
+					continue;
+				} 
+
+				// case boosting limit is defined, gearbox limit can be defined or not (handled in Intersect method)
+
+				// entries contains ICE full-load curve with the boosting torque added. handles ICE speeds below idle
+				var entries = belowIdle.Select(fullLoadEntry => new VehicleMaxPropulsionTorque.FullLoadEntry()
+						{ MotorSpeed = fullLoadEntry.MotorSpeed, FullDriveTorque = fullLoadEntry.FullDriveTorque })
+					.Concat(
+						engineData.FullLoadCurves[key].FullLoadEntries.Where(x => x.EngineSpeed > engineData.IdleSpeed)
+							.Select(fullLoadCurveEntry =>
+								new VehicleMaxPropulsionTorque.FullLoadEntry() {
+									MotorSpeed = fullLoadCurveEntry.EngineSpeed,
+									FullDriveTorque = fullLoadCurveEntry.TorqueFullLoad +
+													VectoMath.Max(
+														offset?.FullLoadDriveTorque(fullLoadCurveEntry.EngineSpeed),
+														0.SI<NewtonMeter>())
+								}))
+					.Concat(
+						new[] { engineData.IdleSpeed, engineData.IdleSpeed - 0.1.RPMtoRad() }.Select(x =>
 							new VehicleMaxPropulsionTorque.FullLoadEntry() {
-								MotorSpeed = fullLoadCurveEntry.EngineSpeed,
-								FullDriveTorque = fullLoadCurveEntry.TorqueFullLoad +
-												VectoMath.Max(
-													offset.FullLoadDriveTorque(fullLoadCurveEntry.EngineSpeed),
+								MotorSpeed = x,
+								FullDriveTorque = engineData.FullLoadCurves[0].FullLoadStationaryTorque(x) +
+												VectoMath.Max(offset?.FullLoadDriveTorque(x),
 													0.SI<NewtonMeter>())
 							}))
-				.Concat(
-					new[] { engineData.IdleSpeed, engineData.IdleSpeed - 0.1.RPMtoRad() }.Select(x =>
-						new VehicleMaxPropulsionTorque.FullLoadEntry() {
-							MotorSpeed = x,
-							FullDriveTorque = engineData.FullLoadCurves[0].FullLoadStationaryTorque(x) +
-											VectoMath.Max(offset.FullLoadDriveTorque(x),
-												0.SI<NewtonMeter>())
-						}))
-				.OrderBy(x => x.MotorSpeed).ToList();
-
-			return new VehicleMaxPropulsionTorque(entries);
+					.OrderBy(x => x.MotorSpeed).ToList();
+
+				// if no gearbox limit is defined, MaxTorque is null;
+				// in case of P3 or P4, do not apply gearbox limit to propulsion limit as ICE is already cropped with max torque
+				var gearboxTorqueLimit = isP3OrP4Hybrid ? null : gearboxData.Gears[key].MaxTorque;
+				retVal[new GearshiftPosition(key)] = new VehicleMaxPropulsionTorque(IntersectMaxPropulsionTorqueCurve(entries, gearboxTorqueLimit));
+
+			}
+
+			return retVal;
 		}
 	}
 }
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs
index e40b9957e28e4ee4d098b97fa4f8e484519b417f..5afe571678dd687776015c3fd2c27f05cd3ef9ac 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringModeVectoRunDataFactory.cs
@@ -191,8 +191,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 
 					var vehicleData = dao.CreateVehicleData(vehicle);
 
-					var hybridParameters = dao.CreateHybridStrategyParameters(InputDataProvider.JobInputData.HybridStrategyParameters,
-							null, engineData);
+					var hybridParameters = dao.CreateHybridStrategyParameters(InputDataProvider.JobInputData,
+							engineData, gearboxData);
 					yield return new VectoRunData {
 						JobName = InputDataProvider.JobInputData.JobName,
 						JobType = jobType,
@@ -412,8 +412,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 					}
 					
 					var hybridParameters = jobType == VectoSimulationJobType.ParallelHybridVehicle
-						? dao.CreateHybridStrategyParameters(InputDataProvider.JobInputData.HybridStrategyParameters,
-							vehicle.BoostingLimitations, engineData)
+						? dao.CreateHybridStrategyParameters(InputDataProvider.JobInputData, engineData, gearboxData)
 						: null;
 					yield return new VectoRunData {
 						JobName = InputDataProvider.JobInputData.JobName,
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/HybridStrategyParameters.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/HybridStrategyParameters.cs
index 13b66e4008ad65ca6aae88310f9e6eabb07f3c12..8be989c132b866ac889225214b7da7efef833f80 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/HybridStrategyParameters.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/HybridStrategyParameters.cs
@@ -1,5 +1,7 @@
-using TUGraz.VectoCommon.InputData;
+using System.Collections.Generic;
+using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.SimulationComponent.Impl;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Data {
 	public class HybridStrategyParameters 
@@ -20,7 +22,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data {
 
 		public Second MinICEOnTime { get; set; }
 		
-		public VehicleMaxPropulsionTorque MaxPropulsionTorque { get; set; }
+		public Dictionary<GearshiftPosition, VehicleMaxPropulsionTorque> MaxPropulsionTorque { get; set; }
+
 		public double ICEStartPenaltyFactor { get; set; }
 
 		//public Watt MaxDrivetrainPower { get; set; }
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleMaxPropulsionTorque.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleMaxPropulsionTorque.cs
index f95321dd4c3bc9f752f966a0bce51782dcbfd0e8..82dce7fb54198c3f8debd6a247619bddbd0a1edf 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleMaxPropulsionTorque.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleMaxPropulsionTorque.cs
@@ -8,9 +8,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
 {
 	public class VehicleMaxPropulsionTorque
 	{
-		internal readonly List<FullLoadEntry> FullLoadEntries;
+		internal readonly IList<FullLoadEntry> FullLoadEntries;
 
-		internal VehicleMaxPropulsionTorque(List<FullLoadEntry> entries)
+		internal VehicleMaxPropulsionTorque(IList<FullLoadEntry> entries)
 		{
 			FullLoadEntries = entries;
 		}
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs
index 606bba2cd7ee27458722abae998951a03de5c039..069781313de40b1d8b0123d2cd3ec4232e7415e6 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/HybridController.cs
@@ -439,9 +439,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 						response.Engine.DynamicFullLoadTorque; //EnginePowerRequest - response.DeltaFullLoad;
 					var reserve = 1 - response.Engine.TorqueOutDemand / fullLoadPower;
 
-					if (_runData != null && _runData.HybridStrategyParameters.MaxPropulsionTorque != null) {
+					if (_runData != null && _runData.HybridStrategyParameters.MaxPropulsionTorque?.GetVECTOValueOrDefault(gear) != null) {
 						var tqRequest = response.Gearbox.InputTorque;
-						var maxTorque = _runData.HybridStrategyParameters.MaxPropulsionTorque.FullLoadDriveTorque(response.Gearbox.InputSpeed);
+						var maxTorque = _runData.HybridStrategyParameters.MaxPropulsionTorque[gear].FullLoadDriveTorque(response.Gearbox.InputSpeed);
 						reserve = 1 - VectoMath.Min(response.Engine.TorqueOutDemand / fullLoadPower,  tqRequest / maxTorque);
 					}
 
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs
index de58d4542de3366a7dbe08229c9d7e5ace2a9ef6..aa1f6f553724be10172dc5382de4714380dc529b 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/HybridStrategy.cs
@@ -602,15 +602,15 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 
 		public virtual IHybridStrategyResponse Request(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity, bool dryRun)
 		{
-
-			if (DataBus.DriverInfo.DrivingAction == DrivingAction.Accelerate && StrategyParameters.MaxPropulsionTorque != null && DataBus.GearboxInfo.TCLocked) {
-				var nextGear = DataBus.VehicleInfo.VehicleStopped
+			var nextGear = DataBus.VehicleInfo.VehicleStopped
+				? Controller.ShiftStrategy.NextGear
+				: !DataBus.GearboxInfo.GearEngaged(absTime)
 					? Controller.ShiftStrategy.NextGear
-					: !DataBus.GearboxInfo.GearEngaged(absTime)
-						? Controller.ShiftStrategy.NextGear
-						: PreviousState.GearboxEngaged
-							? DataBus.GearboxInfo.Gear
-							: Controller.ShiftStrategy.NextGear;
+					: PreviousState.GearboxEngaged
+						? DataBus.GearboxInfo.Gear
+						: Controller.ShiftStrategy.NextGear;
+			if (DataBus.DriverInfo.DrivingAction == DrivingAction.Accelerate && StrategyParameters.MaxPropulsionTorque?.GetVECTOValueOrDefault(nextGear) != null && DataBus.GearboxInfo.TCLocked) {
+				
 				var emOff = new HybridStrategyResponse {
 					CombustionEngineOn = DataBus.EngineInfo.EngineOn, // AllowICEOff(absTime), 
 					GearboxInNeutral = false,
@@ -628,7 +628,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 				if (testRequest.Gearbox.InputSpeed < DataBus.EngineInfo.EngineN95hSpeed) {
 					var emPos = ModelData.ElectricMachinesData.First().Item1;
 					var tqRequest = GetGearboxInTorqueLimitedVehiclePorpTorque(testRequest, emPos); //testRequest.Gearbox.InputTorque;
-					var maxTorque = StrategyParameters.MaxPropulsionTorque.FullLoadDriveTorque(testRequest.Gearbox.InputSpeed);
+					var maxTorque = StrategyParameters.MaxPropulsionTorque[nextGear].FullLoadDriveTorque(testRequest.Gearbox.InputSpeed);
 
 					if (!dryRun) {
 						CurrentState.MaxGbxTq = maxTorque;
@@ -755,14 +755,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 			//	}
 			//}
 
-			if (dryRun && DataBus.DriverInfo.DrivingAction == DrivingAction.Accelerate && StrategyParameters.MaxPropulsionTorque != null) {
+			if (dryRun && DataBus.DriverInfo.DrivingAction == DrivingAction.Accelerate && StrategyParameters.MaxPropulsionTorque?.GetVECTOValueOrDefault(response.Gearbox.Gear) != null) {
 				var dryRunResponse = response as ResponseDryRun;
 				if (response.Engine.EngineOn && dryRunResponse.DeltaFullLoad.IsSmallerOrEqual(0) &&
 					dryRunResponse.DeltaDragLoad.IsGreaterOrEqual(0) && LimitedGbxTorque) {
 					// during this request the torque at gbx-in was limited - engine is ok and a seaerch operation is going on
 					// overwrite delta value...
 					var maxTorque =
-						StrategyParameters.MaxPropulsionTorque.FullLoadDriveTorque(response.Gearbox.InputSpeed);
+						StrategyParameters.MaxPropulsionTorque[response.Gearbox.Gear].FullLoadDriveTorque(response.Gearbox.InputSpeed);
 
 					var emPos = ModelData.ElectricMachinesData.First().Item1;
 
@@ -871,7 +871,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 
 			var candidates = new Dictionary<GearshiftPosition, Tuple<Watt, IResponse>>();
 			var maxTorqueGbxIn =
-				StrategyParameters.MaxPropulsionTorque.FullLoadDriveTorque(emOffResponse.Gearbox.InputSpeed);
+				StrategyParameters.MaxPropulsionTorque[gear].FullLoadDriveTorque(emOffResponse.Gearbox.InputSpeed);
 			candidates[emOffResponse.Gearbox.Gear] = Tuple.Create(maxTorqueGbxIn * emOffResponse.Gearbox.InputSpeed, emOffResponse);
 			foreach (var nextGear in GearList.IterateGears(firstGear, lastGear)) {
 				if (candidates.ContainsKey(nextGear)) {
@@ -892,8 +892,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 				}
 				var testRequest = RequestDryRun(absTime, dt, outTorque, outAngularVelocity, nextGear, emOff);
 				if (testRequest != null && testRequest.Engine.EngineSpeed < ModelData.EngineData.FullLoadCurves[0].NTq99hSpeed) {
-					var maxGbxTorque = StrategyParameters.MaxPropulsionTorque.FullLoadDriveTorque(testRequest.Gearbox.InputSpeed);
-					candidates[nextGear] = Tuple.Create(maxGbxTorque * testRequest.Gearbox.InputSpeed, testRequest);
+					var maxGbxTorque = StrategyParameters.MaxPropulsionTorque?.GetVECTOValueOrDefault(nextGear).FullLoadDriveTorque(testRequest.Gearbox.InputSpeed);
+					candidates[nextGear] = maxGbxTorque != null
+						? Tuple.Create(maxGbxTorque * testRequest.Gearbox.InputSpeed, testRequest)
+						: Tuple.Create(testRequest.Gearbox.InputTorque * testRequest.Gearbox.InputSpeed, testRequest);
 				}
 			}
 
@@ -2153,10 +2155,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 			}
 
 			if (DataBus.DriverInfo.DrivingAction == DrivingAction.Accelerate &&
-				StrategyParameters.MaxPropulsionTorque != null) {
+				StrategyParameters.MaxPropulsionTorque?.GetVECTOValueOrDefault(resp.Gearbox.Gear) != null) {
 				var tqRequest = resp.Gearbox.InputTorque;
 				var maxTorque =
-					StrategyParameters.MaxPropulsionTorque.FullLoadDriveTorque(resp.Gearbox.InputSpeed);
+					StrategyParameters.MaxPropulsionTorque[resp.Gearbox.Gear].FullLoadDriveTorque(resp.Gearbox.InputSpeed);
 				if (((tqRequest - maxTorque) * resp.Gearbox.InputSpeed).IsGreater(0, Constants.SimulationSettings.LineSearchTolerance)) {
 					tmp.IgnoreReason |= HybridConfigurationIgnoreReason.MaxPropulsionTorqueExceeded;
 				}
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/SerialHybridStrategy.cs b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/SerialHybridStrategy.cs
index 2949a0d18f3dd0ce37a0729209ea06b44ea812be..6dc54150222a701e57c4b8b32f1e93714aa045de 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Strategies/SerialHybridStrategy.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Strategies/SerialHybridStrategy.cs
@@ -510,7 +510,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 				return null;
 			}
 
-			if (DataBus.VehicleInfo.VehicleSpeed.IsSmallerOrEqual(ModelData.GearboxData.DisengageWhenHaltingSpeed) && emOutTorque.IsSmaller(0)) {
+			if (ModelData.GearboxData != null && DataBus.VehicleInfo.VehicleSpeed.IsSmallerOrEqual(ModelData.GearboxData.DisengageWhenHaltingSpeed) && emOutTorque.IsSmaller(0)) {
 				return null;
 			}
 
@@ -572,7 +572,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Strategies
 	GenSetOperatingPoint maxPowerGenset, Second dt)
 		{
 			var reqBatteryPower = maxPowerGenset.ElectricPower + drivetrainDemand.ElectricPowerDemand;
-			if (DataBus.BatteryInfo.StateOfCharge.IsEqual(StrategyParameters.MinSoC, 0.01) && reqBatteryPower < 0 && drivetrainDemand.ElectricPowerDemand < drivetrainDemand.Response.ElectricSystem.MaxPowerDrive) {
+			if (DataBus.BatteryInfo.StateOfCharge.IsEqual(StrategyParameters.MinSoC, 0.01) && reqBatteryPower < 0 &&
+				drivetrainDemand.ElectricPowerDemand < drivetrainDemand.Response.ElectricSystem.MaxPowerDrive) {
 				return StateMachineState.Acc_S3;
 			}
 
diff --git a/VectoCore/VectoCore/Utils/DictionaryExtensionMethods.cs b/VectoCore/VectoCore/Utils/DictionaryExtensionMethods.cs
index f1f22de6c418c13b34f5d1a777b01639112cca06..6a73586de115af7f99d4f0dde068df37c0e1e2ef 100644
--- a/VectoCore/VectoCore/Utils/DictionaryExtensionMethods.cs
+++ b/VectoCore/VectoCore/Utils/DictionaryExtensionMethods.cs
@@ -41,7 +41,7 @@ namespace TUGraz.VectoCore.Utils
 {
 	internal static class DictionaryExtensionMethods
 	{
-		public static object GetValueOrNull<TKey, TValue>(this IDictionary<TKey, TValue> dictionary, TKey key) =>
+		public static object GetValueOrDBNull<TKey, TValue>(this IDictionary<TKey, TValue> dictionary, TKey key) =>
 			dictionary.TryGetValue(key, out var value) ? (object)value : DBNull.Value;
 
 		public static TValue GetValueOrZero<TKey, TValue>(this IDictionary<TKey, TValue> dictionary, TKey key)
diff --git a/VectoCore/VectoCore/Utils/IterationStatistics.cs b/VectoCore/VectoCore/Utils/IterationStatistics.cs
index 3668647971f04fe4d9b988d160a611cd9c47966a..48aa503560f17caceabf0830eaa02e02c73a211c 100644
--- a/VectoCore/VectoCore/Utils/IterationStatistics.cs
+++ b/VectoCore/VectoCore/Utils/IterationStatistics.cs
@@ -106,24 +106,24 @@ namespace TUGraz.VectoCore.Utils
 				row["StepDuration"] = entry.Duration.TotalMilliseconds;
 
 				if (entry.Values.ContainsKey("DistanceRun")) {
-					row["Distance"] = entry.Values["DistanceRun"].GetValueOrNull("Distance");
-					row["Time"] = entry.Values["DistanceRun"].GetValueOrNull("Time");
-					row["StepIterationCount"] = entry.Values["DistanceRun"].GetValueOrNull("Iterations");
+					row["Distance"] = entry.Values["DistanceRun"].GetValueOrDBNull("Distance");
+					row["Time"] = entry.Values["DistanceRun"].GetValueOrDBNull("Time");
+					row["StepIterationCount"] = entry.Values["DistanceRun"].GetValueOrDBNull("Iterations");
 				}
 				if (entry.Values.ContainsKey("Driver")) {
-					row["NumDriverRequests"] = entry.Values["Driver"].GetValueOrNull("Requests");
-					row["NumAccelActions"] = entry.Values["Driver"].GetValueOrNull("Accelerate");
-					row["NumBrakeActions"] = entry.Values["Driver"].GetValueOrNull("Brake");
-					row["NumCoastActions"] = entry.Values["Driver"].GetValueOrNull("Coast");
-					row["NumRollActions"] = entry.Values["Driver"].GetValueOrNull("Roll");
-					row["SearchOPIterations"] = entry.Values["Driver"].GetValueOrNull("SearchOperatingPoint");
-					row["SearchBrakeIterations"] = entry.Values["Driver"].GetValueOrNull("SearchBrakingPower");
+					row["NumDriverRequests"] = entry.Values["Driver"].GetValueOrDBNull("Requests");
+					row["NumAccelActions"] = entry.Values["Driver"].GetValueOrDBNull("Accelerate");
+					row["NumBrakeActions"] = entry.Values["Driver"].GetValueOrDBNull("Brake");
+					row["NumCoastActions"] = entry.Values["Driver"].GetValueOrDBNull("Coast");
+					row["NumRollActions"] = entry.Values["Driver"].GetValueOrDBNull("Roll");
+					row["SearchOPIterations"] = entry.Values["Driver"].GetValueOrDBNull("SearchOperatingPoint");
+					row["SearchBrakeIterations"] = entry.Values["Driver"].GetValueOrDBNull("SearchBrakingPower");
 				}
 				if (entry.Values.ContainsKey("Gearbox")) {
-					row["NumGearboxRequests"] = entry.Values["Gearbox"].GetValueOrNull("Requests");
+					row["NumGearboxRequests"] = entry.Values["Gearbox"].GetValueOrDBNull("Requests");
 				}
 				if (entry.Values.ContainsKey("CombustionEngine")) {
-					row["NumEngineRequests"] = entry.Values["CombustionEngine"].GetValueOrNull("Requests");
+					row["NumEngineRequests"] = entry.Values["CombustionEngine"].GetValueOrDBNull("Requests");
 				}
 				table.Rows.Add(row);
 			}
diff --git a/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs b/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs
index 02a72ebcf106e7769d466becb27a9f34796d8cc8..5cdbf6683c2c58658031875bfb2144991cd30c90 100644
--- a/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/Hybrid/ParallelHybridTest.cs
@@ -10,6 +10,7 @@ using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.InputData.FileIO.JSON;
 using TUGraz.VectoCore.InputData.Impl;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
 using TUGraz.VectoCore.InputData.Reader.Impl;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
@@ -315,7 +316,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 			var graphWriter = GetGraphWriter(new[] { ModalResultField.P_electricMotor_mech_P2 });
 			var cycleData = string.Format(
 				@"   0,   0, {1},    3
-				   700, {0}, {1},    0", vmax, slope);
+				  1200, {0}, {1},    0", vmax, slope);
 			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
 
 			var modFilename = $"SimpleParallelHybrid-P2_acc_{vmax}-{initialSoC}_{slope}.vmod";
@@ -338,23 +339,121 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 			graphWriter.Write(modFilename);
 		}
 
+		[
+			TestCase(80, 0.7, 5, TestName = "P2 Hybrid GbxTqLimit DriveOff 80km/h SoC: 0.7, UH 5%"),
+		]
+		public void P2HybridDriveOffGbxTqLimit(double vmax, double initialSoC, double slope)
+		{
+			var graphWriter = GetGraphWriter(new[] { ModalResultField.P_electricMotor_mech_P2 });
+			var cycleData = string.Format(
+				@"   0,   0, {1},    3
+				  1200, {0}, {1},    0", vmax, slope);
+			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
+
+			var modFilename = $"SimpleParallelHybrid-P2_acc_{vmax}-{initialSoC}_{slope}_gbxLimit-2300.vmod";
+			const PowertrainPosition pos = PowertrainPosition.HybridP2;
+			var job = CreateEngineeringRun(
+				cycle, modFilename, initialSoC, pos, 1.0, largeMotor: true, maxGearboxTorque: 2370.SI<NewtonMeter>());
+			var run = job.Runs.First().Run;
+
+			var hybridController = (HybridController)((VehicleContainer)run.GetContainer()).HybridController;
+			Assert.NotNull(hybridController);
+
+			var modData = ((ModalDataContainer)((VehicleContainer)run.GetContainer()).ModData).Data;
+
+			//run.Run();
+			job.Execute();
+			job.WaitFinished();
+			Assert.IsTrue(run.FinishedWithoutErrors);
+
+			Assert.IsTrue(modData.Rows.Count > 0);
+			graphWriter.Write(modFilename);
+		}
 
 		[
-			TestCase(80, 0.7, 5, 320, TestName = "P2 Hybrid DriveOff 80km/h SoC: 0.7, UH 5% MaxPWR: 320kW"),
-			
+			TestCase(80, 0.7, 5, 0, TestName = "P2 Hybrid BoostingLimit 0Nm DriveOff 80km/h SoC: 0.7, UH 5%"),
+			TestCase(80, 0.7, 5, 100, TestName = "P2 Hybrid BoostingLimit 100Nm DriveOff 80km/h SoC: 0.7, UH 5%"),
 		]
-		public void P2HybridDriveOffLimitPwr(double vmax, double initialSoC, double slope, double maxPwrkW)
+		public void P2HybridDriveOffBoostingLimitLimit(double vmax, double initialSoC, double slope, double boostingLimit)
 		{
 			var graphWriter = GetGraphWriter(new[] { ModalResultField.P_electricMotor_mech_P2 });
 			var cycleData = string.Format(
 				@"   0,   0, {1},    3
-				   700, {0}, {1},    0", vmax, slope);
+				  1200, {0}, {1},    0", vmax, slope);
 			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
 
-			var modFilename = $"SimpleParallelHybrid-P2_acc_{vmax}-{initialSoC}_{slope}_maxPwr-{maxPwrkW}.vmod";
+			var modFilename = $"SimpleParallelHybrid-P2_acc_{vmax}-{initialSoC}_{slope}_boostingLimit-{boostingLimit}.vmod";
 			const PowertrainPosition pos = PowertrainPosition.HybridP2;
 			var job = CreateEngineeringRun(
-				cycle, modFilename, initialSoC, pos, 1.0, largeMotor: true, maxDriveTrainPower: (maxPwrkW * 1000).SI<Watt>());
+				cycle, modFilename, initialSoC, pos, 1.0, largeMotor: true, boostingLimit: boostingLimit.SI<NewtonMeter>());
+			var run = job.Runs.First().Run;
+
+			var hybridController = (HybridController)((VehicleContainer)run.GetContainer()).HybridController;
+			Assert.NotNull(hybridController);
+
+			var modData = ((ModalDataContainer)((VehicleContainer)run.GetContainer()).ModData).Data;
+
+			//run.Run();
+			job.Execute();
+			job.WaitFinished();
+			Assert.IsTrue(run.FinishedWithoutErrors);
+
+			Assert.IsTrue(modData.Rows.Count > 0);
+			graphWriter.Write(modFilename);
+		}
+
+
+		[
+			TestCase(80, 0.7, 5, 100, TestName = "P2 Hybrid BoostingAndGbxLimit 150Nm DriveOff 80km/h SoC: 0.7, UH 5%"),
+		]
+		public void P2HybridDriveOffBoostingAndGbxLimit(double vmax, double initialSoC, double slope, double boostingLimit)
+		{
+			var graphWriter = GetGraphWriter(new[] { ModalResultField.P_electricMotor_mech_P2 });
+			var cycleData = string.Format(
+				@"   0,   0, {1},    3
+				  1200, {0}, {1},    0", vmax, slope);
+			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
+
+			var modFilename = $"SimpleParallelHybrid-P2_acc_{vmax}-{initialSoC}_{slope}_boostingAndGbxLimit-{boostingLimit}.vmod";
+			const PowertrainPosition pos = PowertrainPosition.HybridP2;
+			var job = CreateEngineeringRun(
+				cycle, modFilename, initialSoC, pos, 1.0, largeMotor: true, boostingLimit: boostingLimit.SI<NewtonMeter>(), maxGearboxTorque: 2370.SI<NewtonMeter>());
+			var run = job.Runs.First().Run;
+
+			var hybridController = (HybridController)((VehicleContainer)run.GetContainer()).HybridController;
+			Assert.NotNull(hybridController);
+
+			var modData = ((ModalDataContainer)((VehicleContainer)run.GetContainer()).ModData).Data;
+
+			//run.Run();
+			job.Execute();
+			job.WaitFinished();
+			Assert.IsTrue(run.FinishedWithoutErrors);
+
+			Assert.IsTrue(modData.Rows.Count > 0);
+			graphWriter.Write(modFilename);
+		}
+
+		[
+			TestCase(80, 0.7, 5, 100, TestName = "P2 Hybrid BoostingAndGbxLimit TopTorque 150Nm DriveOff 80km/h SoC: 0.7, UH 5%"),
+		]
+		public void P2HybridDriveOffBoostingAndGbxLimitTopTorque(double vmax, double initialSoC, double slope, double boostingLimit)
+		{
+			var graphWriter = GetGraphWriter(new[] { ModalResultField.P_electricMotor_mech_P2 });
+			var cycleData = string.Format(
+				@"   0,   0, {1},    3
+				  1200, {0}, {1},    0
+				  1201, {0}, {2},    0
+				  2000, {0}, {2},    0", vmax, slope, 7.2);
+			var cycle = SimpleDrivingCycles.CreateCycleData(cycleData);
+
+			var modFilename = $"SimpleParallelHybrid-P2_acc_{vmax}-{initialSoC}_{slope}_boostingAndGbxLimitTopTorque-{boostingLimit}.vmod";
+			const PowertrainPosition pos = PowertrainPosition.HybridP2;
+			var job = CreateEngineeringRun(
+				cycle, modFilename, initialSoC, pos, 1.0, largeMotor: true,
+				boostingLimit: boostingLimit.SI<NewtonMeter>(), maxGearboxTorque: 2370.SI<NewtonMeter>(),
+				topTorque: 2000.SI<NewtonMeter>());
+			
 			var run = job.Runs.First().Run;
 
 			var hybridController = (HybridController)((VehicleContainer)run.GetContainer()).HybridController;
@@ -526,25 +625,97 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 
 		public const string Group5TestJob = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5.vecto";
 
+		public const string Group5TestJob_GbxTqLimit = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_GbxTqLimit.vecto";
+
+		public const string Group5TestJob_BoostingLimit = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_BoostingLimit.vecto";
+
+		public const string Group5TestJob_BoostingAndGbxLimit = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_BoostingAndGbxLimit.vecto";
+
+		public const string Group5TestJob_BoostingAndGbxLimitTopTorque = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_BoostingAndGbxLimitTopTorque.vecto";
+
+		public const string Group5TestJob_BoostingLimitTopTorque = @"TestData\Hybrids\GenericVehicle_Group5_P2\P2 Group 5_BoostingLimitTopTorque.vecto";
+
 		public const string Group5TestJob_BatterySystem = @"TestData\Hybrids\GenericVehicle_Group5_P2_BatSystem\P2 Group 5.vecto";
 
 		public const string Group5TestJob_BatterySystem2 = @"TestData\Hybrids\GenericVehicle_Group5_P2_BatSystem\P2 Group 5_2.vecto";
 
 		[
-		TestCase(Group5TestJob, 0, TestName = "P2 Hybrid Group 5 DriveCycle LongHaul"),
-		TestCase(Group5TestJob, 1, TestName = "P2 Hybrid Group 5 DriveCycle Coach"),  
-		TestCase(Group5TestJob, 2, TestName = "P2 Hybrid Group 5 DriveCycle Construction"),  
-		TestCase(Group5TestJob, 3, TestName = "P2 Hybrid Group 5 DriveCycle HeavyUrban"),
-		TestCase(Group5TestJob, 4, TestName = "P2 Hybrid Group 5 DriveCycle Interurban"),  
-		TestCase(Group5TestJob, 5, TestName = "P2 Hybrid Group 5 DriveCycle MunicipalUtility"),
-		TestCase(Group5TestJob, 6, TestName = "P2 Hybrid Group 5 DriveCycle RegionalDelivery"),
-		TestCase(Group5TestJob, 7, TestName = "P2 Hybrid Group 5 DriveCycle Suburban"),  
-		TestCase(Group5TestJob, 8, TestName = "P2 Hybrid Group 5 DriveCycle Urban"), 
-		TestCase(Group5TestJob, 9, TestName = "P2 Hybrid Group 5 DriveCycle UrbanDelivery"), 
+			TestCase(Group5TestJob, 0, TestName = "P2 Hybrid Group 5 DriveCycle LongHaul"),
+			TestCase(Group5TestJob, 1, TestName = "P2 Hybrid Group 5 DriveCycle Coach"),  
+			TestCase(Group5TestJob, 2, TestName = "P2 Hybrid Group 5 DriveCycle Construction"),  
+			TestCase(Group5TestJob, 3, TestName = "P2 Hybrid Group 5 DriveCycle HeavyUrban"),
+			TestCase(Group5TestJob, 4, TestName = "P2 Hybrid Group 5 DriveCycle Interurban"),  
+			TestCase(Group5TestJob, 5, TestName = "P2 Hybrid Group 5 DriveCycle MunicipalUtility"),
+			TestCase(Group5TestJob, 6, TestName = "P2 Hybrid Group 5 DriveCycle RegionalDelivery"),
+			TestCase(Group5TestJob, 7, TestName = "P2 Hybrid Group 5 DriveCycle Suburban"),  
+			TestCase(Group5TestJob, 8, TestName = "P2 Hybrid Group 5 DriveCycle Urban"), 
+			TestCase(Group5TestJob, 9, TestName = "P2 Hybrid Group 5 DriveCycle UrbanDelivery"), 
+		]
+		[
+			TestCase(Group5TestJob_GbxTqLimit, 0, TestName = "P2 Hybrid Group 5 GbxTqLimit DriveCycle LongHaul"),
+			TestCase(Group5TestJob_GbxTqLimit, 1, TestName = "P2 Hybrid Group 5 GbxTqLimit DriveCycle Coach"),
+			TestCase(Group5TestJob_GbxTqLimit, 2, TestName = "P2 Hybrid Group 5 GbxTqLimit DriveCycle Construction"),
+			TestCase(Group5TestJob_GbxTqLimit, 3, TestName = "P2 Hybrid Group 5 GbxTqLimit DriveCycle HeavyUrban"),
+			TestCase(Group5TestJob_GbxTqLimit, 4, TestName = "P2 Hybrid Group 5 GbxTqLimit DriveCycle Interurban"),
+			TestCase(Group5TestJob_GbxTqLimit, 5, TestName = "P2 Hybrid Group 5 GbxTqLimit DriveCycle MunicipalUtility"),
+			TestCase(Group5TestJob_GbxTqLimit, 6, TestName = "P2 Hybrid Group 5 GbxTqLimit DriveCycle RegionalDelivery"),
+			TestCase(Group5TestJob_GbxTqLimit, 7, TestName = "P2 Hybrid Group 5 GbxTqLimit DriveCycle Suburban"),
+			TestCase(Group5TestJob_GbxTqLimit, 8, TestName = "P2 Hybrid Group 5 GbxTqLimit DriveCycle Urban"),
+			TestCase(Group5TestJob_GbxTqLimit, 9, TestName = "P2 Hybrid Group 5 GbxTqLimit DriveCycle UrbanDelivery"),
+		]
+		[
+			TestCase(Group5TestJob_BoostingLimit, 0, TestName = "P2 Hybrid Group 5 BoostingLimit DriveCycle LongHaul"),
+			TestCase(Group5TestJob_BoostingLimit, 1, TestName = "P2 Hybrid Group 5 BoostingLimit DriveCycle Coach"),
+			TestCase(Group5TestJob_BoostingLimit, 2, TestName = "P2 Hybrid Group 5 BoostingLimit DriveCycle Construction"),
+			TestCase(Group5TestJob_BoostingLimit, 3, TestName = "P2 Hybrid Group 5 BoostingLimit DriveCycle HeavyUrban"),
+			TestCase(Group5TestJob_BoostingLimit, 4, TestName = "P2 Hybrid Group 5 BoostingLimit DriveCycle Interurban"),
+			TestCase(Group5TestJob_BoostingLimit, 5, TestName = "P2 Hybrid Group 5 BoostingLimit DriveCycle MunicipalUtility"),
+			TestCase(Group5TestJob_BoostingLimit, 6, TestName = "P2 Hybrid Group 5 BoostingLimit DriveCycle RegionalDelivery"),
+			TestCase(Group5TestJob_BoostingLimit, 7, TestName = "P2 Hybrid Group 5 BoostingLimit DriveCycle Suburban"),
+			TestCase(Group5TestJob_BoostingLimit, 8, TestName = "P2 Hybrid Group 5 BoostingLimit DriveCycle Urban"),
+			TestCase(Group5TestJob_BoostingLimit, 9, TestName = "P2 Hybrid Group 5 BoostingLimit DriveCycle UrbanDelivery"),
+		]
+		[
+			TestCase(Group5TestJob_BoostingAndGbxLimit, 0, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit DriveCycle LongHaul"),
+			TestCase(Group5TestJob_BoostingAndGbxLimit, 1, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit DriveCycle Coach"),
+			TestCase(Group5TestJob_BoostingAndGbxLimit, 2, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit DriveCycle Construction"),
+			TestCase(Group5TestJob_BoostingAndGbxLimit, 3, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit DriveCycle HeavyUrban"),
+			TestCase(Group5TestJob_BoostingAndGbxLimit, 4, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit DriveCycle Interurban"),
+			TestCase(Group5TestJob_BoostingAndGbxLimit, 5, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit DriveCycle MunicipalUtility"),
+			TestCase(Group5TestJob_BoostingAndGbxLimit, 6, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit DriveCycle RegionalDelivery"),
+			TestCase(Group5TestJob_BoostingAndGbxLimit, 7, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit DriveCycle Suburban"),
+			TestCase(Group5TestJob_BoostingAndGbxLimit, 8, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit DriveCycle Urban"),
+			TestCase(Group5TestJob_BoostingAndGbxLimit, 9, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit DriveCycle UrbanDelivery"),
+		]
+		[
+			TestCase(Group5TestJob_BoostingAndGbxLimitTopTorque, 0, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit TopTorque DriveCycle LongHaul"),
+			TestCase(Group5TestJob_BoostingAndGbxLimitTopTorque, 1, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit TopTorque DriveCycle Coach"),
+			TestCase(Group5TestJob_BoostingAndGbxLimitTopTorque, 2, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit TopTorque DriveCycle Construction"),
+			TestCase(Group5TestJob_BoostingAndGbxLimitTopTorque, 3, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit TopTorque DriveCycle HeavyUrban"),
+			TestCase(Group5TestJob_BoostingAndGbxLimitTopTorque, 4, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit TopTorque DriveCycle Interurban"),
+			TestCase(Group5TestJob_BoostingAndGbxLimitTopTorque, 5, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit TopTorque DriveCycle MunicipalUtility"),
+			TestCase(Group5TestJob_BoostingAndGbxLimitTopTorque, 6, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit TopTorque DriveCycle RegionalDelivery"),
+			TestCase(Group5TestJob_BoostingAndGbxLimitTopTorque, 7, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit TopTorque DriveCycle Suburban"),
+			TestCase(Group5TestJob_BoostingAndGbxLimitTopTorque, 8, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit TopTorque DriveCycle Urban"),
+			TestCase(Group5TestJob_BoostingAndGbxLimitTopTorque, 9, TestName = "P2 Hybrid Group 5 BoostingAndGbxLimit TopTorque DriveCycle UrbanDelivery"),
+		]
+		[
+			TestCase(Group5TestJob_BoostingLimitTopTorque, 0, TestName = "P2 Hybrid Group 5 BoostingLimit TopTorque DriveCycle LongHaul"),
+			TestCase(Group5TestJob_BoostingLimitTopTorque, 1, TestName = "P2 Hybrid Group 5 BoostingLimit TopTorque DriveCycle Coach"),
+			TestCase(Group5TestJob_BoostingLimitTopTorque, 2, TestName = "P2 Hybrid Group 5 BoostingLimit TopTorque DriveCycle Construction"),
+			TestCase(Group5TestJob_BoostingLimitTopTorque, 3, TestName = "P2 Hybrid Group 5 BoostingLimit TopTorque DriveCycle HeavyUrban"),
+			TestCase(Group5TestJob_BoostingLimitTopTorque, 4, TestName = "P2 Hybrid Group 5 BoostingLimit TopTorque DriveCycle Interurban"),
+			TestCase(Group5TestJob_BoostingLimitTopTorque, 5, TestName = "P2 Hybrid Group 5 BoostingLimit TopTorque DriveCycle MunicipalUtility"),
+			TestCase(Group5TestJob_BoostingLimitTopTorque, 6, TestName = "P2 Hybrid Group 5 BoostingLimit TopTorque DriveCycle RegionalDelivery"),
+			TestCase(Group5TestJob_BoostingLimitTopTorque, 7, TestName = "P2 Hybrid Group 5 BoostingLimit TopTorque DriveCycle Suburban"),
+			TestCase(Group5TestJob_BoostingLimitTopTorque, 8, TestName = "P2 Hybrid Group 5 BoostingLimit TopTorque DriveCycle Urban"),
+			TestCase(Group5TestJob_BoostingLimitTopTorque, 9, TestName = "P2 Hybrid Group 5 BoostingLimit TopTorque DriveCycle UrbanDelivery"),
 		]
 		public void P2HybridGroup5DriveCycle(string jobFile, int cycleIdx)
 		{ RunHybridJob(jobFile, cycleIdx); }
 
+
+
 		[
 			TestCase(Group5TestJob_BatterySystem, 0, TestName = "P2 Hybrid Group 5 BatterySystem DriveCycle LongHaul"),
 			TestCase(Group5TestJob_BatterySystem, 1, TestName = "P2 Hybrid Group 5 BatterySystem DriveCycle Coach"),
@@ -1368,14 +1539,14 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 
 		public static JobContainer CreateEngineeringRun(DrivingCycleData cycleData, string modFileName,
 			double initialSoc, PowertrainPosition pos, double ratio, bool largeMotor = false, double pAuxEl = 0,
-			Kilogram payload = null, Watt maxDriveTrainPower = null, GearboxType gearboxType = GearboxType.NoGearbox)
+			Kilogram payload = null, GearboxType gearboxType = GearboxType.NoGearbox,
+			NewtonMeter maxGearboxTorque = null, NewtonMeter boostingLimit = null, NewtonMeter topTorque = null)
 		{
 			var fileWriter = new FileOutputWriter(Path.GetFileNameWithoutExtension(modFileName));
 			var sumData = new SummaryDataContainer(fileWriter);
 			var jobContainer = new JobContainer(sumData);
 			var container = CreateParallelHybridPowerTrain(
-				cycleData, modFileName, initialSoc, largeMotor, sumData, pAuxEl, pos, ratio, payload,
-				maxDriveTrainPower, gearboxType);
+				cycleData, modFileName, initialSoc, largeMotor, sumData, pAuxEl, pos, ratio, payload, gearboxType, maxGearboxTorque, boostingLimit, topTorque);
 			var run = new DistanceRun(container);
 			jobContainer.AddRun(run);
 			return jobContainer;
@@ -1391,7 +1562,9 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 
 		public static VehicleContainer CreateParallelHybridPowerTrain(DrivingCycleData cycleData, string modFileName,
 			double initialBatCharge, bool largeMotor, SummaryDataContainer sumData, double pAuxEl,
-			PowertrainPosition pos, double ratio, Kilogram payload = null, Watt maxDriveTrainPower = null, GearboxType gearboxType = GearboxType.NoGearbox)
+			PowertrainPosition pos, double ratio, Kilogram payload = null,
+			GearboxType gearboxType = GearboxType.NoGearbox, NewtonMeter maxGearboxTorque = null,
+			NewtonMeter boostingLimit = null, NewtonMeter topTorque = null)
 		{ 
 			var gearboxData = CreateGearboxData(gearboxType);
 			var axleGearData = CreateAxleGearData(gearboxType);
@@ -1408,7 +1581,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 			//batteryData.TargetSoC = 0.5;
 
 			var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(
-				 Truck40tPowerTrain.EngineFile, gearboxData.Gears.Count);
+				 Truck40tPowerTrain.EngineFile, gearboxData.Gears.Count, topTorque);
 
 			foreach (var entry in gearboxData.Gears) {
 				entry.Value.ShiftPolygon = DeclarationData.Gearbox.ComputeEfficiencyShiftPolygon(
@@ -1433,9 +1606,32 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 				EngineData = engineData,
 				BatteryData = batteryData,
 				GearshiftParameters = CreateGearshiftData(gearboxData, axleGearData.AxleGear.Ratio, engineData.IdleSpeed),
-				HybridStrategyParameters = CreateHybridStrategyData(maxDriveTrainPower),
+				HybridStrategyParameters = CreateHybridStrategyData(),
 				ElectricAuxDemand = pAuxEl.SI<Watt>()
 			};
+			var mockVehicleInput = new MockEngineeringVehicleInputData() { };
+			mockVehicleInput.ElectricMachines = new MockElectricMachinesInputData() {
+				Entries = new List<ElectricMachineEntry<IElectricMotorEngineeringInputData>>() {
+					new ElectricMachineEntry<IElectricMotorEngineeringInputData>() {
+						Position = pos
+					}
+				}
+			};
+			if (boostingLimit != null) {
+				mockVehicleInput.BoostingLimitations = VectoCSVFile.ReadStream(
+					$"n, T_drive\n0, {boostingLimit.Value()}\n1000, {boostingLimit.Value()}".ToStream());
+				runData.HybridStrategyParameters.MaxPropulsionTorque =
+					EngineeringDataAdapter.CreateMaxPropulsionTorque(mockVehicleInput, engineData,
+						gearboxData);
+			}
+			if (maxGearboxTorque != null) {
+				foreach (var gear in gearboxData.Gears) {
+					gear.Value.MaxTorque = maxGearboxTorque;
+				}
+				runData.HybridStrategyParameters.MaxPropulsionTorque =
+					EngineeringDataAdapter.CreateMaxPropulsionTorque(mockVehicleInput, engineData,
+						gearboxData);
+			}
 			var fileWriter = new FileOutputWriter(modFileName);
 			var modDataFilter = new IModalDataFilter[] { }; //new IModalDataFilter[] { new ActualModalDataFilter(), };
 			var modData = new ModalDataContainer(runData, fileWriter, null, modDataFilter)
@@ -1506,7 +1702,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Hybrid
 			return container;
 		}
 
-		private static HybridStrategyParameters CreateHybridStrategyData(Watt maxDriveTrainPower)
+		private static HybridStrategyParameters CreateHybridStrategyData()
 		{
 			return new HybridStrategyParameters() {
 				EquivalenceFactorDischarge = 2.5,
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/P2 Group 5_GbxTqLimit.vecto b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/P2 Group 5_GbxTqLimit.vecto
new file mode 100644
index 0000000000000000000000000000000000000000..2fed58464c3fc7ca09dae981ecc889c17f12bd60
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/P2 Group 5_GbxTqLimit.vecto	
@@ -0,0 +1,64 @@
+{
+  "Header": {
+    "CreatedBy": "",
+    "Date": "2020-08-24T13:41:04.1591616Z",
+    "AppVersion": "3",
+    "FileVersion": 8
+  },
+  "Body": {
+    "SavedInDeclMode": false,
+    "EngineOnlyMode": false,
+    "VehicleFile": "Vehicle\\Group5_HEV.vveh",
+    "EngineFile": "VKM\\Engine_325kW_12.7l.veng",
+    "GearboxFile": "Transmission\\AMT_12_TqLimit2500.vgbx",
+    "TCU": "Transmission\\AMT_12.vgbx",
+    "ShiftStrategy": "TUGraz.VectoCore.Models.SimulationComponent.Impl.AMTShiftStrategy",
+    "HybridStrategyParams": "ElectricMotor\\Inputdaten P2 Group 5\\Electric components\\Hybrid_Parameters.vhctl",
+    "AuxiliaryAssembly": "Classic",
+    "AuxiliaryVersion": "CLASSIC",
+    "AdvancedAuxiliaryFilePath": "",
+    "Aux": [],
+    "Padd": 3000.0,
+    "Padd_electric": 0.0,
+    "VACC": "Vehicle\\Truck.vacc",
+    "EngineStopStartAtVehicleStopThreshold": 0.0,
+    "EngineStopStartMaxOffTimespan": 1000.0,
+    "EngineStopStartUtilityFactor": 0.0,
+    "EcoRollMinSpeed": 0.0,
+    "EcoRollActivationDelay": 0.0,
+    "EcoRollUnderspeedThreshold": 0.0,
+    "EcoRollMaxAcceleration": 0.0,
+    "PCCEnableSpeed": 0.0,
+    "PCCMinSpeed": 0.0,
+    "PCCUnderspeed": 0.0,
+    "PCCOverSpeed": 5.0,
+    "PCCPreviewDistanceUC1": 0.0,
+    "PCCPreviewDistanceUC2": 0.0,
+    "LAC": {
+      "Enabled": true,
+      "PreviewDistanceFactor": 10.0,
+      "DF_offset": 2.5,
+      "DF_scaling": 1.5,
+      "DF_targetSpeedLookup": "",
+      "Df_velocityDropLookup": "",
+      "MinSpeed": 50.0
+    },
+    "OverSpeedEcoRoll": {
+      "Mode": "Overspeed",
+      "MinSpeed": 50.0,
+      "OverSpeed": 2.5
+    },
+    "Cycles": [
+      "LongHaul",
+      "Coach",
+      "Construction",
+      "HeavyUrban",
+      "Interurban",
+      "MunicipalUtility",
+      "RegionalDelivery",
+      "Suburban",
+      "Urban",
+      "UrbanDelivery"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Transmission/AMT_12_TqLimit2500.vgbx b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Transmission/AMT_12_TqLimit2500.vgbx
new file mode 100644
index 0000000000000000000000000000000000000000..30205aa8a09beafbd2fe76d6f39b4b4e16f3ea45
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Hybrids/GenericVehicle_Group5_P2/Transmission/AMT_12_TqLimit2500.vgbx
@@ -0,0 +1,117 @@
+{
+  "Header": {
+    "CreatedBy": "",
+    "Date": "2020-08-21T09:25:38.1210499Z",
+    "AppVersion": "3",
+    "FileVersion": 6
+  },
+  "Body": {
+    "SavedInDeclMode": false,
+    "ModelName": "tractor_12gear_example",
+    "Inertia": 0.0,
+    "TracInt": 1.0,
+    "Gears": [
+      {
+        "Ratio": 2.64,
+        "LossMap": "Axle_4x2_Tractor.vtlm"
+      },
+      {
+        "Ratio": 14.93,
+        "LossMap": "Gear_1.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 11.64,
+        "LossMap": "Gear_2.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 9.02,
+        "LossMap": "Gear_3.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 7.04,
+        "LossMap": "Gear_4.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 5.64,
+        "LossMap": "Gear_5.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 4.4,
+        "LossMap": "Gear_6.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 3.39,
+        "LossMap": "Gear_7.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 2.65,
+        "LossMap": "Gear_8.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 2.05,
+        "LossMap": "Gear_9.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 1.6,
+        "LossMap": "Gear_10.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 1.28,
+        "LossMap": "Gear_11.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 1.0,
+        "LossMap": "Gear_12.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "2500",
+        "MaxSpeed": ""
+      }
+    ],
+    "TqReserve": 20.0,
+    "ShiftTime": 2.0,
+    "StartTqReserve": 20.0,
+    "StartSpeed": 2.0,
+    "StartAcc": 0.6,
+    "GearboxType": "AMT",
+    "TorqueConverter": {
+      "Enabled": false
+    },
+    "DownshiftAfterUpshiftDelay": 6.0,
+    "UpshiftAfterDownshiftDelay": 6.0,
+    "UpshiftMinAcceleration": 0.1,
+    "PowershiftShiftTime": 0.8
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
index be422960bd1be27ab79709f744f9be9f797295ad..afee0cfbe743cbf87a6e9c4943458f2f5e1b7beb 100644
--- a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
+++ b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
@@ -119,7 +119,7 @@ namespace TUGraz.VectoCore.Tests.Utils
 		public bool Articulated { get; }
 		public Meter Height { get; }
 		public TableData ElectricMotorTorqueLimits { get; }
-		public TableData BoostingLimitations { get; }
+		public TableData BoostingLimitations { get; set; }
 		public Meter Length { get; set; }
 		public Meter Width { get; set; }
 		public Meter EntranceHeight { get; }
diff --git a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs
index 3c89b0fe245d6ff336d47210ff3a40fc8fda3aec..89cb4aa357f7538fa59d723c3af9793f7f735d98 100644
--- a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs
+++ b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs
@@ -151,6 +151,26 @@ namespace TUGraz.VectoCore.Tests.Utils
 			return engineData;
 		}
 
+		public static CombustionEngineData CreateEngineDataFromFile(string engineFile, int numGears, NewtonMeter topTorque)
+		{
+			var dao = new EngineeringDataAdapter();
+			var engineInput = JSONInputDataFactory.ReadEngine(engineFile);
+			var vehicleInput = new MockEngineeringVehicleInputData() {
+				EngineInputData = engineInput,
+			};
+			var engineData = dao.CreateEngineData(vehicleInput, engineInput.EngineModes.First());
+			for (uint i = 1; i <= numGears; i++) {
+				if (i < numGears) {
+					engineData.FullLoadCurves[i] =
+						AbstractSimulationDataAdapter.IntersectFullLoadCurves(engineData.FullLoadCurves[0], topTorque);
+				} else {
+					engineData.FullLoadCurves[i] = engineData.FullLoadCurves[0];
+				}
+			}
+
+			return engineData;
+		}
+
 		public static VehicleData CreateVehicleDataFromFile(string vehicleDataFile)
 		{
 			var dao = new EngineeringDataAdapter();
@@ -199,6 +219,8 @@ namespace TUGraz.VectoCore.Tests.Utils
 			var inputData = JSONInputDataFactory.ReadREESSData(file, false);
 			return new EngineeringDataAdapter().CreateBatteryData(new MockBatteryInputData() {REESSPack = inputData}, initialSoC);
 		}
+
+		
 	}
 
 	public class MockComponentsTest : IVehicleComponentsDeclaration
diff --git a/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group42_SmartPS.RSLT_VIF.xml b/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group42_SmartPS.RSLT_VIF.xml
deleted file mode 100644
index c953f429177e094f02dfd04e86fa2c484abeabaa..0000000000000000000000000000000000000000
--- a/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group42_SmartPS.RSLT_VIF.xml	
+++ /dev/null
@@ -1,604 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<VectoOutputMultistep xmlns:di="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vif0.1="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1" 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:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1 V:\VectoCore\VectoCore\Resources\XSD/VectoOutputMultistep.0.1.xsd" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1">
-  <PrimaryVehicle>
-    <Data id="VEH-bce95de06ff54c85bca9" xsi:type="PrimaryVehicleDataType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1">
-      <Vehicle xsi:type="VehiclePIFType">
-        <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle>
-        <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle>
-        <Model>Generic Model Primary</Model>
-        <VIN>VEH-1234567890_SmartPS</VIN>
-        <Date>2017-02-15T11:00:00Z</Date>
-        <LegislativeCategory>M3</LegislativeCategory>
-        <ChassisConfiguration>Bus</ChassisConfiguration>
-        <AxleConfiguration>6x2</AxleConfiguration>
-        <Articulated>false</Articulated>
-        <TechnicalPermissibleMaximumLadenMass>25000</TechnicalPermissibleMaximumLadenMass>
-        <IdlingSpeed>600</IdlingSpeed>
-        <RetarderType>Transmission Output Retarder</RetarderType>
-        <RetarderRatio>1.000</RetarderRatio>
-        <AngledriveType>None</AngledriveType>
-        <ZeroEmissionVehicle>false</ZeroEmissionVehicle>
-        <vif0.1:ADAS xsi:type="ADAS_Conventional_Type" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4">
-          <EngineStopStart>false</EngineStopStart>
-          <EcoRollWithoutEngineStop>false</EcoRollWithoutEngineStop>
-          <EcoRollWithEngineStop>false</EcoRollWithEngineStop>
-          <PredictiveCruiseControl>none</PredictiveCruiseControl>
-        </vif0.1:ADAS>
-        <vif0.1:TorqueLimits xsi:type="TorqueLimitsType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
-          <Entry gear="6" maxTorque="1800" />
-          <Entry gear="1" maxTorque="2500" />
-          <Entry gear="12" maxTorque="1900" />
-        </vif0.1:TorqueLimits>
-        <Components xsi:type="VehicleComponentsPIFType">
-          <Engine>
-            <Data xsi:type="EngineDataPIFType">
-              <Manufacturer>Generic Engine Manufacturer Primary</Manufacturer>
-              <Model>Bus 6x2 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>1800</RatedSpeed>
-              <RatedPower>325032</RatedPower>
-              <MaxEngineTorque>2134</MaxEngineTorque>
-              <WHRType>
-                <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE>
-                <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain>
-                <v2.3:ElectricalOutput>false</v2.3:ElectricalOutput>
-              </WHRType>
-              <Mode>
-                <IdlingSpeed>600</IdlingSpeed>
-                <FullLoadAndDragCurve>
-                  <Entry engineSpeed="600.00" maxTorque="1188.00" dragTorque="-138.00" />
-                  <Entry engineSpeed="800.00" maxTorque="1661.00" dragTorque="-143.00" />
-                  <Entry engineSpeed="1000.00" maxTorque="2134.00" dragTorque="-152.00" />
-                  <Entry engineSpeed="1200.00" maxTorque="2134.00" dragTorque="-165.00" />
-                  <Entry engineSpeed="1400.00" maxTorque="2134.00" dragTorque="-187.00" />
-                  <Entry engineSpeed="1600.00" maxTorque="1928.00" dragTorque="-217.00" />
-                  <Entry engineSpeed="1800.00" maxTorque="1722.00" dragTorque="-244.00" />
-                  <Entry engineSpeed="2000.00" maxTorque="1253.00" dragTorque="-278.00" />
-                  <Entry engineSpeed="2100.00" maxTorque="1019.00" dragTorque="-296.00" />
-                  <Entry engineSpeed="2200.00" maxTorque="0.00" dragTorque="-314.00" />
-                </FullLoadAndDragCurve>
-                <Fuels>
-                  <FuelType>Diesel CI</FuelType>
-                </Fuels>
-              </Mode>
-            </Data>
-          </Engine>
-          <Transmission>
-            <Data xsi:type="TransmissionDataPIFType">
-              <Manufacturer>Generic Gearbox Manufacturer Primary</Manufacturer>
-              <Model>Generic 40t Long Haul Truck Gearbox Primary</Model>
-              <MainCertificationMethod>Standard values</MainCertificationMethod>
-              <Date>2017-01-11T11:00:00Z</Date>
-              <AppVersion>3.0.1</AppVersion>
-              <TransmissionType>AMT</TransmissionType>
-              <Gears xsi:type="TransmissionGearsPIFType">
-                <Gear number="1">
-                  <Ratio>14.930</Ratio>
-                  <MaxTorque>1900</MaxTorque>
-                  <MaxSpeed>2000</MaxSpeed>
-                </Gear>
-                <Gear number="2">
-                  <Ratio>11.640</Ratio>
-                  <MaxTorque>1900</MaxTorque>
-                  <MaxSpeed>2000</MaxSpeed>
-                </Gear>
-                <Gear number="3">
-                  <Ratio>9.020</Ratio>
-                  <MaxSpeed>2000</MaxSpeed>
-                </Gear>
-                <Gear number="4">
-                  <Ratio>7.040</Ratio>
-                  <MaxSpeed>2000</MaxSpeed>
-                </Gear>
-                <Gear number="5">
-                  <Ratio>5.640</Ratio>
-                  <MaxSpeed>2000</MaxSpeed>
-                </Gear>
-                <Gear number="6">
-                  <Ratio>4.400</Ratio>
-                  <MaxSpeed>2000</MaxSpeed>
-                </Gear>
-                <Gear number="7">
-                  <Ratio>3.390</Ratio>
-                  <MaxSpeed>2000</MaxSpeed>
-                </Gear>
-                <Gear number="8">
-                  <Ratio>2.650</Ratio>
-                  <MaxSpeed>2000</MaxSpeed>
-                </Gear>
-                <Gear number="9">
-                  <Ratio>2.050</Ratio>
-                  <MaxSpeed>2000</MaxSpeed>
-                </Gear>
-                <Gear number="10">
-                  <Ratio>1.600</Ratio>
-                  <MaxSpeed>2000</MaxSpeed>
-                </Gear>
-                <Gear number="11">
-                  <Ratio>1.280</Ratio>
-                  <MaxSpeed>2000</MaxSpeed>
-                </Gear>
-                <Gear number="12">
-                  <Ratio>1.000</Ratio>
-                </Gear>
-              </Gears>
-            </Data>
-          </Transmission>
-          <Axlegear>
-            <Data xsi:type="AxlegearDataPIFType">
-              <Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
-              <Model>Generic 40t Long Haul Truck AxleGear Primary</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="AxleWheelsDataPIFType">
-              <Axles>
-                <Axle axleNumber="1" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:AxleDataDeclarationType">
-                  <v2.0:AxleType>VehicleNonDriven</v2.0:AxleType>
-                  <v2.0:TwinTyres>false</v2.0:TwinTyres>
-                  <v2.0:Steered>true</v2.0:Steered>
-                  <v2.0:Tyre>
-                    <v2.0:Data id="WHL-5432198760-315-70-R22.5" xsi:type="v2.0:TyreDataDeclarationType">
-                      <v2.0:Manufacturer>Generic Wheels Manufacturer</v2.0:Manufacturer>
-                      <v2.0:Model>Generic Wheel</v2.0:Model>
-                      <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
-                      <v2.0:Date>2017-01-11T14:00:00Z</v2.0:Date>
-                      <v2.0:AppVersion>Tyre Generation App 1.0</v2.0:AppVersion>
-                      <v2.0:Dimension>315/70 R22.5</v2.0:Dimension>
-                      <v2.0:RRCDeclared>0.0055</v2.0:RRCDeclared>
-                      <v2.0:FzISO>31300</v2.0:FzISO>
-                    </v2.0:Data>
-                    <v2.0:Signature>
-                      <di:Reference URI="#WHL-5432198760-315-70-R22.5" xmlns:di="http://www.w3.org/2000/09/xmldsig#">
-                        <di:Transforms>
-                          <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
-                          <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
-                        </di:Transforms>
-                        <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
-                        <di:DigestValue>4TkUGQTX8tevHOU9Cj9uyCFuI/aqcEYlo/gyVjVQmv0=</di:DigestValue>
-                      </di:Reference>
-                    </v2.0:Signature>
-                  </v2.0:Tyre>
-                </Axle>
-                <Axle axleNumber="2" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:AxleDataDeclarationType">
-                  <v2.0:AxleType>VehicleDriven</v2.0:AxleType>
-                  <v2.0:TwinTyres>true</v2.0:TwinTyres>
-                  <v2.0:Steered>false</v2.0:Steered>
-                  <v2.0:Tyre>
-                    <v2.0:Data id="WHL-5432198760-315-70-R22.5" xsi:type="v2.0:TyreDataDeclarationType">
-                      <v2.0:Manufacturer>Generic Wheels Manufacturer</v2.0:Manufacturer>
-                      <v2.0:Model>Generic Wheel</v2.0:Model>
-                      <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
-                      <v2.0:Date>2017-01-11T14:00:00Z</v2.0:Date>
-                      <v2.0:AppVersion>Tyre Generation App 1.0</v2.0:AppVersion>
-                      <v2.0:Dimension>315/70 R22.5</v2.0:Dimension>
-                      <v2.0:RRCDeclared>0.0063</v2.0:RRCDeclared>
-                      <v2.0:FzISO>31300</v2.0:FzISO>
-                    </v2.0:Data>
-                    <v2.0:Signature>
-                      <di:Reference URI="#WHL-5432198760-315-70-R22.5" xmlns:di="http://www.w3.org/2000/09/xmldsig#">
-                        <di:Transforms>
-                          <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
-                          <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
-                        </di:Transforms>
-                        <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
-                        <di:DigestValue>KljvtvGUUQ/L7MiLVAqU+bckL5PNDNNwdeLH9kUVrfM=</di:DigestValue>
-                      </di:Reference>
-                    </v2.0:Signature>
-                  </v2.0:Tyre>
-                </Axle>
-                <Axle axleNumber="3" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:AxleDataDeclarationType">
-                  <v2.0:AxleType>VehicleNonDriven</v2.0:AxleType>
-                  <v2.0:TwinTyres>false</v2.0:TwinTyres>
-                  <v2.0:Steered>false</v2.0:Steered>
-                  <v2.0:Tyre>
-                    <v2.0:Data id="WHL-5432198760-315-70-R22.5" xsi:type="v2.0:TyreDataDeclarationType">
-                      <v2.0:Manufacturer>Generic Wheels Manufacturer</v2.0:Manufacturer>
-                      <v2.0:Model>Generic Wheel</v2.0:Model>
-                      <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
-                      <v2.0:Date>2017-01-11T14:00:00Z</v2.0:Date>
-                      <v2.0:AppVersion>Tyre Generation App 1.0</v2.0:AppVersion>
-                      <v2.0:Dimension>315/70 R22.5</v2.0:Dimension>
-                      <v2.0:RRCDeclared>0.0055</v2.0:RRCDeclared>
-                      <v2.0:FzISO>31300</v2.0:FzISO>
-                    </v2.0:Data>
-                    <v2.0:Signature>
-                      <di:Reference URI="#WHL-5432198760-315-70-R22.5" xmlns:di="http://www.w3.org/2000/09/xmldsig#">
-                        <di:Transforms>
-                          <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
-                          <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
-                        </di:Transforms>
-                        <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
-                        <di:DigestValue>4TkUGQTX8tevHOU9Cj9uyCFuI/aqcEYlo/gyVjVQmv0=</di:DigestValue>
-                      </di:Reference>
-                    </v2.0:Signature>
-                  </v2.0:Tyre>
-                </Axle>
-              </Axles>
-            </Data>
-          </AxleWheels>
-          <Auxiliaries>
-            <Data xsi:type="AuxiliaryDataPIFType">
-              <Fan>
-                <Technology>Hydraulic driven - Constant displacement pump</Technology>
-              </Fan>
-              <SteeringPump>
-                <Technology axleNumber="1">Variable displacement elec. controlled</Technology>
-              </SteeringPump>
-              <ElectricSystem>
-                <AlternatorTechnology>conventional</AlternatorTechnology>
-              </ElectricSystem>
-              <PneumaticSystem>
-                <SizeOfAirSupply>Large Supply 2-stage</SizeOfAirSupply>
-                <CompressorDrive>electrically</CompressorDrive>
-                <Clutch>none</Clutch>
-                <CompressorRatio>1.000</CompressorRatio>
-                <SmartCompressionSystem>true</SmartCompressionSystem>
-                <SmartRegenerationSystem>false</SmartRegenerationSystem>
-                <AirsuspensionControl>electronically</AirsuspensionControl>
-                <PneumaticSCRReagentDosing>true</PneumaticSCRReagentDosing>
-              </PneumaticSystem>
-              <HVAC>
-                <AdjustableCoolantThermostat>true</AdjustableCoolantThermostat>
-                <EngineWasteGasHeatExchanger>true</EngineWasteGasHeatExchanger>
-              </HVAC>
-            </Data>
-          </Auxiliaries>
-        </Components>
-      </Vehicle>
-      <InputDataSignature>
-        <di:Reference URI="#VEH-PrimaryBus_SmartPS">
-          <di:Transforms>
-            <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
-            <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
-          </di:Transforms>
-          <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
-          <di:DigestValue>JKmEGO5ChZ+EWf9fu/yxJQldo/kvXaJnmhgcz2YQTpU=</di:DigestValue>
-        </di:Reference>
-      </InputDataSignature>
-      <ManufacturerRecordSignature>
-        <di:Reference URI="#RESULT-75ce50bbcc114a1a8fa8">
-          <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>nFutXxdSkqt7h2WAMbnJuL50CjfABdvcu9V30e0y1NI=</di:DigestValue>
-        </di:Reference>
-      </ManufacturerRecordSignature>
-      <Results>
-        <Status>success</Status>
-        <Result status="success">
-          <VehicleGroup>P33SD</VehicleGroup>
-          <Mission>Heavy Urban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">15527.52</TotalVehicleMass>
-            <Payload unit="kg">1352.52</Payload>
-            <PassengerCount>19.89</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">21.18710</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1553.06</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33SD</VehicleGroup>
-          <Mission>Heavy Urban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">20937.60</TotalVehicleMass>
-            <Payload unit="kg">6762.60</Payload>
-            <PassengerCount>99.45</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">25.36235</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1859.11</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33SD</VehicleGroup>
-          <Mission>Urban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">15527.52</TotalVehicleMass>
-            <Payload unit="kg">1352.52</Payload>
-            <PassengerCount>19.89</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">16.73089</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1226.41</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33SD</VehicleGroup>
-          <Mission>Urban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">20937.60</TotalVehicleMass>
-            <Payload unit="kg">6762.60</Payload>
-            <PassengerCount>99.45</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">20.22898</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1482.83</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33SD</VehicleGroup>
-          <Mission>Suburban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">15527.52</TotalVehicleMass>
-            <Payload unit="kg">1352.52</Payload>
-            <PassengerCount>19.89</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">14.37825</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1053.96</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33SD</VehicleGroup>
-          <Mission>Suburban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">20937.60</TotalVehicleMass>
-            <Payload unit="kg">6762.60</Payload>
-            <PassengerCount>99.45</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">17.62230</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1291.75</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33SD</VehicleGroup>
-          <Mission>Interurban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">15469.51</TotalVehicleMass>
-            <Payload unit="kg">1294.51</Payload>
-            <PassengerCount>18.23</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">11.83195</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">867.31</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33SD</VehicleGroup>
-          <Mission>Interurban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">18411.57</TotalVehicleMass>
-            <Payload unit="kg">4236.57</Payload>
-            <PassengerCount>59.67</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">13.25049</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">971.29</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33DD</VehicleGroup>
-          <Mission>Heavy Urban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">16303.29</TotalVehicleMass>
-            <Payload unit="kg">1578.29</Payload>
-            <PassengerCount>23.21</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">22.69048</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1663.26</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33DD</VehicleGroup>
-          <Mission>Heavy Urban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">22616.43</TotalVehicleMass>
-            <Payload unit="kg">7891.43</Payload>
-            <PassengerCount>116.05</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">27.91380</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">2046.14</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33DD</VehicleGroup>
-          <Mission>Urban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">16303.29</TotalVehicleMass>
-            <Payload unit="kg">1578.29</Payload>
-            <PassengerCount>23.21</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">17.89886</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1312.02</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33DD</VehicleGroup>
-          <Mission>Urban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">22616.43</TotalVehicleMass>
-            <Payload unit="kg">7891.43</Payload>
-            <PassengerCount>116.05</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">22.22866</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1629.41</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33DD</VehicleGroup>
-          <Mission>Suburban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">16303.29</TotalVehicleMass>
-            <Payload unit="kg">1578.29</Payload>
-            <PassengerCount>23.21</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">15.31725</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1122.79</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P33DD</VehicleGroup>
-          <Mission>Suburban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">22616.43</TotalVehicleMass>
-            <Payload unit="kg">7891.43</Payload>
-            <PassengerCount>116.05</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">19.28148</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1413.37</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P34SD</VehicleGroup>
-          <Mission>Interurban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">16467.68</TotalVehicleMass>
-            <Payload unit="kg">1254.68</Payload>
-            <PassengerCount>17.67</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">11.94624</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">875.68</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P34SD</VehicleGroup>
-          <Mission>Interurban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">19319.21</TotalVehicleMass>
-            <Payload unit="kg">4106.21</Payload>
-            <PassengerCount>57.83</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">13.32545</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">976.78</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P34SD</VehicleGroup>
-          <Mission>Coach</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">16490.49</TotalVehicleMass>
-            <Payload unit="kg">1277.49</Payload>
-            <PassengerCount>17.99</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">8.71857</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">639.09</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P34SD</VehicleGroup>
-          <Mission>Coach</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">18406.72</TotalVehicleMass>
-            <Payload unit="kg">3193.72</Payload>
-            <PassengerCount>44.98</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">9.20204</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">674.53</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P34DD</VehicleGroup>
-          <Mission>Interurban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">19588.08</TotalVehicleMass>
-            <Payload unit="kg">1738.08</Payload>
-            <PassengerCount>24.48</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">13.58782</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">996.02</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P34DD</VehicleGroup>
-          <Mission>Interurban</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">23643.60</TotalVehicleMass>
-            <Payload unit="kg">5793.60</Payload>
-            <PassengerCount>81.60</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">15.57745</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">1141.86</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P34DD</VehicleGroup>
-          <Mission>Coach</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">19703.95</TotalVehicleMass>
-            <Payload unit="kg">1853.95</Payload>
-            <PassengerCount>26.11</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">9.82883</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">720.47</CO2>
-        </Result>
-        <Result status="success">
-          <VehicleGroup>P34DD</VehicleGroup>
-          <Mission>Coach</Mission>
-          <SimulationParameters>
-            <TotalVehicleMass unit="kg">22484.88</TotalVehicleMass>
-            <Payload unit="kg">4634.88</Payload>
-            <PassengerCount>65.28</PassengerCount>
-            <FuelMode>single fuel mode</FuelMode>
-          </SimulationParameters>
-          <Fuel type="Diesel CI">
-            <EnergyConsumption unit="MJ/km">10.56696</EnergyConsumption>
-          </Fuel>
-          <CO2 unit="g/km">774.58</CO2>
-        </Result>
-      </Results>
-      <ApplicationInformation>
-        <SimulationToolVersion>0.7.7.2547-DEV !!NOT FOR CERTIFICATION!!</SimulationToolVersion>
-        <Date>2022-02-04T13:12:27.6775278Z</Date>
-      </ApplicationInformation>
-    </Data>
-    <Signature>
-      <di:Reference URI="#VEH-bce95de06ff54c85bca9">
-        <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>3nwxGv2EIt273Cowtnqnd99NijSf4E6945LbLgs886M=</di:DigestValue>
-      </di:Reference>
-    </Signature>
-  </PrimaryVehicle>
-</VectoOutputMultistep>
\ No newline at end of file