diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb
index 20056afdd6971d67cc7dee9066cc0c6595355206..5ddfd2cef90ed63e0e9271227f71c28cc069a0d9 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_5_SmartAlternatorSetEfficiencyTests.vb
@@ -43,7 +43,7 @@ Namespace UnitTests
 
             dim ssmInput As ISSMInputs = SSMInputData.ReadFile(_SSMMAP, utils.GetDefaultVehicleData(), Nothing,
                                                                DeclarationData.BusAuxiliaries.SSMTechnologyList)
-            CType(CType(ssmInput, SSMInputs).Vehicle, VehicleData).Height = 0.SI (Of Meter)
+            'CType(CType(ssmInput, SSMInputs).Vehicle, VehicleData).Height = 0.SI (Of Meter)
             Dim ssm As ISSMTOOL = New SSMTOOL(ssmInput)
 
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb
index 90c81129b9c4531880d166a290712d031d9f6609..4858c699523165a79fd5a4dda57d61913ac909b6 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M0_NonSmart_AlternatorsSetEfficiencyTests.vb
@@ -37,7 +37,7 @@ Namespace UnitTests
 
             Dim ssm As SSMTOOL = New SSMTOOL(auxconfig.SSMInputs) _
             ', New HVACConstants())
-            CType(CType(ssm.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
+            'CType(CType(ssm.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
             'ssm.Load(_SSMMAP)
 
             Return ssm
@@ -70,7 +70,7 @@ Namespace UnitTests
         Public Sub CreateNewTest()
 
             Dim auxConfig = utils.GetAuxTestConfig()
-            CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
+            'CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).PowerNetVoltage = powernetVoltage
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).AlternatorMap =alternatorMap
 
@@ -84,7 +84,7 @@ Namespace UnitTests
 
             Dim target As IM0_NonSmart_AlternatorsSetEfficiency
             Dim auxConfig = utils.GetAuxTestConfig()
-            CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
+            'CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).PowerNetVoltage = powernetVoltage
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).AlternatorMap =alternatorMap
 
@@ -96,7 +96,7 @@ Namespace UnitTests
         Public Sub CreateNew_MissingAlternatorMap_ThrowArgumentExceptionTest()
             Dim target As IM0_NonSmart_AlternatorsSetEfficiency
             Dim auxConfig = utils.GetAuxTestConfig()
-            CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
+            'CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).PowerNetVoltage = powernetVoltage
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).AlternatorMap = Nothing
 
@@ -112,7 +112,7 @@ Namespace UnitTests
             'CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).ElectricalConsumers = elecConsumers
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).AverageCurrentDemandInclBaseLoad = 0.5.SI(Of Ampere)
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).AverageCurrentDemandInclBaseLoad = 0.5.SI(Of Ampere)
-            CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
+            'CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
 
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).PowerNetVoltage = powernetVoltage
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).AlternatorMap =alternatorMap
@@ -130,7 +130,7 @@ Namespace UnitTests
         <Test()>
         Public Sub HVAC_PowerDemandAmpsTest()
             Dim auxConfig = utils.GetAuxTestConfig()
-            CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
+            'CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height=  0.SI (Of Meter)
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).PowerNetVoltage = powernetVoltage
             CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).AlternatorMap =alternatorMap
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb
index c13e134ed7d7d64941d8b811d09b798df2bfb5b3..0bd4f37c949cd551c30b6e7392fcb1fab7d1586b 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb
@@ -34,7 +34,7 @@ Namespace UnitTests
 			'Const _BusDatabase As String ="TestFiles\BusDatabase.abdb
 
 			Dim ssm As ISSMTOOL = New SSMTOOL(SSMInputData.ReadFile(_SSMMAP, Utils.GetDefaultVehicleData(), Nothing, DeclarationData.BusAuxiliaries.SSMTechnologyList))
-		    CType(CType(ssm.SSMInputs, SSMInputs).Vehicle, VehicleData).Height = 0.SI(of Meter)
+		    'CType(CType(ssm.SSMInputs, SSMInputs).Vehicle, VehicleData).Height = 0.SI(of Meter)
 
 			'ssm.Load(_SSMMAP)
 
@@ -54,7 +54,7 @@ Namespace UnitTests
 			signals.EngineSpeed = 2000.RPMtoRad()
 
             Dim auxConfig = Utils.GetAuxTestConfig()
-            CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height = 0.SI(of Meter)
+            'CType(CType(auxConfig.SSMInputs, SSMInputs).Vehicle, VehicleData).Height = 0.SI(of Meter)
 
 			Dim altMap As IAlternatorMap = AlternatorReader.ReadMap( "testfiles\testAlternatorMap.aalt")
 			'altMap.Initialise()
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb
index 3cef3d1c56d9e15e1365eb2190dc26ac7e765d6f..594f999dbbfeb307d2e244f9f980773c336f7dbf 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M5_SmartAlternatorSetGenerationTests.vb
@@ -64,7 +64,7 @@ Namespace UnitTests
 			Dim alternatoMap   = AlternatorReader.ReadMap(_altMap)
 			
             Dim auxConfig = Utils.GetAuxTestConfig()
-		    CType(CType(auxConfig.SSMInputs,SSMInputs).Vehicle, VehicleData).Height = 0.SI(of Meter)
+		    'CType(CType(auxConfig.SSMInputs,SSMInputs).Vehicle, VehicleData).Height = 0.SI(of Meter)
 		    CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).PowerNetVoltage = _powerNetVoltage
 		    CType(auxConfig.ElectricalUserInputsConfig, ElectricsUserInputsConfig).AlternatorMap = alternatoMap
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
index 82481f1bff8f693debdd09ecc4de0782420f097e..e8db0c7361f37bdde1c10764ee9f4616cfe69030 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
@@ -87,12 +87,12 @@ Namespace UnitTests
                 '********************
                 Assert.AreEqual(47, target.BusParameters.NumberOfPassengers)
                 Assert.AreEqual(FloorType.HighFloor, target.BusParameters.BusFloorType)
-                Assert.AreEqual(24.1102486R, target.BusParameters.BusFloorSurfaceArea.Value(), 2)
+                'Assert.AreEqual(24.1102486R, target.BusParameters.BusFloorSurfaceArea.Value(), 2)
                 Assert.AreEqual(114.42325R, target.BusParameters.BusSurfaceArea.Value())
                 Assert.AreEqual(20.98R, Math.Round(target.BusParameters.BusWindowSurface.Value(), 2))
-                Assert.AreEqual(61.81231875D, Math.Round(target.BusParameters.BusVolume.Value(), 8))
-                Assert.AreEqual(10.655R, target.BusParameters.BusLength.Value())
-                Assert.AreEqual(2.55R, target.BusParameters.BusWidth.Value())
+                'Assert.AreEqual(61.81231875D, Math.Round(target.BusParameters.BusVolume.Value(), 8))
+                'Assert.AreEqual(10.655R, target.BusParameters.BusLength.Value())
+                'Assert.AreEqual(2.55R, target.BusParameters.BusWidth.Value())
             End If
 
             If section = "BoundaryConditions" Then
@@ -103,10 +103,10 @@ Namespace UnitTests
                 Assert.AreEqual(80,
                                 target.BoundaryConditions.HeatPerPassengerIntoCabin(20.0.DegCelsiusToKelvin()).Value())
                 'Assert.AreEqual(12, target.BoundaryConditions.PassengerBoundaryTemperature.AsDegCelsius)
-                Assert.AreEqual(3.0R, target.BusParameters.PassengerDensityLowFloor.Value())
-                Assert.AreEqual(2.2R, target.BusParameters.PassengerDensitySemiLowFloor.Value())
-                Assert.AreEqual(1.4R, target.BusParameters.PassengerDensityRaisedFloor.Value())
-                Assert.AreEqual(34.0R, Math.Round(target.BusParameters.CalculatedPassengerNumber, 4))
+                'Assert.AreEqual(3.0R, target.BusParameters.PassengerDensityLowFloor.Value())
+                'Assert.AreEqual(2.2R, target.BusParameters.PassengerDensitySemiLowFloor.Value())
+                'Assert.AreEqual(1.4R, target.BusParameters.PassengerDensityRaisedFloor.Value())
+                'Assert.AreEqual(34.0R, Math.Round(target.BusParameters.CalculatedPassengerNumber, 4))
                 Assert.AreEqual(3.0R, target.BoundaryConditions.UValue.Value())
                 Assert.AreEqual(18, target.BoundaryConditions.HeatingBoundaryTemperature.AsDegCelsius)
                 Assert.AreEqual(23, target.BoundaryConditions.CoolingBoundaryTemperature.AsDegCelsius)
@@ -120,8 +120,8 @@ Namespace UnitTests
                 Assert.AreEqual(0.84, target.BoundaryConditions.AuxHeaterEfficiency)
                 Assert.AreEqual(42700.0/3600.0, target.BoundaryConditions.GCVDieselOrHeatingOil.Value()/3600.0/1000.0)
                 'Assert.AreEqual(11.8, target.BoundaryConditions.GCVDieselOrHeatingOil.Value()/3600.0/1000.0)
-                Assert.AreEqual(1.5R, target.BoundaryConditions.WindowAreaPerUnitBusLength.Value())
-                Assert.AreEqual(5, target.BoundaryConditions.FrontRearWindowArea.Value())
+                'Assert.AreEqual(1.5R, target.BoundaryConditions.WindowAreaPerUnitBusLength.Value())
+                'Assert.AreEqual(5, target.BoundaryConditions.FrontRearWindowArea.Value())
                 Assert.AreEqual(3, target.BoundaryConditions.MaxTemperatureDeltaForLowFloorBusses.Value())
                 Assert.AreEqual(0.5R, target.BoundaryConditions.MaxPossibleBenefitFromTechnologyList)
             End If
@@ -168,7 +168,7 @@ Namespace UnitTests
         Public Sub Instantiate_TechListTest()
 
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
             target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechList).Items
@@ -181,7 +181,7 @@ Namespace UnitTests
         Public Sub Instantiate_TechListTestALLON()
 
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
             target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListALLON).Items
@@ -209,7 +209,7 @@ Namespace UnitTests
         Public Sub Instantiate_TechListTestEMPTYList()
 
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
             target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
@@ -223,7 +223,7 @@ Namespace UnitTests
         Public Sub Instantiate_TechListTestEMPTYListADD1()
 
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
             target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
@@ -264,7 +264,7 @@ Namespace UnitTests
         Public Sub Instantiate_TechListTestEMPTYListADD1Duplicate()
 
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
             target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
@@ -306,7 +306,7 @@ Namespace UnitTests
         Public Sub Instantiate_TechListTestEMPTYListADD1AndClear()
 
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
             target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
@@ -348,7 +348,7 @@ Namespace UnitTests
         Public Sub Instantiate_TechListTestEMPTYListADD1AndModify()
 
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
             target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
@@ -390,7 +390,7 @@ Namespace UnitTests
         Public Sub Instantiate_TechListTestEMPTYListADD1andDeleteIt()
 
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
             target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
@@ -430,7 +430,7 @@ Namespace UnitTests
         Public Sub Instantiate_TechListTestEMPTYListandDeleteNonExistantItem()
 
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
             target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
@@ -467,7 +467,7 @@ Namespace UnitTests
         <Test()>
         Public Sub Instantiate_NewTechListLine()
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim ttl As ISSMTechnology = New SSMTechnology()
             ttl.BusFloorType = gen.BusParameters.BusFloorType
@@ -478,7 +478,7 @@ Namespace UnitTests
         <Test()>
         Public Sub TechBenefitLineCompareAsEqual()
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim ttl1 As ISSMTechnology = New SSMTechnology()
             ttl1.BusFloorType = gen.BusParameters.BusFloorType
@@ -509,7 +509,7 @@ Namespace UnitTests
         <TestCase("OnVehicle")>
         Public Sub TechBenefitLineCompareAsUnequal(prop As String)
 
-            Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
+            Dim gen As ISSMInputs = New SSMInputs(Nothing)
 
             Dim ttl1 As ISSMTechnology = New SSMTechnology()
             ttl1.BusFloorType = gen.BusParameters.BusFloorType
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb
index d74dd17674ca7c46aae72159fe3d3ba5aba1a223..398f2232830f11fd61750aa50695003b2f8ebb45 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb
@@ -115,7 +115,7 @@ Public Class Utils
                 .SmartAirCompression = False,
                 .SmartRegeneration = False  
                 },
-                .SSMInputs = New SSMInputs(vehicleData, Nothing, heatingFuel) With {
+                .SSMInputs = New SSMInputs(Nothing, heatingFuel) With {
                 .Technologies = DeclarationData.BusAuxiliaries.SSMTechnologyList,
                 .DefaultConditions =
                 New EnvironmentalConditionMapEntry(25.0.DegCelsiusToKelvin(), 400.SI (Of WattPerSquareMeter), 1.0),
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
index 2a1a2894d633142fb2a1b080d6167ad34367b1f0..0c496274ec05d5916194a6024c453c6ed429fe7c 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
@@ -1,4 +1,5 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
 using TUGraz.VectoCommon.Utils;
 
 
@@ -27,24 +28,24 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 	public interface ISSMBusParameters
 	{
 		// Bus Parameterisation	
-		string BusModel { get; }
+		//string BusModel { get; }
 
 		double NumberOfPassengers { get; }
 		FloorType BusFloorType { get; }
-		bool DoubleDecker { get; }
-		Meter BusLength { get; }
-		Meter BusWidth { get; }
-		Meter BusHeight { get; }
+		//bool DoubleDecker { get; }
+		//Meter BusLength { get; }
+		//Meter BusWidth { get; }
+		//Meter BusHeight { get; }
 
-		SquareMeter BusFloorSurfaceArea { get; }
+		//SquareMeter BusFloorSurfaceArea { get; }
 		SquareMeter BusWindowSurface { get; }
 		SquareMeter BusSurfaceArea { get; }
-		CubicMeter BusVolume { get; }
+		//CubicMeter BusVolume { get; }
 
-		PerSquareMeter PassengerDensityLowFloor { get; }
-		PerSquareMeter PassengerDensitySemiLowFloor { get; }
-		PerSquareMeter PassengerDensityRaisedFloor { get; }
-		double CalculatedPassengerNumber { get; }
+		//PerSquareMeter PassengerDensityLowFloor { get; }
+		//PerSquareMeter PassengerDensitySemiLowFloor { get; }
+		//PerSquareMeter PassengerDensityRaisedFloor { get; }
+		//double CalculatedPassengerNumber { get; }
 	}
 
 	public interface ISSMBoundaryConditions
@@ -65,8 +66,8 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 		JoulePerCubicMeter SpecificVentilationPower { get; }
 		double AuxHeaterEfficiency { get; }
 		JoulePerKilogramm GCVDieselOrHeatingOil { get; }
-		SquareMeterPerMeter WindowAreaPerUnitBusLength { get; }
-		SquareMeter FrontRearWindowArea { get; }
+		//SquareMeterPerMeter WindowAreaPerUnitBusLength { get; }
+		//SquareMeter FrontRearWindowArea { get; }
 		Kelvin MaxTemperatureDeltaForLowFloorBusses { get; }
 		double MaxPossibleBenefitFromTechnologyList { get; }
 	}
@@ -105,15 +106,11 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 		//VentilationLevel VentilationDuringCooling { get; }
 	}
 
-	public enum VentilationLevel
-	{
-		Low,
-		High
-	}
-
+	
 	public enum ACCompressorType
 	{
 		Unknown,
+		None,
 		TwoStage,
 		ThreeStage,
 		FourStage,
@@ -151,6 +148,27 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 		{
 			return type != ACCompressorType.Continuous;
 		}
+
+		public static double COP(this ACCompressorType type, FloorType floortype)
+		{
+			var cop = 3.5;
+
+			switch (type) {
+				case ACCompressorType.None:
+				case ACCompressorType.Unknown:
+					return 0;
+				case ACCompressorType.TwoStage:
+					return cop;
+				case ACCompressorType.ThreeStage:
+				case ACCompressorType.FourStage:
+					return cop * 1.02;
+				case ACCompressorType.Continuous:
+					return floortype == FloorType.LowFloor
+						? cop * 1.04
+						: cop * 1.06;
+				default: throw new ArgumentOutOfRangeException();
+			}
+		}
 	}
 
 	public interface IAuxHeater
diff --git a/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs b/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs
index 0cad7de93e807c58801b14f85fecb11f8b2293b1..a8b41009b7faf84236d4bf97988359cec2a09635 100644
--- a/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs
+++ b/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs
@@ -45,6 +45,7 @@ namespace TUGraz.VectoCommon.InputData
 		XElement XMLHash { get; }
 	}
 
+
 	public interface IEngineeringInputDataProvider : IInputDataProvider
 	{
 		IEngineeringJobInputData JobInputData { get; }
diff --git a/VectoCommon/VectoCommon/Utils/SI.cs b/VectoCommon/VectoCommon/Utils/SI.cs
index dbafb57387d288c95f4654230569e5c7c9fe7256..c2819c156e45500a29cd3cce2a3e7ec3c35271f2 100644
--- a/VectoCommon/VectoCommon/Utils/SI.cs
+++ b/VectoCommon/VectoCommon/Utils/SI.cs
@@ -486,6 +486,11 @@ namespace TUGraz.VectoCommon.Utils
 
 		[DebuggerHidden]
 		private SquareMeter(double value) : base(value, Units) { }
+
+		public static double operator *(SquareMeter sqm, PerSquareMeter psqm)
+		{
+			return sqm.Val * psqm.Value();
+		}
 	}
 
 	/// <summary>
diff --git a/VectoCore/VectoCore/Configuration/Constants.cs b/VectoCore/VectoCore/Configuration/Constants.cs
index e7fde64536e527a3f9a40de4d70c88701397caf4..cbf706f21aee0a7390765b99d6cba95295daca9e 100644
--- a/VectoCore/VectoCore/Configuration/Constants.cs
+++ b/VectoCore/VectoCore/Configuration/Constants.cs
@@ -196,6 +196,13 @@ namespace TUGraz.VectoCore.Configuration
 			public static readonly Kilogram PassengerWeightLow = 68.SI<Kilogram>();
 			public static readonly Kilogram PassengerWeightHigh = 71.SI<Kilogram>();
 
+			public static readonly Meter WindowHeightSingleDecker = 1.5.SI<Meter>();
+			public static readonly Meter WindowHeightDoubleDecker = 2.5.SI<Meter>();
+
+			public static readonly SquareMeter FrontAndRearWindowAreaSingleDecker = 5.SI<SquareMeter>();
+			public static readonly SquareMeter FrontAndRearWindowAreaDoubleDecker = 8.SI<SquareMeter>();
+
+
 			public static class Auxiliaries
 			{
 				public static class SteeringPump
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs
index 96da2833e55faa1472b7bbc63acb61f499694fc3..258f23b35e9153b7d95cf15338c3835bcd6a17cf 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs
@@ -42,7 +42,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			};
 				//ActuationsMapReader.Read(Path.Combine(baseDir, data.GetEx<string>("ActuationsMap")));
 			var ssm = string.IsNullOrWhiteSpace(data["SSMFilePath"]?.ToString()) ?
-				new SSMInputs(vehicleData, "", FuelData.Diesel) {
+				new SSMInputs("", FuelData.Diesel) {
 					EnvironmentalConditionsMap =  env,
 					Technologies = techList
 				}
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs
index fcf9255eaeb02ab580a1db5705c497ab7f36f964..27e57c0bd17b2435b889b6e24dd9632f83b759d1 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs
@@ -35,7 +35,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 		{
 			var genInput = ((JObject)body["SSMInputs"]);
 
-			var retVal = new SSMInputs(vehicleData, fileName);
+			var retVal = new SSMInputs(fileName);
 			retVal.SSMDisabled = body.GetEx<bool>("SSMDisabled");
 			
 			retVal.GFactor = genInput.GetEx<double>("BC_GFactor");
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
index 45212559c592ecf90d12e0e81cbda005b534e40d..14701bb6e616b4a9a09a6878bbf67fc9dba83303 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
@@ -180,7 +180,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			if ("f_IntLight(L_CoC)".Equals(nbr, StringComparison.InvariantCultureIgnoreCase)) {
 				var busParams = mission.BusParameter;
 				return DeclarationData.BusAuxiliaries.CalculateLengthInteriorLights(
-					busParams.VehicleLength, busParams.DoubleDecker, busParams.FloorType, busParams.NumberPassengersLowerDeck).Value();
+										busParams.VehicleLength, busParams.DoubleDecker, busParams.FloorType, busParams.NumberPassengersLowerDeck)
+									.Value();
 			}
 
 			return nbr.ToDouble();
@@ -239,9 +240,16 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 				RessourceHelper.ReadStream(DeclarationData.DeclarationDataResourcePrefix + ".VAUXBuses." + resource));
 		}
 
-		public virtual ISSMInputs CreateSSMModelParameters(IVehicleData vehicleData, Mission mission, IFuelProperties heatingFuel)
+		public virtual ISSMInputs CreateSSMModelParameters(
+			IVehicleData vehicleData, Mission mission, IFuelProperties heatingFuel)
 		{
-			var retVal = new SSMInputs(vehicleData, null, heatingFuel) {
+			var busParams = mission.BusParameter;
+
+			var hvacBusLength = busParams.HVACConfiguration == BusHVACSystemConfiguration.Configuration2
+				? 2 * Constants.BusParameters.DriverCompartmentLength
+				: busParams.VehicleLength;
+			var coolingPower = CalculateMaxCoolingPower(vehicleData, mission);
+			var retVal = new SSMInputs(null, heatingFuel) {
 				Technologies = DeclarationData.BusAuxiliaries.SSMTechnologyList,
 				DefaultConditions = new EnvironmentalConditionMapEntry(
 					Constants.BusAuxiliaries.SteadyStateModel.DefaultTemperature,
@@ -255,11 +263,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 				//LowVentilation = Constants.BusAuxiliaries.SteadyStateModel.LowVentilation,
 				SpecificVentilationPower = Constants.BusAuxiliaries.SteadyStateModel.SpecificVentilationPower,
 
-				HVACMaxCoolingPower = CalculateMaxCoolingPower(vehicleData, mission),
-				HVACCompressorType = mission.BusParameter.HVACCompressorType,
-
 				AuxHeaterEfficiency = Constants.BusAuxiliaries.SteadyStateModel.AuxHeaterEfficiency,
-				FuelFiredHeaterPower = mission.BusParameter.HVACAuxHeaterPower,
+				FuelFiredHeaterPower = busParams.HVACAuxHeaterPower,
 				FuelEnergyToHeatToCoolant = Constants.BusAuxiliaries.Heater.FuelEnergyToHeatToCoolant,
 				CoolantHeatTransferredToAirCabinHeater = Constants.BusAuxiliaries.Heater.CoolantHeatTransferredToAirCabinHeater,
 				GFactor = Constants.BusAuxiliaries.SteadyStateModel.GFactor,
@@ -273,14 +278,31 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 				MaxPossibleBenefitFromTechnologyList =
 					Constants.BusAuxiliaries.SteadyStateModel.MaxPossibleBenefitFromTechnologyList,
 
+				BusWindowSurface = DeclarationData.BusAuxiliaries.WindowHeight(busParams.DoubleDecker) * hvacBusLength +
+									DeclarationData.BusAuxiliaries.FrontAndRearWindowArea(busParams.DoubleDecker),
+				BusSurfaceArea = 2 * (hvacBusLength * busParams.VehicleWidth + hvacBusLength * mission.VehicleHeight +
+									busParams.VehicleWidth * mission.VehicleHeight),
+				BusVolume = hvacBusLength * busParams.VehicleWidth * mission.VehicleHeight,
+
+				UValue = DeclarationData.BusAuxiliaries.UValue(busParams.FloorType),
+				NumberOfPassengers =
+					DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(hvacBusLength, busParams.VehicleWidth) *
+					busParams.PassengerDensity + 1, // add driver for 'heat input'
+				VentilationRate = DeclarationData.BusAuxiliaries.VentilationRate(busParams.HVACConfiguration),
+
+				HVACMaxCoolingPower = coolingPower.Item1 + coolingPower.Item2,
+				HVACCompressorType = busParams.HVACCompressorType,
+				COP = DeclarationData.BusAuxiliaries.CalculateCOP(
+					coolingPower.Item1, ACCompressorType.None, coolingPower.Item2, busParams.HVACCompressorType,
+					busParams.FloorType),
 			};
 
-			DeclarationData.BusAuxiliaries.SetHVACParameters(retVal, mission.BusParameter.HVACConfiguration);
+			//SetHVACParameters(retVal, vehicleData, mission);
 
 			return retVal;
 		}
 
-		private Watt CalculateMaxCoolingPower(IVehicleData vehicleData, Mission mission)
+		private Tuple<Watt, Watt> CalculateMaxCoolingPower(IVehicleData vehicleData, Mission mission)
 		{
 			var busParams = mission.BusParameter;
 
@@ -297,7 +319,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			var passenger = DeclarationData.BusAuxiliaries.HVACMaxCoolingPower.PassengerMaxCoolingPower(
 				busParams.HVACConfiguration, mission.MissionType, volume);
 
-			return driver + passenger;
+			return Tuple.Create(driver, passenger);
 		}
 
 		public virtual IPneumaticsConsumersDemand CreatePneumaticAuxConfig(RetarderType retarderType)
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs
index 4dba0350888c07b9586704d4402b8a5cc0de620a..22e17d65f2e5f5c127a0130a12ebe1604af254a7 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs
@@ -13,101 +13,99 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 	{
 		private IFuelProperties HeatingFuel;
 
-		public SSMInputs(IVehicleData vehicle, string source, IFuelProperties heatingFuel = null)
+		public SSMInputs(string source, IFuelProperties heatingFuel = null)
 		{
-			Vehicle = vehicle;
 			Source = source;
 			HeatingFuel = heatingFuel ?? FuelData.Diesel;
 		}
 
 		public string Source { get; }
 
-		public IVehicleData Vehicle { get; }
+		//public IVehicleData Vehicle { get; }
 
 		public bool SSMDisabled { get; set; }
 
 		// C4/D4
-		public string BusModel
-		{
-			get { return Vehicle.ModelName; }
-		}
+		//public string BusModel
+		//{
+		//	get { return Vehicle.ModelName; }
+		//}
 
 		// C5/D5
 		public double NumberOfPassengers
 		{
-			get { return Vehicle.PassengerCount; }
+			get;
+			internal set;
+
+			//get { return Vehicle.PassengerCount; }
 		}
 
 		// C6/D6
-		public FloorType BusFloorType
-		{
-			get { return Vehicle.FloorType; }
-		}
+		public FloorType BusFloorType { get; internal set; }
 
 		// C10/D10
-		public bool DoubleDecker
-		{
-			get { return Vehicle.DoubleDecker; }
-		}
+		//public bool DoubleDecker
+		//{
+		//	get { return Vehicle.DoubleDecker; }
+		//}
 
 		// D12/C12 - ( M )
-		public Meter BusLength
-		{
-			get { return Vehicle.Length; }
-		}
+		//public Meter BusLength
+		//{
+		//	get { return Vehicle.Length; }
+		//}
 
-		// D13/C13 - ( M )
-		public Meter BusWidth
-		{
-			get { return Vehicle.Width; }
-		}
+		//// D13/C13 - ( M )
+		//public Meter BusWidth
+		//{
+		//	get { return Vehicle.Width; }
+		//}
 
-		// D14/C14 - ( M )
-		public Meter BusHeight
-		{
-			get { return Vehicle.Height; }
-		}
+		//// D14/C14 - ( M )
+		//public Meter BusHeight
+		//{
+		//	get { return Vehicle.Height; }
+		//}
 
 
 		// D7/C7 - ( M/2 )
-		public SquareMeter BusFloorSurfaceArea
-		{
-			get {
-				// =IF(AND(C6="low floor",C13<=2.55,C13>=2.5),(2.55*(C12-1.2)),((C12-1.2)*C13))
-				if (BusFloorType == FloorType.LowFloor && BusWidth <= 2.55 && BusWidth >= 2.5) {
-					return 2.55.SI<Meter>() * (BusLength - 1.2.SI<Meter>());
-				}
+		//public SquareMeter BusFloorSurfaceArea
+		//{
+		//	get {
+		//		// =IF(AND(C6="low floor",C13<=2.55,C13>=2.5),(2.55*(C12-1.2)),((C12-1.2)*C13))
+		//		if (BusFloorType == FloorType.LowFloor && BusWidth <= 2.55 && BusWidth >= 2.5) {
+		//			return 2.55.SI<Meter>() * (BusLength - 1.2.SI<Meter>());
+		//		}
 
-				return ((BusLength - 1.2.SI<Meter>()) * BusWidth);
-			}
-		}
+		//		return ((BusLength - 1.2.SI<Meter>()) * BusWidth);
+		//	}
+		//}
 
 		// D8/C8 - ( M/2 )
 		public SquareMeter BusSurfaceArea
 		{
-			get {
-				// 2 * (C12*C13 + C12*C14 + C13*C14)
-				return 2 * ((BusLength * BusWidth) + (BusLength * BusHeight) + (BusWidth * BusHeight));
-			}
+			get;
+			 internal set;
+
+			//get {
+			//	// 2 * (C12*C13 + C12*C14 + C13*C14)
+			//	return 2 * ((BusLength * BusWidth) + (BusLength * BusHeight) + (BusWidth * BusHeight));
+			//}
 		}
 
 		// D9/C9 - ( M/2 )
-		public SquareMeter BusWindowSurface
-		{
-			get {
-				// =(C40*C12)+C41
-				return (WindowAreaPerUnitBusLength * BusLength) + FrontRearWindowArea;
-			}
-		}
+		public SquareMeter BusWindowSurface { get; internal set; }
 
 
 		// D11/C11 - ( M/3 )
 		public CubicMeter BusVolume
 		{
-			get {
-				// =(C12*C13*C14)
-				return BusLength * BusWidth * BusHeight;
-			}
+			get; internal set;
+
+			//get {
+			//	// =(C12*C13*C14)
+			//	return BusLength * BusWidth * BusHeight;
+			//}
 		}
 
 
@@ -140,54 +138,57 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		//public Kelvin PassengerBoundaryTemperature { get; set; }
 
 		// C21 - ( Passenger/Metre Squared )
-		public PerSquareMeter PassengerDensityLowFloor
-		{
-			get {
-				// =IF($C$10="No",3,3.7)
-				return (DoubleDecker ? 3.7 : 3).SI<PerSquareMeter>();
-			}
-		}
+		//public PerSquareMeter PassengerDensityLowFloor
+		//{
+		//	get {
+		//		// =IF($C$10="No",3,3.7)
+		//		return (DoubleDecker ? 3.7 : 3).SI<PerSquareMeter>();
+		//	}
+		//}
 
-		// C22 - ( Passenger/Metre Squared )
-		public PerSquareMeter PassengerDensitySemiLowFloor
-		{
-			get {
-				// =IF($C$10="No",2.2,3)
-				return (DoubleDecker ? 3 : 2.2).SI<PerSquareMeter>();
-			}
-		}
+		//// C22 - ( Passenger/Metre Squared )
+		//public PerSquareMeter PassengerDensitySemiLowFloor
+		//{
+		//	get {
+		//		// =IF($C$10="No",2.2,3)
+		//		return (DoubleDecker ? 3 : 2.2).SI<PerSquareMeter>();
+		//	}
+		//}
 
-		// C23 - ( Passenger/Metre Squared )
-		public PerSquareMeter PassengerDensityRaisedFloor
-		{
-			get {
-				// =IF($C$10="No",1.4,2)
-				return (DoubleDecker ? 2 : 1.4).SI<PerSquareMeter>();
-			}
-		}
+		//// C23 - ( Passenger/Metre Squared )
+		//public PerSquareMeter PassengerDensityRaisedFloor
+		//{
+		//	get {
+		//		// =IF($C$10="No",1.4,2)
+		//		return (DoubleDecker ? 2 : 1.4).SI<PerSquareMeter>();
+		//	}
+		//}
 
-		// C24               
-		public double CalculatedPassengerNumber
-		{
-			get {
-				// =ROUND(IF($D$5<IF(D6="low floor",C21,IF(D6="semi low floor",C22,C23))*D7,$D$5,IF(D6="low floor",C21,IF(D6="semi low floor",C22,C23))*D7),0)
-				var tmp = (BusFloorType == FloorType.LowFloor
-							? PassengerDensityLowFloor
-							: BusFloorType == FloorType.SemiLowFloor
-								? PassengerDensitySemiLowFloor
-								: PassengerDensityRaisedFloor) * BusFloorSurfaceArea;
-				return Math.Round(NumberOfPassengers < tmp ? NumberOfPassengers : tmp.Value(), 0);
-			}
-		}
+		//// C24               
+		//public double CalculatedPassengerNumber
+		//{
+		//	get {
+		//		// =ROUND(IF($D$5<IF(D6="low floor",C21,IF(D6="semi low floor",C22,C23))*D7,$D$5,IF(D6="low floor",C21,IF(D6="semi low floor",C22,C23))*D7),0)
+		//		var tmp = (BusFloorType == FloorType.LowFloor
+		//					? PassengerDensityLowFloor
+		//					: BusFloorType == FloorType.SemiLowFloor
+		//						? PassengerDensitySemiLowFloor
+		//						: PassengerDensityRaisedFloor) * BusFloorSurfaceArea;
+		//		return Math.Round(NumberOfPassengers < tmp ? NumberOfPassengers : tmp.Value(), 0);
+		//	}
+		//}
 
 		// C25 - ( W/K/M3 )
 		public WattPerKelvinSquareMeter UValue
 		{
-			get {
-				// =IF(D6="low floor",4,IF(D6="semi low floor",3.5,3))
-				return (BusFloorType == FloorType.LowFloor ? 4 : BusFloorType == FloorType.SemiLowFloor ? 3.5 : 3)
-					.SI<WattPerKelvinSquareMeter>();
-			}
+			get;
+			internal set;
+
+			//get {
+			//	// =IF(D6="low floor",4,IF(D6="semi low floor",3.5,3))
+			//	return (BusFloorType == FloorType.LowFloor ? 4 : BusFloorType == FloorType.SemiLowFloor ? 3.5 : 3)
+			//		.SI<WattPerKelvinSquareMeter>();
+			//}
 		}
 
 		// C26 - ( oC )
@@ -254,22 +255,22 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		public JoulePerKilogramm GCVDieselOrHeatingOil { get { return HeatingFuel.LowerHeatingValueVecto; } }
 
 		// C40 - ( M2/M )
-		public SquareMeterPerMeter WindowAreaPerUnitBusLength
-		{
-			get {
-				// =IF($C$10="No",1.5,2.5)
-				return (DoubleDecker ? 2.5 : 1.5).SI<SquareMeterPerMeter>();
-			}
-		}
+		//public SquareMeterPerMeter WindowAreaPerUnitBusLength
+		//{
+		//	get {
+		//		// =IF($C$10="No",1.5,2.5)
+		//		return (DoubleDecker ? 2.5 : 1.5).SI<SquareMeterPerMeter>();
+		//	}
+		//}
 
-		// C41 - ( M/2 )
-		public SquareMeter FrontRearWindowArea
-		{
-			get {
-				// =IF($C$10="No",5,8)
-				return (DoubleDecker ? 8 : 5).SI<SquareMeter>();
-			}
-		}
+		//// C41 - ( M/2 )
+		//public SquareMeter FrontRearWindowArea
+		//{
+		//	get {
+		//		// =IF($C$10="No",5,8)
+		//		return (DoubleDecker ? 8 : 5).SI<SquareMeter>();
+		//	}
+		//}
 
 		// C42 - ( K )
 		public Kelvin MaxTemperatureDeltaForLowFloorBusses
@@ -311,28 +312,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		public Watt HVACMaxCoolingPower { get; set; }
 
 		// C59
-		public double COP
-		{
-			get {
-				var cop = 3.5;
-
-				switch (HVACCompressorType) {
-					case ACCompressorType.TwoStage: break;
-					case ACCompressorType.ThreeStage: 
-					case ACCompressorType.FourStage:
-						cop = cop * 1.02;
-						break;
-					case ACCompressorType.Continuous:
-						cop = BusFloorType == FloorType.LowFloor
-							? cop * 1.04
-							: cop * 1.06;
-						break;
-					default: throw new ArgumentOutOfRangeException();
-				}
-				
-				return Math.Round(cop, 2);
-			}
-		}
+		public double COP { get; set; }
 
 
 		// C62 - Boolean Yes/No
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs
index c37e9a1222ccfa6f44bcd8c7be371198330d46a2..047751b42e56df36ac0536d9d424f9e6a1af05fe 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs
@@ -61,7 +61,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 			var qWall = (enviromentalTemperature - TCalc(enviromentalTemperature)) * gen.BusParameters.BusSurfaceArea *
 						gen.BoundaryConditions.UValue;
-			var wattsPerPass = Math.Min(gen.BusParameters.NumberOfPassengers, gen.BusParameters.CalculatedPassengerNumber) *
+			var wattsPerPass = gen.BusParameters.NumberOfPassengers *
 					gen.BoundaryConditions.HeatPerPassengerIntoCabin(enviromentalTemperature);
 			var solar = solarFactor * gen.BusParameters.BusWindowSurface *
 						gen.BoundaryConditions.GFactor * gen.BoundaryConditions.SolarClouding(enviromentalTemperature) * 0.25;
diff --git a/VectoCore/VectoCore/Models/Declaration/BusSegments.cs b/VectoCore/VectoCore/Models/Declaration/BusSegments.cs
index e75901dbc137f208beeb3c42f396f015617efd4f..db3fbf901bc2303fe605399192584236f7030bf9 100644
--- a/VectoCore/VectoCore/Models/Declaration/BusSegments.cs
+++ b/VectoCore/VectoCore/Models/Declaration/BusSegments.cs
@@ -97,10 +97,10 @@ namespace TUGraz.VectoCore.Models.Declaration
 						continue;
 					}
 
-					var busArea = (row.ParseDouble("length").SI<Meter>() - Constants.BusParameters.DriverCompartmentLength) *
-								row.ParseDouble("width").SI<Meter>();
+					var busFloorArea = DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(row.ParseDouble("length").SI<Meter>(),
+								row.ParseDouble("width").SI<Meter>());
 					var passengerDensity = row.ParseDouble(missionType.ToString()).SI<PerSquareMeter>();
-					var passengerCount = (busArea * passengerDensity).Value();
+					var passengerCount = busFloorArea * passengerDensity; // weight of driver is included in curb mass
 					var refLoad = passengerCount * missionType.GetAveragePassengerMass();
 					var mission = new Mission {
 						MissionType = missionType,
@@ -126,6 +126,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 							VehicleWidth = row.ParseDouble("width").SI<Meter>(),
 							NumberPassengersLowerDeck = row.ParseDouble("passengerslowerdeck"),
 							NumberPassengersUpperDeck = row.ParseDouble("passengersupperdeck"),
+							PassengerDensity = passengerDensity,
 							DoubleDecker = row.ParseBoolean("doubledecker"),
 							FloorType = GetFloorType(row.Field<string>("floortype")),
 							HVACConfiguration = BusHVACSystemConfigurationHelper.Parse(row.Field<string>("hvaccompressortype")),
diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
index 24ed580c94553dbaece2f6983017cecf98481100..d4f0076b5f31be1f372f850fe2db7847a9ca4db6 100644
--- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
+++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
@@ -197,14 +197,15 @@ namespace TUGraz.VectoCore.Models.Declaration
 				get { return hvacMaxCoolingPower ?? (hvacMaxCoolingPower = new HVACCoolingPower()); }
 			}
 
-			public static void SetHVACParameters(SSMInputs ssmInputs, BusHVACSystemConfiguration hvacSystemConfig)
+			public static PerSecond VentilationRate(BusHVACSystemConfiguration hvacSystemConfig)
 			{
+
 				switch (hvacSystemConfig) {
-					case BusHVACSystemConfiguration.Unknown: break;
+					
 					case BusHVACSystemConfiguration.Configuration1: 
 					case BusHVACSystemConfiguration.Configuration2:
-						ssmInputs.VentilationRate = Constants.BusAuxiliaries.SteadyStateModel.LowVentilation;
-						break;
+						return Constants.BusAuxiliaries.SteadyStateModel.LowVentilation;
+						
 					case BusHVACSystemConfiguration.Configuration3: 
 					case BusHVACSystemConfiguration.Configuration4: 
 					case BusHVACSystemConfiguration.Configuration5: 
@@ -212,18 +213,19 @@ namespace TUGraz.VectoCore.Models.Declaration
 					case BusHVACSystemConfiguration.Configuration7: 
 					case BusHVACSystemConfiguration.Configuration8: 
 					case BusHVACSystemConfiguration.Configuration9:
-						ssmInputs.VentilationRate = Constants.BusAuxiliaries.SteadyStateModel.HighVentilation;
-						break;
+						return Constants.BusAuxiliaries.SteadyStateModel.HighVentilation;
+						
 					default: throw new ArgumentOutOfRangeException(nameof(hvacSystemConfig), hvacSystemConfig, null);
 				}
 			}
 
-			public static Meter CalculateLengthInteriorLights(
-				Meter vehicleLength, bool doubleDecker, FloorType floorType, double numPassLowFloor)
+			public static SquareMeter CalculateBusFloorSurfaceArea(Meter busLength, Meter busWidth)
 			{
-				return CalculateInternalLength(vehicleLength, doubleDecker, floorType, numPassLowFloor);
+				return (busLength - Constants.BusParameters.DriverCompartmentLength) * busWidth;
 			}
 
+			 
+
 			public static Meter CalculateInternalLength(Meter vehicleLength, bool doubleDecker, FloorType floorType, double numPassLowFloor)
 				{
 				if (floorType == FloorType.LowFloor) {
@@ -240,11 +242,50 @@ namespace TUGraz.VectoCore.Models.Declaration
 				throw new VectoException("Internal Length for floorType {0} {1} not defined", floorType.ToString(), doubleDecker ? "DD" : "SD");
 			}
 
+			public static Meter CalculateLengthInteriorLights(
+				Meter vehicleLength, bool doubleDecker, FloorType floorType, double numPassLowFloor)
+			{
+				return CalculateInternalLength(vehicleLength, doubleDecker, floorType, numPassLowFloor);
+			}
+
 			public static Meter CalculateInternalHeight(Meter vehicleHeight)
 			{
 				// MQ: 2020-01-23 TODO! how to calculate?
 				return 1.8.SI<Meter>();
 			}
+
+			public static Meter WindowHeight(bool doubleDecker)
+			{
+				return doubleDecker
+					? Constants.BusParameters.WindowHeightDoubleDecker
+					: Constants.BusParameters.WindowHeightSingleDecker;
+			}
+
+			public static SquareMeter FrontAndRearWindowArea(bool doubleDecker)
+			{
+				return doubleDecker
+					? Constants.BusParameters.FrontAndRearWindowAreaDoubleDecker
+					: Constants.BusParameters.FrontAndRearWindowAreaSingleDecker;
+			}
+
+			public static WattPerKelvinSquareMeter UValue(FloorType floorType)
+			{
+				switch (floorType) {
+					case FloorType.LowFloor:
+						return 4.SI<WattPerKelvinSquareMeter>();
+					case FloorType.SemiLowFloor:
+						return 3.5.SI<WattPerKelvinSquareMeter>();
+					case FloorType.HighFloor:
+						return 3.SI<WattPerKelvinSquareMeter>();
+					default: throw new ArgumentOutOfRangeException(nameof(floorType), floorType, null);
+				}
+			}
+
+			public static double CalculateCOP(Watt coolingPwrDriver, ACCompressorType comprTypeDriver, Watt coolingPwrPass, ACCompressorType comprTypePass, FloorType floorType)
+			{
+				return (coolingPwrDriver * comprTypeDriver.COP(floorType) + coolingPwrPass * comprTypePass.COP(floorType)) /
+						(coolingPwrDriver + coolingPwrPass);
+			}
 		}
 
 		public static class Driver
diff --git a/VectoCore/VectoCore/Models/Declaration/Mission.cs b/VectoCore/VectoCore/Models/Declaration/Mission.cs
index 3e3778664b5f7c27498bf97600557f9f602d1a01..ddd06303d99f44b5e668ee43555cde878dae42fe 100644
--- a/VectoCore/VectoCore/Models/Declaration/Mission.cs
+++ b/VectoCore/VectoCore/Models/Declaration/Mission.cs
@@ -118,6 +118,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 		public bool HVACAdjustableAuxHeater { get; internal set; }
 
 		public bool HVACSeparateAirDistributionDucts { get; internal set; }
+		public PerSquareMeter PassengerDensity { get;  internal set; }
 	}
 
 	public class MissionTrailer