diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
index 6a1a8f3085a7eed743bcaa40b051d92fe57eafa3..f049130efb609cfcfbbd51b2466652f3d88321ca 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
@@ -155,7 +155,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			return retVal;
 		}
 
-		internal GearboxData SetCommonGearboxData(IGearboxDeclarationInputData data)
+		internal static GearboxData SetCommonGearboxData(IGearboxDeclarationInputData data)
 		{
 			return new GearboxData {
 				InputData = data,
@@ -170,8 +170,14 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			};
 		}
 
-		protected TransmissionLossMap CreateGearLossMap(ITransmissionInputData gear, uint i, bool useEfficiencyFallback)
+		protected static TransmissionLossMap CreateGearLossMap(ITransmissionInputData gear, uint i, bool useEfficiencyFallback, VehicleCategory vehicleCategory )
 		{
+			// TODO MQ 20200401 maybe vehiclecategory heavybuscompleted is not correct here.
+			if (vehicleCategory == VehicleCategory.HeavyBusCompletedVehicle) {
+				return gear.Ratio.IsEqual(1)
+					? TransmissionLossMapReader.Create(0.98, gear.Ratio, $"Gear {i + 1}")
+					: TransmissionLossMapReader.Create(0.96, gear.Ratio, $"Gear {i + 1}");
+			}
 			if (gear.LossMap != null) {
 				return TransmissionLossMapReader.Create(gear.LossMap, gear.Ratio, string.Format("Gear {0}", i + 1), true);
 			}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs
index a1eb9c4b278190e08f5b6eccf2db77b5ee354f8b..f80af57120def5d0d3e0d362df92087741a42549 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterHeavyLorry.cs
@@ -312,11 +312,17 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 		public virtual GearboxData CreateGearboxData(IVehicleDeclarationInputData inputData, VectoRunData runData,
 			IShiftPolygonCalculator shiftPolygonCalc)
 		{
-			var gearbox = inputData.Components.GearboxInputData;
-
-			if (!gearbox.SavedInDeclarationMode) {
+			if (!inputData.Components.GearboxInputData.SavedInDeclarationMode) {
 				WarnDeclarationMode("GearboxData");
 			}
+			return DoCreateGearboxData(inputData, runData, shiftPolygonCalc);
+		}
+
+		public static GearboxData DoCreateGearboxData(IVehicleDeclarationInputData inputData, VectoRunData runData,
+			IShiftPolygonCalculator shiftPolygonCalc)
+		{ 
+			var gearbox = inputData.Components.GearboxInputData;
+
 			var adas = inputData.ADAS;
 			var torqueConverter = inputData.Components.TorqueConverterInputData;
 
@@ -354,9 +360,10 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 
 			var gears = new Dictionary<uint, GearData>();
 			var tcShiftPolygon = DeclarationData.TorqueConverter.ComputeShiftPolygon(engine.FullLoadCurves[0]);
+			var vehicleCategory = inputData.VehicleCategory;
 			for (uint i = 0; i < gearsInput.Count; i++) {
 				var gear = gearsInput[(int)i];
-				var lossMap = CreateGearLossMap(gear, i, false);
+				var lossMap = CreateGearLossMap(gear, i, false, vehicleCategory);
 
 				var shiftPolygon = shiftPolygonCalc != null
 					? shiftPolygonCalc.ComputeDeclarationShiftPolygon(
@@ -394,12 +401,25 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			if (retVal.Type.AutomaticTransmission()) {
 				var ratio = double.IsNaN(retVal.Gears[1].Ratio) ? 1 : retVal.Gears[1].TorqueConverterRatio / retVal.Gears[1].Ratio;
 				retVal.PowershiftShiftTime = DeclarationData.Gearbox.PowershiftShiftTime;
-				retVal.TorqueConverterData = TorqueConverterDataReader.Create(
-					torqueConverter.TCData,
-					DeclarationData.TorqueConverter.ReferenceRPM, DeclarationData.TorqueConverter.MaxInputSpeed,
-					ExecutionMode.Declaration, ratio,
-					DeclarationData.TorqueConverter.CLUpshiftMinAcceleration,
-					DeclarationData.TorqueConverter.CCUpshiftMinAcceleration);
+				// TODO MQ 20200401 maybe vehiclecategory heavybuscompleted is not correct here.
+				if (vehicleCategory == VehicleCategory.HeavyBusCompletedVehicle) {
+					var fileStream = RessourceHelper.ReadStream(DeclarationData.FactorMethodBus.GenericTorqueConvert);
+					retVal.TorqueConverterData = TorqueConverterDataReader.ReadFromStream(fileStream,
+						DeclarationData.TorqueConverter.ReferenceRPM,
+						DeclarationData.TorqueConverter.MaxInputSpeed,
+						ExecutionMode.Declaration,
+						ratio,
+						DeclarationData.TorqueConverter.CLUpshiftMinAcceleration,
+						DeclarationData.TorqueConverter.CCUpshiftMinAcceleration);
+				} else {
+					retVal.TorqueConverterData = TorqueConverterDataReader.Create(
+						torqueConverter.TCData,
+						DeclarationData.TorqueConverter.ReferenceRPM, DeclarationData.TorqueConverter.MaxInputSpeed,
+						ExecutionMode.Declaration, ratio,
+						DeclarationData.TorqueConverter.CLUpshiftMinAcceleration,
+						DeclarationData.TorqueConverter.CCUpshiftMinAcceleration);
+				}
+
 				retVal.TorqueConverterData.ModelName = torqueConverter.Model;
 				retVal.TorqueConverterData.DigestValueInput = torqueConverter.DigestValue?.DigestValue;
 				retVal.TorqueConverterData.CertificationMethod = torqueConverter.CertificationMethod;
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationDataAdapterCompletedBus.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationDataAdapterCompletedBus.cs
index a1f82307dcb36b170472c75c9d1663b8e77b8ec4..b5a47867af9768e0dc99333645f94e4071dce35b 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationDataAdapterCompletedBus.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationDataAdapterCompletedBus.cs
@@ -1,7 +1,5 @@
 using System;
 using System.Collections.Generic;
-using System.IO;
-using System.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
@@ -9,22 +7,20 @@ using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
-using TUGraz.VectoCore.Models.Declaration;
-using TUGraz.VectoCore.Models.Simulation.Data;
-using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
-using TUGraz.VectoCore.Models.BusAuxiliaries;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.Declaration;
+using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.Reader.Impl
 {
 	public class DeclarationDataAdapterCompletedBus
 	{
-		public DriverData CreateDriverData(Segment segment, IVehicleDeclarationInputData primaryVehicle)
+		public DriverData CreateDriverData(Segment segment)
 		{
 			var lookAheadData = new DriverData.LACData
 			{
@@ -47,26 +43,21 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 				AccelerationCurve = AccelerationCurveReader.ReadFromStream(segment.AccelerationFile),
 				LookAheadCoasting = lookAheadData,
 				OverSpeed = overspeedData,
-				EngineStopStart = primaryVehicle.ADAS.EngineStopStart
-					? new DriverData.EngineStopStartData
+				EngineStopStart =  new DriverData.EngineStopStartData
 					{
 						EngineOffStandStillActivationDelay = DeclarationData.Driver.EngineStopStart.ActivationDelay,
 						MaxEngineOffTimespan = DeclarationData.Driver.EngineStopStart.MaxEngineOffTimespan,
 						UtilityFactor = DeclarationData.Driver.EngineStopStart.UtilityFactor
-					}
-					: null,
-				EcoRoll = primaryVehicle.ADAS.EcoRoll != EcoRollType.None
-					? new DriverData.EcoRollData
+					},
+				EcoRoll =  new DriverData.EcoRollData
 					{
 						UnderspeedThreshold = DeclarationData.Driver.EcoRoll.UnderspeedThreshold,
 						MinSpeed = DeclarationData.Driver.EcoRoll.MinSpeed,
 						ActivationPhaseDuration = DeclarationData.Driver.EcoRoll.ActivationDelay,
 						AccelerationLowerLimit = DeclarationData.Driver.EcoRoll.AccelerationLowerLimit,
 						AccelerationUpperLimit = DeclarationData.Driver.EcoRoll.AccelerationUpperLimit
-					}
-					: null,
-				PCC = primaryVehicle.ADAS.PredictiveCruiseControl != PredictiveCruiseControlType.None
-					? new DriverData.PCCData
+					},
+				PCC = new DriverData.PCCData
 					{
 						PCCEnableSpeed = DeclarationData.Driver.PCC.PCCEnableSpeed,
 						MinSpeed = DeclarationData.Driver.PCC.MinSpeed,
@@ -75,7 +66,6 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 						UnderSpeed = DeclarationData.Driver.PCC.Underspeed,
 						OverspeedUseCase3 = DeclarationData.Driver.PCC.OverspeedUseCase3
 					}
-					: null
 			};
 
 
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs
index 894d410be51bbd6c5f190183e3f043eff2850ce6..02a9d675cf5d79d313ddb73b75a83cf7bf0010bd 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs
@@ -137,10 +137,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 			_angledriveData =
 				DeclarationData.FactorMethodBus.CreateAngledriveData(primaryVehicle.Components.AngledriveInputData);
 			
-			_gearboxData = DeclarationData.FactorMethodBus.CreateGearboxData(primaryVehicle, _combustionEngineData.FullLoadCurves[0].MaxTorque);
-
-			var torqueConverterData = DeclarationData.FactorMethodBus.CreateTorqueConverterData(_gearboxData);
-			_gearboxData.TorqueConverterData = torqueConverterData;
+			_gearboxData = DeclarationData.FactorMethodBus.CreateGearboxData(primaryVehicle, new VectoRunData() { EngineData = _combustionEngineData, AxleGearData = _axlegearData, VehicleData =  },
+				null);
 
 			_gearshiftData = DataAdapterPrimary.CreateGearshiftData(
 				_gearboxData, _axlegearData.AxleGear.Ratio * (_angledriveData?.Angledrive.Ratio ?? 1.0), _combustionEngineData.IdleSpeed);
@@ -149,12 +147,13 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 			var primaryBusAuxiliaries = primaryVehicle.Components.BusAuxiliaries;
 
 			_alternatorMap = new SimpleAlternator(
-				DataAdapterPrimary.CalculateAlternatorEfficiency(primaryBusAuxiliaries.ElectricSupply.Alternators));
+				DataAdapterPrimary.CalculateAlternatorEfficiency(primaryBusAuxiliaries.ElectricSupply.Alternators
+					.Concat(vehicle.Components.BusAuxiliaries.ElectricSupply.Alternators).ToList()));
 
 			_compressorMap = DataAdapterPrimary.GetCompressorMap(primaryBusAuxiliaries.PneumaticSupply.CompressorSize,
 				primaryBusAuxiliaries.PneumaticSupply.Clutch);
 
-			var retarderType = ((XMLDeclarationPrimaryVehicleBusDataProviderV01)primaryVehicle).RetarderType;
+			var retarderType = primaryVehicle.Components.RetarderInputData.Type;
 			_consumersDeclarationData = DataAdapterPrimary.CreatePneumaticAuxConfig(retarderType);
 
 			_retarderData =
@@ -276,6 +275,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 			//	mission, InputDataProvider.JobInputData.Vehicle, simulationRunData);
 			//return simulationRunData;
 
+
+			// TODO MQ completedSegment == _segment?
 			var completedSegment = GetCompletedSegment(completedVehicle, primaryVehicle.AxleConfiguration);
 			var primaryBusAuxiliaries = primaryVehicle.Components.BusAuxiliaries;
 
@@ -310,7 +311,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 
 			simulationRunData.Retarder = _retarderData;
 			
-			simulationRunData.DriverData = DataAdapterCompleted.CreateDriverData(completedSegment, primaryVehicle);
+			// todo MQ 20200401: move driver data to initialize method and set member.
+			simulationRunData.DriverData = DataAdapterCompleted.CreateDriverData(completedSegment);
 			
 			simulationRunData.Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString());
 			
@@ -414,6 +416,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 
 			simulationRunData.Retarder = _retarderData;
 			
+			// todo: use driver data from initialize method
 			simulationRunData.DriverData = DataAdapterPrimary.CreateDriverData(primarySegment, primaryVehicle);
 
 			simulationRunData.Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString());
diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
index 735494f84b56a60f60197968d6032d81106923bb..a63f95eb5a57acd5abfc88a6c95ca809b09e020d 100644
--- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
+++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
@@ -34,6 +34,7 @@ using System.Collections.Generic;
 using System.Data;
 using System.IO;
 using System.Linq;
+using System.Runtime.CompilerServices;
 using Newtonsoft.Json.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Exceptions;
@@ -47,6 +48,8 @@ using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics;
+using TUGraz.VectoCore.Models.Simulation.Data;
+using TUGraz.VectoCore.Models.SimulationComponent;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
@@ -149,7 +152,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 			private static string GenericEngineCM_Normed_PI =
 				$"{DeclarationDataResourcePrefix}.GenericBusData.EngineConsumptionMap_PI_Normed.vmap";
 			
-			private static string GenericTorqueConvert =
+			public static string GenericTorqueConvert =
 				$"{DeclarationDataResourcePrefix}.GenericBusData.GenericTorqueConverter.csv";
 			#endregion
 
@@ -167,14 +170,14 @@ namespace TUGraz.VectoCore.Models.Declaration
 				{
 					[0] = FullLoadCurveReader.Create(enginePif.EngineModes.First().FullLoadCurve, true)
 				};
-				engine.FullLoadCurves = fullLoadCurves;
+				// TODO: MQ 20200401 add full-load curves per gear, limited by max torque (gbx or vehicle)
+				//   see DeclarationDataAdapterHeavyLorry ln 235ff.
 
+				engine.FullLoadCurves = fullLoadCurves;
 
 				engine.IdleSpeed = enginePif.EngineModes[0].IdleSpeed;
 				engine.Displacement = enginePif.Displacement;
 
-				//engine.Fuels ?!?!?
-
 				var fuel = GetCombustionEngineFuelData(enginePif.EngineModes.First().Fuels.First().FuelType,
 					pifVehicle.DualFuelVehicle);
 
@@ -233,6 +236,8 @@ namespace TUGraz.VectoCore.Models.Declaration
 
 			private static DataTable DenormalizeData(string ressourceId)
 			{
+				// TODO: use vehicle specific values. n_idle  from PIF, nRated calculated from
+				// full-load curve (fullLoadCurves[0].RatedSpeed), m_rated => max torque (fullLoadCurves[0].MaxTorque)
 				var nIdle = 600.0;
 				var nRated = 1800.0;
 				var mRated = 1750.0;
@@ -315,6 +320,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 					Constants.GenericLossMapSettings.OutputTorqueEnd
 				};
 
+				// TODO: MQ 20200401  I_axl from PIF
 				var td0 = Constants.GenericLossMapSettings.T0 +
 						Constants.GenericLossMapSettings.IAxl *
 						Constants.GenericLossMapSettings.T1;
@@ -376,6 +382,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 				inputLossMap.Columns.Add(TransmissionLossMapReader.Fields.InputTorque);
 				inputLossMap.Columns.Add(TransmissionLossMapReader.Fields.TorqeLoss);
 
+				// TODO: MQ 20200401 use axlegear ratio from PIF
 				var iAxle = Constants.GenericLossMapSettings.IAxl;
 
 				foreach (DataRow row in outputLossMap.Rows) {
@@ -393,16 +400,19 @@ namespace TUGraz.VectoCore.Models.Declaration
 				return inputLossMap;
 			}
 
+			[MethodImpl(MethodImplOptions.AggressiveInlining)]
 			private static double GetInputSpeed(double outputSpeed, double iAxle)
 			{
 				return outputSpeed * iAxle;
 			}
 
+			[MethodImpl(MethodImplOptions.AggressiveInlining)]
 			private static double GetInputTorque(double outputTorque, double outputLoss, double iAxle)
 			{
 				return (outputTorque + outputLoss) / iAxle;
 			}
 
+			[MethodImpl(MethodImplOptions.AggressiveInlining)]
 			private static double GetInputTorqueLoss(double outputLoss, double iAxle)
 			{
 				return outputLoss / iAxle;
@@ -465,67 +475,23 @@ namespace TUGraz.VectoCore.Models.Declaration
 
 			#region Create Gearbox Data
 
-			public static GearboxData CreateGearboxData(IVehicleDeclarationInputData pifVehicle, NewtonMeter fullLoadMaxTorque)
-			{
-				var gearbox = new GearboxData
-				{
-					Inertia = 0.SI<KilogramSquareMeter>(),
-					TractionInterruption =
-						GearBoxTypeHelper.TractionInterruption(pifVehicle.Components.GearboxInputData.Type),
-					Gears = GetGearData(pifVehicle.Components.GearboxInputData,
-						pifVehicle.TorqueLimits.ToDictionary(e => e.Gear), fullLoadMaxTorque)
-				};
-
-				return gearbox;
-			}
-
-			private static Dictionary<uint, GearData> GetGearData(IGearboxDeclarationInputData gearboxData,
-				Dictionary<int, ITorqueLimitInputData> torqueLimits, NewtonMeter fullLoadMaxTorque)
-			{
-				var gearData = new Dictionary<uint, GearData>();
-				var numberOfGears = gearboxData.Gears.Count;
-				var currentGearNumber = (uint)1;
-
-				foreach (var gear in gearboxData.Gears)
-				{
-					var maxTorque = VectoMath.Min(
-						DeclarationDataAdapterHeavyLorry.GbxMaxTorque(gear, numberOfGears, fullLoadMaxTorque),
-						DeclarationDataAdapterHeavyLorry.VehMaxTorque(gear, numberOfGears, torqueLimits, fullLoadMaxTorque));
-
-					var currentGear = new GearData
-					{
-						Ratio = gear.Ratio,
-						LossMap = gear.Ratio.IsEqual(1)
-							? TransmissionLossMapReader.Create(0.98, gear.Ratio, $"Gear {currentGearNumber}")
-							: TransmissionLossMapReader.Create(0.96, gear.Ratio, $"Gear {currentGearNumber}"),
-						MaxSpeed = gear.MaxInputSpeed,
-						MaxTorque = maxTorque
-					};
-
-					gearData.Add(currentGearNumber, currentGear);
-					currentGearNumber++;
-				}
-
-				return gearData;
-			}
-
-			#endregion
-
-			#region Create Torque Converter Data
-
-			public static TorqueConverterData CreateTorqueConverterData(GearboxData gearboxData)
+			public static GearboxData CreateGearboxData(IVehicleDeclarationInputData pifVehicle, VectoRunData runData,
+				IShiftPolygonCalculator shiftPolygonCalc)
 			{
-				var firstRatio = gearboxData.Gears.Values.First().Ratio;
-				var fileStream = RessourceHelper.ReadStream(GenericTorqueConvert);
-
-				return TorqueConverterDataReader.ReadFromStream(fileStream,
-					1000.RPMtoRad(),
-					TorqueConverter.MaxInputSpeed,
-					ExecutionMode.Declaration,
-					gearboxData.Type == GearboxType.ATSerial ? 1 : 1 / firstRatio,
-					Gearbox.UpshiftMinAcceleration, Gearbox.UpshiftMinAcceleration);
+				return DeclarationDataAdapterHeavyLorry.DoCreateGearboxData(pifVehicle, runData, shiftPolygonCalc);
+				//var gearbox = new GearboxData
+				//{
+				//	Inertia = 0.SI<KilogramSquareMeter>(),
+				//	TractionInterruption =
+				//		GearBoxTypeHelper.TractionInterruption(pifVehicle.Components.GearboxInputData.Type),
+				//	Gears = GetGearData(pifVehicle.Components.GearboxInputData,
+				//		pifVehicle.TorqueLimits.ToDictionary(e => e.Gear), fullLoadMaxTorque)
+				//};
+
+				//return gearbox;
 			}
 
+			
 			#endregion
 
 			# region SSMInputs Methods