diff --git a/VectoCore/VectoCore/OutputData/ModalDataPostprocessingCorrection.cs b/VectoCore/VectoCore/OutputData/ModalDataPostprocessingCorrection.cs
index e0aa4832bcdedac3fefe2ea5fe2bc21f66e9c994..9fe67fbc2dd5474e809a282cf6b785cf54a5e509 100644
--- a/VectoCore/VectoCore/OutputData/ModalDataPostprocessingCorrection.cs
+++ b/VectoCore/VectoCore/OutputData/ModalDataPostprocessingCorrection.cs
@@ -309,7 +309,7 @@ namespace TUGraz.VectoCore.OutputData
 
 			var workBusAuxPSCompOff = nonSmartAirGen.Sum(x => x.P_compOff * x.dt);
 			var workBusAuxPSCompOn = nonSmartAirGen.Sum(x => x.P_compOn * x.dt);
-			var airBusAuxPSON = nonSmartAirGen.Sum(x => x.Nl_alwaysOn);
+			var airBusAuxPSON = nonSmartAirGen.Sum(x => x.Nl_alwaysOn) ?? 0.SI<NormLiter>();
 
 			r.kAir = airBusAuxPSON.IsEqual(0)
 				? 0.SI(Unit.SI.Watt.Second.Per.Cubic.Meter)
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMBusAuxModelParameters.cs b/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMBusAuxModelParameters.cs
new file mode 100644
index 0000000000000000000000000000000000000000..46eaba35fcb741552583fc740629f25689110dd3
--- /dev/null
+++ b/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMBusAuxModelParameters.cs
@@ -0,0 +1,122 @@
+using System.Collections.Generic;
+using System.Linq;
+using Moq;
+using TUGraz.VectoCommon.BusAuxiliaries;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.InputData.Impl;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponents;
+using TUGraz.VectoCore.Models.Declaration;
+using TUGraz.VectoCore.Models.Simulation.Data;
+using TUGraz.VectoCore.Models.SimulationComponent.Data;
+
+namespace TUGraz.VectoCore.Tests.Models.Declaration.BusAux;
+
+static internal class SSMBusAuxModelParameters
+{
+	public static IAuxiliaryConfig CreateBusAuxInputParameters(MissionType missionType, VehicleClass vehicleClass,
+		VectoSimulationJobType vehicleType,
+		VehicleCode vehicleCode, RegistrationClass registrationClass,
+		AxleConfiguration axleconfiguration, bool articulated,
+		bool lowEntry, Meter length,
+		Meter height, Meter width, int numPassengersLowerdeck, int numPassengersUpperdeck,
+		HeatPumpType hpHeatingDriver, HeatPumpType hpCoolingDriver, HeatPumpType hpHeatingPassenger,
+		HeatPumpType hpCoolingPassenger, Watt auxHeaterPower,
+		bool airElectricHeater, bool waterElectricHeater, bool otherElectricHeater,
+		BusHVACSystemConfiguration hvacConfig, bool doubleGlazing, bool adjustableAuxHeater,
+		bool separateAirdistributionDicts, bool adjustableCoolantThermostat, bool engineWasteGasHeatExchanger,
+		string[] steeringpumps, string fanTech, AlternatorType alternatorTech, Meter entranceHeight)
+	{
+		var dao = new SpecificCompletedBusAuxiliaryDataAdapter(new PrimaryBusAuxiliaryDataAdapter());
+
+		var segment = DeclarationData.CompletedBusSegments.Lookup(axleconfiguration.NumAxles(),
+			vehicleCode, registrationClass, numPassengersLowerdeck, height, lowEntry);
+		var mission = segment.Missions.FirstOrDefault();
+
+		var primaryVehicle = new Mock<IVehicleDeclarationInputData>();
+		primaryVehicle.Setup(p => p.VehicleType).Returns(vehicleType);
+		primaryVehicle.Setup(p => p.AxleConfiguration).Returns(axleconfiguration);
+		primaryVehicle.Setup(p => p.Articulated).Returns(articulated);
+
+		var primaryComponents = new Mock<IVehicleComponentsDeclaration>();
+		var primaryBusAux = new Mock<IBusAuxiliariesDeclarationData>();
+		var primaryBusAuxPS_S = new Mock<IPneumaticSupplyDeclarationData>();
+		var primaryBusAuxPS_C = new Mock<IPneumaticConsumersDeclarationData>();
+		var primaryBusAuxHVAC = new Mock<IHVACBusAuxiliariesDeclarationData>();
+		var primaryBusAuxES = new Mock<IElectricSupplyDeclarationData>();
+		primaryVehicle.Setup(p => p.Components).Returns(primaryComponents.Object);
+		primaryComponents.Setup(p => p.BusAuxiliaries).Returns(primaryBusAux.Object);
+		primaryBusAux.Setup(p => p.PneumaticSupply).Returns(primaryBusAuxPS_S.Object);
+		primaryBusAux.Setup(p => p.PneumaticConsumers).Returns(primaryBusAuxPS_C.Object);
+		primaryBusAux.Setup(p => p.HVACAux).Returns(primaryBusAuxHVAC.Object);
+		primaryBusAux.Setup(p => p.ElectricSupply).Returns(primaryBusAuxES.Object);
+
+		primaryBusAux.Setup(p => p.FanTechnology).Returns(fanTech);
+		primaryBusAux.Setup(p => p.SteeringPumpTechnology).Returns(steeringpumps.ToList);
+
+		primaryBusAuxPS_S.Setup(p => p.CompressorDrive).Returns(CompressorDrive.electrically);
+		primaryBusAuxPS_S.Setup(p => p.CompressorSize).Returns("Medium Supply 2-stage");
+		primaryBusAuxPS_S.Setup(p => p.SmartAirCompression).Returns(false);
+		primaryBusAuxPS_S.Setup(p => p.SmartRegeneration).Returns(false);
+
+		primaryBusAuxES.Setup(p => p.AlternatorTechnology).Returns(alternatorTech);
+		primaryBusAuxES.Setup(p => p.Alternators).Returns(new[] { new AlternatorInputData(28.3.SI<Volt>(), 50.SI<Ampere>()) }.Cast<IAlternatorDeclarationInputData>().ToList());
+		primaryBusAuxES.Setup(p => p.ElectricStorage).Returns(new List<IBusAuxElectricStorageDeclarationInputData>());
+
+		primaryBusAuxPS_C.Setup(p => p.AdBlueDosing).Returns(ConsumerTechnology.Mechanically);
+		primaryBusAuxPS_C.Setup(p => p.AirsuspensionControl).Returns(ConsumerTechnology.Electrically);
+		primaryBusAuxHVAC.Setup(p => p.DoubleGlazing).Returns(doubleGlazing);
+		primaryBusAuxHVAC.Setup(p => p.AdjustableAuxiliaryHeater).Returns(adjustableAuxHeater);
+		primaryBusAuxHVAC.Setup(p => p.SeparateAirDistributionDucts).Returns(separateAirdistributionDicts);
+		primaryBusAuxHVAC.Setup(p => p.AdjustableCoolantThermostat).Returns(adjustableCoolantThermostat);
+		primaryBusAuxHVAC.Setup(p => p.EngineWasteGasHeatExchanger).Returns(engineWasteGasHeatExchanger);
+
+		var completedVehicle = new Mock<IVehicleDeclarationInputData>();
+		completedVehicle.Setup(c => c.VehicleCode).Returns(vehicleCode);
+		completedVehicle.Setup(c => c.Length).Returns(length);
+		completedVehicle.Setup(c => c.Height).Returns(height);
+		completedVehicle.Setup(c => c.Width).Returns(width);
+		completedVehicle.Setup(c => c.NumberPassengerSeatsLowerDeck).Returns(numPassengersLowerdeck);
+		completedVehicle.Setup(c => c.NumberPassengersStandingLowerDeck).Returns(0);
+		completedVehicle.Setup(c => c.NumberPassengerSeatsUpperDeck).Returns(numPassengersUpperdeck);
+		completedVehicle.Setup(c => c.NumberPassengersStandingUpperDeck).Returns(0);
+		completedVehicle.Setup(c => c.RegisteredClass).Returns(registrationClass);
+		completedVehicle.Setup(c => c.LowEntry).Returns(lowEntry);
+		completedVehicle.Setup(c => c.EntranceHeight).Returns(entranceHeight);
+
+		var completedComponents = new Mock<IVehicleComponentsDeclaration>();
+		var completedBusAux = new Mock<IBusAuxiliariesDeclarationData>();
+		var completedHVACAux = new Mock<IHVACBusAuxiliariesDeclarationData>();
+		completedBusAux.Setup(c => c.HVACAux).Returns(completedHVACAux.Object);
+		completedComponents.Setup(c => c.BusAuxiliaries).Returns(completedBusAux.Object);
+		completedVehicle.Setup(c => c.Components).Returns(completedComponents.Object);
+
+		completedHVACAux.Setup(c => c.SystemConfiguration).Returns(hvacConfig);
+		completedHVACAux.Setup(c => c.AuxHeaterPower).Returns(auxHeaterPower);
+		completedHVACAux.Setup(c => c.SeparateAirDistributionDucts).Returns(mission.BusParameter.SeparateAirDistributionDuctsHVACCfg.Contains(hvacConfig));
+		completedHVACAux.Setup(c => c.HeatPumpTypeHeatingDriverCompartment).Returns(hpHeatingDriver);
+		completedHVACAux.Setup(c => c.HeatPumpTypeHeatingPassengerCompartment).Returns(hpHeatingPassenger);
+		completedHVACAux.Setup(c => c.HeatPumpTypeCoolingDriverCompartment).Returns(hpCoolingDriver);
+		completedHVACAux.Setup(c => c.HeatPumpTypeCoolingPassengerCompartment).Returns(hpCoolingPassenger);
+		completedHVACAux.Setup(c => c.AirElectricHeater).Returns(airElectricHeater);
+		completedHVACAux.Setup(c => c.WaterElectricHeater).Returns(waterElectricHeater);
+		completedHVACAux.Setup(c => c.OtherHeatingTechnology).Returns(otherElectricHeater);
+
+
+		var runData = new VectoRunData() {
+			Mission = mission,
+			Loading = LoadingType.ReferenceLoad,
+			VehicleData = new VehicleData() {
+				VehicleClass = vehicleClass,
+			},
+			Retarder = new RetarderData() {
+				Type = RetarderType.None
+			}
+		};
+
+		var retVal = dao.CreateBusAuxiliariesData(mission, primaryVehicle.Object, completedVehicle.Object, runData);
+		
+		return retVal;
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMHeatingPostProcessingCorrection.cs b/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMHeatingPostProcessingCorrection.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e4bbe241ccda28c75e64aea23859f19078358be9
--- /dev/null
+++ b/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMHeatingPostProcessingCorrection.cs
@@ -0,0 +1,176 @@
+using System;
+using System.Linq;
+using Moq;
+using NUnit.Framework;
+using TUGraz.VectoCommon.BusAuxiliaries;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.InputData.Reader.ComponentData;
+using TUGraz.VectoCore.Models.Declaration;
+using TUGraz.VectoCore.Models.Simulation;
+using TUGraz.VectoCore.Models.Simulation.Data;
+using TUGraz.VectoCore.Models.Simulation.DataBus;
+using TUGraz.VectoCore.Models.SimulationComponent.Data;
+using TUGraz.VectoCore.Models.SimulationComponent.Impl;
+using TUGraz.VectoCore.OutputData;
+
+namespace TUGraz.VectoCore.Tests.Models.Declaration.BusAux;
+
+[TestFixture, Parallelizable(ParallelScope.All)]
+public class SSMHeatingPostProcessingCorrection
+{
+	private const BusHVACSystemConfiguration CFG1 = BusHVACSystemConfiguration.Configuration1;
+	private const BusHVACSystemConfiguration CFG2 = BusHVACSystemConfiguration.Configuration2;
+	private const BusHVACSystemConfiguration CFG3 = BusHVACSystemConfiguration.Configuration3;
+	private const BusHVACSystemConfiguration CFG4 = BusHVACSystemConfiguration.Configuration4;
+	private const BusHVACSystemConfiguration CFG5 = BusHVACSystemConfiguration.Configuration5;
+	private const BusHVACSystemConfiguration CFG6 = BusHVACSystemConfiguration.Configuration6;
+	private const BusHVACSystemConfiguration CFG7 = BusHVACSystemConfiguration.Configuration7;
+	private const BusHVACSystemConfiguration CFG8 = BusHVACSystemConfiguration.Configuration8;
+	private const BusHVACSystemConfiguration CFG9 = BusHVACSystemConfiguration.Configuration9;
+	private const BusHVACSystemConfiguration CFG10 = BusHVACSystemConfiguration.Configuration10;
+
+	private const HeatPumpType HeatPumpNone = HeatPumpType.none;
+	private const HeatPumpType HeatPumpR744 = HeatPumpType.R_744;
+	private const HeatPumpType HeatPump2Stage = HeatPumpType.non_R_744_2_stage;
+	private const HeatPumpType HeatPump3Stage = HeatPumpType.non_R_744_3_stage;
+	private const HeatPumpType HeatPumpCont = HeatPumpType.non_R_744_continuous;
+	private const HeaterType NoElHtr = HeaterType.None;
+	private const HeaterType AirElHtr = HeaterType.AirElectricHeater;
+	private const HeaterType WaterElHtr = HeaterType.WaterElectricHeater;
+	private const HeaterType OthrElHtr = HeaterType.OtherElectricHeating;
+
+	private const double AuxHtrPwr0 = 0.0;
+	private const double AuxHtrPwr30 = 30.0e3;
+
+	private const string FuelMap = "engine speed, torque, fuel consumption\n" +
+										"500,-31,0\n" +
+										"500,0,500\n" +
+										"500,1000,24000\n" +
+										"2500,-109,0\n" +
+										"2500,0,3800\n" +
+										"2500,1000,32000\n";
+
+	protected static readonly FuelData.Entry Fuel = FuelData.Diesel;
+
+	[
+		TestCase("a", CFG1, HeatPumpNone, HeatPumpNone, 0, AuxHtrPwr0, 0, 0),
+		TestCase("b", CFG1, HeatPumpNone, HeatPumpNone, 0, AuxHtrPwr30, 6685488.8606, 0.1565688),
+		TestCase("c", CFG1, HeatPumpNone, HeatPumpNone, 4, AuxHtrPwr30, 205671.4565, 0.0048166),
+	]
+	public void TestModDataPostprocessing_Conventional(string sort, BusHVACSystemConfiguration cfg, HeatPumpType driverHpHeating, HeatPumpType passengerHpHeating, 
+		double fuelConsumptionKg, double auxhHeaterPwr, double expectedAuxHeatingDemandJ, double expectedFcAuxHeaterKg)
+	{
+		var correction = new ModalDataPostprocessingCorrection();
+		var busAux = GetAuxParametersConventionalSingleDeckForTest(cfg, driverHeatPumpHeating: driverHpHeating, passengerHeatPumpHeating: passengerHpHeating, auxHeaterPower: auxhHeaterPwr.SI<Watt>());
+		var runData = GetVectoRunDataConventional(busAux);
+		var mockModData = GetConventionalMockModData(runData, fuelConsumptionKg.SI<Kilogram>());
+
+		var corrected = correction.ApplyCorrection(mockModData, runData);
+
+		Assert.NotNull(corrected);
+		var fcCorr = corrected.FuelConsumptionCorrection(Fuel) as FuelConsumptionCorrection;
+		Assert.NotNull(fcCorr);
+
+		Console.WriteLine($"{corrected.AuxHeaterDemand.Value()}, {fcCorr.FcAuxHtr.Value()}");
+
+		Assert.AreEqual(expectedAuxHeatingDemandJ, corrected.AuxHeaterDemand.Value(), 1e-3, "expectedAuxHeatingDemand");
+		Assert.AreEqual(expectedFcAuxHeaterKg, fcCorr.FcAuxHtr.Value(), 1e-6, "expectedFcAuxHeater");
+	}
+
+	protected VectoRunData GetVectoRunDataConventional(IAuxiliaryConfig busAux)
+	{
+		
+		var runData = new VectoRunData() {
+			DriverData = new DriverData() {
+				EngineStopStart = new DriverData.EngineStopStartData() {
+					UtilityFactorDriving = 0.8,
+					UtilityFactorStandstill = 0.8
+				}
+			},
+			EngineData = new CombustionEngineData() {
+				WHRType = WHRType.None,
+				IdleSpeed = 600.RPMtoRad(),
+				Fuels = new[] { new CombustionEngineFuelData() {
+					FuelData =Fuel,
+					ConsumptionMap = FuelConsumptionMapReader.ReadFromStream(FuelMap.ToStream()),
+				}}.ToList(),
+			},
+			BusAuxiliaries = busAux
+		};
+		return runData;
+	}
+
+	protected IModalDataContainer GetConventionalMockModData(VectoRunData runData, Kilogram totalFuelConsumption)
+	{
+		var mockContainer = new Mock<IVehicleContainer>();
+		var eng = new Mock<IEngineInfo>();
+
+		eng.Setup(e => e.EngineIdleSpeed).Returns(runData.EngineData.IdleSpeed);
+
+		//mockContainer.Setup(c => c.ModalData).Returns(m.Object);
+		mockContainer.Setup(c => c.EngineInfo).Returns(eng.Object);
+
+		var busAux = new BusAuxiliariesAdapter(mockContainer.Object, runData.BusAuxiliaries);
+
+		var m = new Mock<IModalDataContainer>();
+		m.Setup(x => x.Duration).Returns(3600.SI<Second>());
+		m.Setup(x => x.Distance).Returns(30000.SI<Meter>());
+		m.Setup(x => x.TimeIntegral<WattSecond>(ModalResultField.P_WHR_el_corr, null)).Returns(0.SI<WattSecond>());
+		m.Setup(x => x.TimeIntegral<WattSecond>(ModalResultField.P_WHR_mech_corr, null)).Returns(0.SI<WattSecond>());
+		m.Setup(x => x.TimeIntegral<WattSecond>(ModalResultField.P_busAux_ES_consumer_sum, null))
+			.Returns(0.SI<WattSecond>());
+		m.Setup(x => x.TimeIntegral<WattSecond>(ModalResultField.P_busAux_ES_generated, null))
+			.Returns(0.SI<WattSecond>());
+		m.Setup(x => x.TimeIntegral<WattSecond>(ModalResultField.P_ice_start, null)).Returns(0.SI<WattSecond>());
+		m.Setup(x => x.GetValues<NormLiter>(ModalResultField.Nl_busAux_PS_generated)).Returns(new[] { 2470.5180.SI<NormLiter>() });
+		m.Setup(x => x.FuelData).Returns(new IFuelProperties[] { Fuel });
+		m.Setup(x => x.TimeIntegral<Kilogram>(It.IsIn(Fuel.FuelType.GetLabel()), null)).Returns<string, Func<SI, bool>>((f,_) => totalFuelConsumption);
+		m.Setup(x => x.GetColumnName(It.IsNotNull<IFuelProperties>(), It.IsNotNull<ModalResultField>()))
+			.Returns<IFuelProperties, ModalResultField>((f, m) => f.GetLabel());
+		m.Setup(x => x.EngineLineCorrectionFactor(It.IsIn(Fuel)))
+			.Returns(200.SI(Unit.SI.Kilo.Gramm.Per.Kilo.Watt.Hour).Cast<KilogramPerWattSecond>());
+        m.Setup(x => x.AuxHeaterDemandCalc).Returns(busAux.AuxHeaterDemandCalculation);
+
+		return m.Object;
+	}
+
+
+	protected IAuxiliaryConfig GetAuxParametersConventionalSingleDeckForTest(BusHVACSystemConfiguration hvacConfig, HeatPumpType? driverHeatpumpCooling = null,
+		HeatPumpType? passengerHeatpumpCooling = null, HeatPumpType? driverHeatPumpHeating = null, HeatPumpType? passengerHeatPumpHeating = null,
+		Watt auxHeaterPower = null, HeaterType? electricHeater = null, int passengerCount = 40, double length = 12, double height = 3)
+	{
+		return SSMBusAuxModelParameters.CreateBusAuxInputParameters(MissionType.Urban,
+			VehicleClass.Class31a,
+			VectoSimulationJobType.ConventionalVehicle,
+			VehicleCode.CA,
+			RegistrationClass.II,
+			AxleConfiguration.AxleConfig_4x2,
+			articulated: false,
+			lowEntry: false,
+			length: length.SI<Meter>(),
+			height: height.SI<Meter>(),
+			width: 2.55.SI<Meter>(),
+			numPassengersLowerdeck: passengerCount,
+			numPassengersUpperdeck: 0,
+			hpHeatingDriver: driverHeatPumpHeating ?? HeatPumpType.none,
+			hpCoolingDriver: driverHeatpumpCooling ?? HeatPumpType.none,
+			hpHeatingPassenger: passengerHeatPumpHeating ?? HeatPumpType.none,
+			hpCoolingPassenger: passengerHeatpumpCooling ?? HeatPumpType.none,
+			auxHeaterPower: auxHeaterPower ?? 0.SI<Watt>(),
+			airElectricHeater: electricHeater != null && (electricHeater & HeaterType.AirElectricHeater) != 0,
+			waterElectricHeater: electricHeater != null && (electricHeater & HeaterType.WaterElectricHeater) != 0,
+			otherElectricHeater: electricHeater != null && (electricHeater & HeaterType.OtherElectricHeating) != 0,
+			hvacConfig,
+			doubleGlazing: false,
+			adjustableAuxHeater: false,
+			separateAirdistributionDicts: false,
+			adjustableCoolantThermostat: false,
+			engineWasteGasHeatExchanger: false,
+			steeringpumps: new[] { "Dual displacement" },
+			fanTech: "Crankshaft mounted - Discrete step clutch",
+			alternatorTech: AlternatorType.Conventional, entranceHeight: 0.3.SI<Meter>());
+
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMTestHeatingCooling.cs b/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMTestHeatingCooling.cs
index 5d4ab050061e45434cd6a1a21da4a511146cba2e..4a892800f96e98288316275524b397d25b3891dd 100644
--- a/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMTestHeatingCooling.cs
+++ b/VectoCore/VectoCoreTest/Models/Declaration/BusAux/SSMTestHeatingCooling.cs
@@ -1576,19 +1576,11 @@ public class SSMTestHeatingCooling
 
     }
 
-	//public void SSMTest_HeatingDistribution_SingleEnvironment(BusHVACSystemConfiguration cfg, int envId,
-	//	HeatPumpType driverHeatpump,
-	//	HeatPumpType passengerHeatpump, HeaterType electricHeater, double auxHeaterPwr,
-	//	HeatingDistributionCase expectedHeatingDistributionCaseDriver,
-	//	HeatingDistributionCase expectedHeatingDistributionCasePassenger,
-	//	double expectedHPElPwrW, double expectedHPMechPwrW, double expecetdElecricPowerElHeater,
-	//	double expectedAuxHeater) { }
-
-	private IAuxiliaryConfig GetAuxParametersConventionalSingleDeckForTest(BusHVACSystemConfiguration hvacConfig, HeatPumpType? driverHeatpumpCooling = null,
+	protected IAuxiliaryConfig GetAuxParametersConventionalSingleDeckForTest(BusHVACSystemConfiguration hvacConfig, HeatPumpType? driverHeatpumpCooling = null,
 		HeatPumpType? passengerHeatpumpCooling = null, HeatPumpType? driverHeatPumpHeating = null, HeatPumpType? passengerHeatPumpHeating = null, 
 		Watt auxHeaterPower = null, HeaterType? electricHeater = null, int passengerCount = 40, double length = 12, double height = 3)
 	{
-		return CreateBusAuxInputParameters(MissionType.Urban, 
+		return SSMBusAuxModelParameters.CreateBusAuxInputParameters(MissionType.Urban, 
 			VehicleClass.Class31a, 
 			VectoSimulationJobType.ConventionalVehicle, 
 			VehicleCode.CA, 
@@ -1621,108 +1613,4 @@ public class SSMTestHeatingCooling
 
 	}
 
-	private IAuxiliaryConfig CreateBusAuxInputParameters(MissionType missionType, VehicleClass vehicleClass,
-		VectoSimulationJobType vehicleType,
-		VehicleCode vehicleCode, RegistrationClass registrationClass,
-		AxleConfiguration axleconfiguration, bool articulated,
-		bool lowEntry, Meter length,
-		Meter height, Meter width, int numPassengersLowerdeck, int numPassengersUpperdeck,
-		HeatPumpType hpHeatingDriver, HeatPumpType hpCoolingDriver, HeatPumpType hpHeatingPassenger,
-		HeatPumpType hpCoolingPassenger, Watt auxHeaterPower,
-		bool airElectricHeater, bool waterElectricHeater, bool otherElectricHeater,
-		BusHVACSystemConfiguration hvacConfig, bool doubleGlazing, bool adjustableAuxHeater,
-		bool separateAirdistributionDicts, bool adjustableCoolantThermostat, bool engineWasteGasHeatExchanger,
-		string[] steeringpumps, string fanTech, AlternatorType alternatorTech, Meter entranceHeight)
-	{
-		var dao = new SpecificCompletedBusAuxiliaryDataAdapter(new PrimaryBusAuxiliaryDataAdapter());
-
-		var segment = DeclarationData.CompletedBusSegments.Lookup(axleconfiguration.NumAxles(),
-			vehicleCode, registrationClass, numPassengersLowerdeck, height, lowEntry);
-		var mission = segment.Missions.FirstOrDefault();
-
-		var primaryVehicle = new Mock<IVehicleDeclarationInputData>();
-		primaryVehicle.Setup(p => p.VehicleType).Returns(vehicleType);
-		primaryVehicle.Setup(p => p.AxleConfiguration).Returns(axleconfiguration);
-		primaryVehicle.Setup(p => p.Articulated).Returns(articulated);
-
-		var primaryComponents = new Mock<IVehicleComponentsDeclaration>();
-		var primaryBusAux = new Mock<IBusAuxiliariesDeclarationData>();
-		var primaryBusAuxPS_S = new Mock<IPneumaticSupplyDeclarationData>();
-		var primaryBusAuxPS_C = new Mock<IPneumaticConsumersDeclarationData>();
-		var primaryBusAuxHVAC = new Mock<IHVACBusAuxiliariesDeclarationData>();
-		var primaryBusAuxES = new Mock<IElectricSupplyDeclarationData>();
-		primaryVehicle.Setup(p => p.Components).Returns(primaryComponents.Object);
-		primaryComponents.Setup(p => p.BusAuxiliaries).Returns(primaryBusAux.Object);
-		primaryBusAux.Setup(p => p.PneumaticSupply).Returns(primaryBusAuxPS_S.Object);
-		primaryBusAux.Setup(p => p.PneumaticConsumers).Returns(primaryBusAuxPS_C.Object);
-		primaryBusAux.Setup(p => p.HVACAux).Returns(primaryBusAuxHVAC.Object);
-		primaryBusAux.Setup(p => p.ElectricSupply).Returns(primaryBusAuxES.Object);
-
-		primaryBusAux.Setup(p => p.FanTechnology).Returns(fanTech);
-		primaryBusAux.Setup(p => p.SteeringPumpTechnology).Returns(steeringpumps.ToList);
-
-		primaryBusAuxPS_S.Setup(p => p.CompressorDrive).Returns(CompressorDrive.electrically);
-		primaryBusAuxPS_S.Setup(p => p.CompressorSize).Returns("Medium Supply 2-stage");
-		primaryBusAuxPS_S.Setup(p => p.SmartAirCompression).Returns(false);
-		primaryBusAuxPS_S.Setup(p => p.SmartRegeneration).Returns(false);
-
-		primaryBusAuxES.Setup(p => p.AlternatorTechnology).Returns(alternatorTech);
-		primaryBusAuxES.Setup(p => p.Alternators).Returns(new[] { new AlternatorInputData(28.3.SI<Volt>(), 50.SI<Ampere>()) }.Cast<IAlternatorDeclarationInputData>().ToList());
-		primaryBusAuxES.Setup(p => p.ElectricStorage).Returns(new List<IBusAuxElectricStorageDeclarationInputData>());
-
-		primaryBusAuxPS_C.Setup(p => p.AdBlueDosing).Returns(ConsumerTechnology.Mechanically);
-		primaryBusAuxPS_C.Setup(p => p.AirsuspensionControl).Returns(ConsumerTechnology.Electrically);
-		primaryBusAuxHVAC.Setup(p => p.DoubleGlazing).Returns(doubleGlazing);
-		primaryBusAuxHVAC.Setup(p => p.AdjustableAuxiliaryHeater).Returns(adjustableAuxHeater);
-		primaryBusAuxHVAC.Setup(p => p.SeparateAirDistributionDucts).Returns(separateAirdistributionDicts);
-		primaryBusAuxHVAC.Setup(p => p.AdjustableCoolantThermostat).Returns(adjustableCoolantThermostat);
-		primaryBusAuxHVAC.Setup(p => p.EngineWasteGasHeatExchanger).Returns(engineWasteGasHeatExchanger);
-
-		var completedVehicle = new Mock<IVehicleDeclarationInputData>();
-		completedVehicle.Setup(c => c.VehicleCode).Returns(vehicleCode);
-		completedVehicle.Setup(c => c.Length).Returns(length);
-		completedVehicle.Setup(c => c.Height).Returns(height);
-		completedVehicle.Setup(c => c.Width).Returns(width);
-		completedVehicle.Setup(c => c.NumberPassengerSeatsLowerDeck).Returns(numPassengersLowerdeck);
-		completedVehicle.Setup(c => c.NumberPassengersStandingLowerDeck).Returns(0);
-		completedVehicle.Setup(c => c.NumberPassengerSeatsUpperDeck).Returns(numPassengersUpperdeck);
-		completedVehicle.Setup(c => c.NumberPassengersStandingUpperDeck).Returns(0);
-		completedVehicle.Setup(c => c.RegisteredClass).Returns(registrationClass);
-		completedVehicle.Setup(c => c.LowEntry).Returns(lowEntry);
-		completedVehicle.Setup(c => c.EntranceHeight).Returns(entranceHeight);
-
-		var completedComponents = new Mock<IVehicleComponentsDeclaration>();
-		var completedBusAux = new Mock<IBusAuxiliariesDeclarationData>();
-		var completedHVACAux = new Mock<IHVACBusAuxiliariesDeclarationData>();
-		completedBusAux.Setup(c => c.HVACAux).Returns(completedHVACAux.Object);
-		completedComponents.Setup(c => c.BusAuxiliaries).Returns(completedBusAux.Object);
-		completedVehicle.Setup(c => c.Components).Returns(completedComponents.Object);
-
-		completedHVACAux.Setup(c => c.SystemConfiguration).Returns(hvacConfig);
-		completedHVACAux.Setup(c => c.AuxHeaterPower).Returns(auxHeaterPower);
-		completedHVACAux.Setup(c => c.SeparateAirDistributionDucts).Returns(mission.BusParameter.SeparateAirDistributionDuctsHVACCfg.Contains(hvacConfig));
-		completedHVACAux.Setup(c => c.HeatPumpTypeHeatingDriverCompartment).Returns(hpHeatingDriver);
-		completedHVACAux.Setup(c => c.HeatPumpTypeHeatingPassengerCompartment).Returns(hpHeatingPassenger);
-		completedHVACAux.Setup(c => c.HeatPumpTypeCoolingDriverCompartment).Returns(hpCoolingDriver);
-		completedHVACAux.Setup(c => c.HeatPumpTypeCoolingPassengerCompartment).Returns(hpCoolingPassenger);
-		completedHVACAux.Setup(c => c.AirElectricHeater).Returns(airElectricHeater);
-		completedHVACAux.Setup(c => c.WaterElectricHeater).Returns(waterElectricHeater);
-		completedHVACAux.Setup(c => c.OtherHeatingTechnology).Returns(otherElectricHeater);
-
-
-		var runData = new VectoRunData() {
-			Mission = mission,
-			Loading = LoadingType.ReferenceLoad,
-			VehicleData = new VehicleData() {
-				VehicleClass = vehicleClass,
-			},
-			Retarder = new RetarderData() {
-				Type = RetarderType.None
-			}
-		};
-
-		var retVal = dao.CreateBusAuxiliariesData(mission, primaryVehicle.Object, completedVehicle.Object, runData);
-		
-		return retVal;
-	}
 }
\ No newline at end of file