diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
index 2cab94f3f5a90fa55fad0b218405ad5d6f30906e..0d5441a2e404cbed9697bd6dceb10f193d9b8b1c 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
@@ -75,7 +75,7 @@ Namespace UnitTests
 
             Dim mission As New Mission With {
                 .BusParameter = New BusParameters() With {
-                .HVACCompressorType = ACCompressorType.TwoStage,
+                .HVACCompressorType = HeatPumpType.non_R_744_2_stage,
                 .HVACAuxHeaterPower = 30000.0.SI(Of Watt),
                 .HVACConfiguration = BusHVACSystemConfiguration.Configuration6,
                 .DoubleDecker = False,
@@ -149,7 +149,7 @@ Namespace UnitTests
             If section = "AC-System" Then
                 'AC-SYSTEM
                 '*********
-                Assert.AreEqual(ACCompressorType.TwoStage, target.ACSystem.HVACCompressorType)
+                Assert.AreEqual(HeatPumpType.non_R_744_2_stage, target.ACSystem.HVACCompressorType)
                 Assert.AreEqual(15.5567, target.ACSystem.HVACMaxCoolingPower.Value()/1000.0, 1e-3)
                 Assert.AreEqual(3.5, target.ACSystem.COP)
             End If
@@ -583,7 +583,7 @@ Namespace UnitTests
             Dim mission As New Mission With {
                 .MissionType = MissionType.HeavyUrban,
                 .BusParameter = New BusParameters() With {
-                    .HVACCompressorType = ACCompressorType.TwoStage,
+                    .HVACCompressorType = HeatPumpType.non_R_744_2_stage,
                     .HVACAuxHeaterPower = 18000.0.SI(Of Watt),
                     .HVACConfiguration = BusHVACSystemConfiguration.Configuration6,
                     .DoubleDecker = False,
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb
index 62b3324d465a441e7bd58ce0a3a5fd347d9163f0..8f051ddf71b048728241f2a085e48a553a45c941 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb
@@ -138,7 +138,7 @@ Public Class Utils
                 .HeatingBoundaryTemperature = 18.0.DegCelsiusToKelvin(),
                 .CoolingBoundaryTemperature = 23.0.DegCelsiusToKelvin(),
                 .SpecificVentilationPower = 0.56.SI(Unit.SI.Watt.Hour.Per.Cubic.Meter).Cast (Of JoulePerCubicMeter),
-                .HVACCompressorType = ACCompressorType.TwoStage, 
+                .HVACCompressorType = HeatPumpType.non_R_744_2_stage, 
                 .HVACMaxCoolingPower = 18.si(Unit.SI.kilo.watt).Cast (of Watt),
                 .AuxHeaterEfficiency =  0.84,
                 .FuelFiredHeaterPower = 30.SI(Unit.SI.kilo.watt).Cast (Of Watt),
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs b/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs
index f0b17871e655b91175246811349a394b7ec0b0c6..9da7b984e8b8f9e1a06e83cfdd5f9ad665ca4417 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs
@@ -80,6 +80,9 @@ namespace TUGraz.VectoCommon.BusAuxiliaries {
 
 		public static bool RequiresDriverAC(this BusHVACSystemConfiguration? hvacConfig)
 		{
+			if (hvacConfig == null) {
+				return false;
+			}
 			switch (hvacConfig) {
 				case BusHVACSystemConfiguration.Configuration2: 
 				case BusHVACSystemConfiguration.Configuration4: 
@@ -91,8 +94,11 @@ namespace TUGraz.VectoCommon.BusAuxiliaries {
 			return false;
 		}
 
-		public static bool RequiresPassengerAC(this BusHVACSystemConfiguration hvacConfig)
+		public static bool RequiresPassengerAC(this BusHVACSystemConfiguration? hvacConfig)
 		{
+			if (hvacConfig == null) {
+				return false;
+			}
 			switch (hvacConfig) {
 				case BusHVACSystemConfiguration.Configuration1:
 				case BusHVACSystemConfiguration.Configuration2:
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
index f4d5b4ed35115f752d3165bcb5c924a9091099ca..2ed4c5d86bc0931eb676acb2c5881266a34fce05 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.ComponentModel;
 using TUGraz.VectoCommon.Utils;
 
 
@@ -84,7 +85,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 	public interface IACSystem
 	{
 		// AC-system				            
-		ACCompressorType HVACCompressorType { get; }
+		HeatPumpType HVACCompressorType { get; }
 
 		Watt HVACMaxCoolingPower { get; }
 
@@ -102,83 +103,83 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 	}
 
 
-	public enum ACCompressorType
-	{
-		Unknown,
-		None,
-		TwoStage,
-		ThreeStage,
-		FourStage,
-		Continuous
-	}
-
-	public static class ACCompressorTypeExtensions
-	{
-		public static ACCompressorType ParseEnum(string txt)
-		{
-			switch (txt) {
-				case "2-stage": return ACCompressorType.TwoStage;
-				case "3-stage": return ACCompressorType.ThreeStage;
-				case "4-stage": return ACCompressorType.FourStage;
-				default: return txt.ParseEnum<ACCompressorType>();
-			}
-		}
-
-		public static string ToString(this ACCompressorType type)
-		{
-			switch (type) {
-				case ACCompressorType.TwoStage: return "2-stage";
-				case ACCompressorType.ThreeStage: return "3-stage";
-				case ACCompressorType.FourStage: return "4-stage";
-				default: return type.ToString().ToLowerInvariant();
-			}
-		}
-
-		public static string GetName(this ACCompressorType type)
-		{
-			return type.ToString();
-		}
-
-		public static string GetLabel(this ACCompressorType type)
-		{
-			switch (type)
-			{
-				case ACCompressorType.TwoStage: return "2-stage";
-				case ACCompressorType.ThreeStage: return "3-stage";
-				case ACCompressorType.FourStage: return "4-stage";
-				default: return type.ToString();
-			}
-		}
-
-
-		public static bool IsElectrical(this ACCompressorType type)
-		{
-			return type == ACCompressorType.Continuous;
-		}
-
-		public static bool IsMechanical(this ACCompressorType type)
-		{
-			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 enum ACCompressorType
+	//{
+	//	Unknown,
+	//	None,
+	//	TwoStage,
+	//	ThreeStage,
+	//	FourStage,
+	//	Continuous
+	//}
+
+	//public static class ACCompressorTypeExtensions
+	//{
+	//	public static ACCompressorType ParseEnum(string txt)
+	//	{
+	//		switch (txt) {
+	//			case "2-stage": return ACCompressorType.TwoStage;
+	//			case "3-stage": return ACCompressorType.ThreeStage;
+	//			case "4-stage": return ACCompressorType.FourStage;
+	//			default: return txt.ParseEnum<ACCompressorType>();
+	//		}
+	//	}
+
+	//	public static string ToString(this ACCompressorType type)
+	//	{
+	//		switch (type) {
+	//			case ACCompressorType.TwoStage: return "2-stage";
+	//			case ACCompressorType.ThreeStage: return "3-stage";
+	//			case ACCompressorType.FourStage: return "4-stage";
+	//			default: return type.ToString().ToLowerInvariant();
+	//		}
+	//	}
+
+	//	public static string GetName(this ACCompressorType type)
+	//	{
+	//		return type.ToString();
+	//	}
+
+	//	public static string GetLabel(this ACCompressorType type)
+	//	{
+	//		switch (type)
+	//		{
+	//			case ACCompressorType.TwoStage: return "2-stage";
+	//			case ACCompressorType.ThreeStage: return "3-stage";
+	//			case ACCompressorType.FourStage: return "4-stage";
+	//			default: return type.ToString();
+	//		}
+	//	}
+
+
+	//	public static bool IsElectrical(this ACCompressorType type)
+	//	{
+	//		return type == ACCompressorType.Continuous;
+	//	}
+
+	//	public static bool IsMechanical(this ACCompressorType type)
+	//	{
+	//		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
 	{
@@ -218,7 +219,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 		private const string NON_R_744_4_STAGE = "non R-744 4-stage";
 		private const string NON_R_744_CONTINUOUS = "non R-744 continuous";
 		
-		public static HeatPumpType? Parse(string parse)
+		public static HeatPumpType Parse(string parse)
 		{
 			switch (parse)
 			{
@@ -228,12 +229,15 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 				case NON_R_744_3_STAGE: return HeatPumpType.non_R_744_3_stage;
 				case NON_R_744_4_STAGE: return HeatPumpType.non_R_744_4_stage;
 				case NON_R_744_CONTINUOUS: return HeatPumpType.non_R_744_continuous;
-				default: return null;
+				default: throw new InvalidEnumArgumentException("HeatPumpType");
 			}
 		}
 
 		public static string GetLabel(this HeatPumpType? type)
 		{
+			if (type == null) {
+				return "~null~";
+			}
 			switch (type) {
 				case HeatPumpType.none: return NONE;
 				case HeatPumpType.R_744: return R_744;
@@ -244,7 +248,45 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 				default: return null;
 			}
 		}
-	}
+
+        public static string GetName(this HeatPumpType type)
+        {
+            return type.ToString();
+        }
+
+        public static bool IsElectrical(this HeatPumpType type)
+        {
+            return type == HeatPumpType.R_744 || type == HeatPumpType.non_R_744_continuous;
+        }
+
+        public static bool IsMechanical(this HeatPumpType type)
+        {
+            return !type.IsElectrical();
+        }
+
+        public static double COP(this HeatPumpType type, FloorType floortype)
+        {
+            var cop = 3.5;
+
+            switch (type) {
+                case HeatPumpType.none:
+                //case HeatPumpType.Unknown:
+                    return 0;
+                case HeatPumpType.non_R_744_2_stage:
+                    return cop;
+                case HeatPumpType.non_R_744_3_stage:
+                case HeatPumpType.non_R_744_4_stage:
+                    return cop * 1.02;
+                case HeatPumpType.non_R_744_continuous:
+				case HeatPumpType.R_744:
+                    return floortype == FloorType.LowFloor
+                        ? cop * 1.04
+                        : cop * 1.06;
+                default:
+                    throw new ArgumentOutOfRangeException();
+            }
+        }
+    }
 
 
 	public enum HeatPumpMode
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs
index 42042eadfed1643a3062cfecb5db8e0fbed3f624..f9f099cae9e35775da7d86b2d219401c2564d610 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs
@@ -652,8 +652,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 		public virtual HeatPumpMode? HeatPumpModeDriverCompartment { get { return null; } }
 		public virtual HeatPumpType? HeatPumpTypePassengerCompartment { get{ return null; } }
 		public virtual HeatPumpMode? HeatPumpModePassengerCompartment { get { return null; } }
-		public virtual ACCompressorType CompressorTypeDriver { get { return ACCompressorType.Unknown; } }
-        public virtual ACCompressorType CompressorTypePassenger { get { return ACCompressorType.Unknown; } }
         public virtual Watt AuxHeaterPower { get { return null; } }
         public virtual bool? DoubleGlazing { get { return false; } }
         public virtual bool HeatPump { get { return false; } }
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs
index 7705334ecb59a98ab6120ae1dc1de4015f03293d..f32793ff001e5080766fa9df30e4802e8cb8bdf3 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs
@@ -65,7 +65,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 				genInput.GetEx<double>("EC_Solar").SI<WattPerSquareMeter>(), 1.0);
 			//retVal.EnviromentalConditions_BatchFile = genInput.GetEx<string>("EC_EnviromentalConditions_BatchFile");
 			//retVal.BatchMode = genInput.GetEx<bool>("EC_EnviromentalConditions_BatchEnabled");
-			retVal.HVACCompressorType = ACCompressorTypeExtensions.ParseEnum(genInput.GetEx<string>("AC_CompressorType"));
+			retVal.HVACCompressorType = HeatPumpTypeHelper.Parse(genInput.GetEx<string>("AC_CompressorType"));
 			retVal.HVACMaxCoolingPower = genInput.GetEx<double>("AC_CompressorCapacitykW").SI(Unit.SI.Kilo.Watt).Cast<Watt>();
 			retVal.VentilationOnDuringHeating = genInput.GetEx<bool>("VEN_VentilationOnDuringHeating");
 			retVal.VentilationWhenBothHeatingAndACInactive = genInput.GetEx<bool>("VEN_VentilationWhenBothHeatingAndACInactive");
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs
index c8474a585d283dcfef686bebff8ee44e563a4138..52d912753c7dc5bb2a2d77cc19aedaf48b11e4f1 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs
@@ -185,16 +185,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 		public virtual HeatPumpType? HeatPumpTypePassengerCompartment { get { return null; } }
 		public virtual HeatPumpMode? HeatPumpModePassengerCompartment { get { return null; } }
 
-		public virtual ACCompressorType CompressorTypeDriver
-		{
-			get { return ACCompressorType.None; }
-		}
-
-		public virtual ACCompressorType CompressorTypePassenger
-		{
-			get { return ACCompressorType.None; }
-		}
-
 		public virtual Watt AuxHeaterPower
 		{
 			get { return 0.SI<Watt>(); }
@@ -300,16 +290,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 			get { return BusHVACSystemConfigurationHelper.Parse(GetString(XMLNames.Bus_SystemConfiguration)); }
 		}
 
-		public override ACCompressorType CompressorTypeDriver
-		{
-			get { return ACCompressorTypeExtensions.ParseEnum(GetString(XMLNames.Bus_DriverAC)); }
-		}
-
-		public override ACCompressorType CompressorTypePassenger
-		{
-			get { return ACCompressorTypeExtensions.ParseEnum(GetString(XMLNames.Bus_PassengerAC)); }
-		}
-
 		public override Watt AuxHeaterPower
 		{
 			get { return GetDouble(XMLNames.Bus_AuxiliaryHeaterPower).SI<Watt>(); }
@@ -404,7 +384,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 			get
 			{
 				return ElementExists(XMLNames.Bus_HeatPumpTypeDriver)
-					? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypeDriver)) : null;
+					? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypeDriver)) : (HeatPumpType?)null;
 			}
 		}
 
@@ -425,7 +405,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 			get
 			{
 				return ElementExists(XMLNames.Bus_HeatPumpTypePassenger)
-					? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypePassenger)) : null;
+					? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypePassenger)) : (HeatPumpType?)null;
 			}
 		}
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs
index 7c3797cbea6d4695f31f9aceafe360e79a83e99b..d21580a183a424ae4c23fb6fd68c9653292387a3 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs
@@ -48,7 +48,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 
 			foreach (XmlNode resultNode in _resultsNode.ChildNodes)
 			{
-				if (resultNode.Name == XMLNames.Report_Result_Result)
+				if (resultNode.LocalName == XMLNames.Report_Result_Result)
 					results.Add(GetResult(resultNode));
 			}
 
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs
index 986dd1f35c9dc54352c02310bf08b75a3fad47a2..08e48c4cdf01e146325cffed488777e87b8b71c6 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs
@@ -183,16 +183,53 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			var hvacConfiguration = completedVehicle.Components.BusAuxiliaries.HVACAux.SystemConfiguration;
 			var busAux = completedVehicle.Components.BusAuxiliaries.HVACAux;
 
+			if (hvacConfiguration.RequiresDriverAC() && (!busAux.HeatPumpTypeDriverCompartment.HasValue || busAux.HeatPumpTypeDriverCompartment == HeatPumpType.none)) {
+				throw new VectoException("HVAC System Configuration {0} requires DriverAC Technology", hvacConfiguration);
+			}
+
+			if (hvacConfiguration.RequiresPassengerAC() && (!busAux.HeatPumpTypePassengerCompartment.HasValue || busAux.HeatPumpTypePassengerCompartment == HeatPumpType.none)) {
+				throw new VectoException("HVAC System Configuration {0} requires PassengerAC Technology", hvacConfiguration);
+			}
+
 			if (mission.BusParameter.SeparateAirDistributionDuctsHVACCfg.Contains(hvacConfiguration) &&
-				!(bool)completedVehicle.Components.BusAuxiliaries.HVACAux.SeparateAirDistributionDucts) {
+				(busAux.SeparateAirDistributionDucts == null || !busAux.SeparateAirDistributionDucts.Value)) {
 				throw new VectoException("Input parameter 'separate air distribution ducts' has to be set to 'true' for vehicle group '{0}' and HVAC configuration '{1}'",
 					mission.BusParameter.BusGroup.GetClassNumber(), hvacConfiguration.GetName());
 			}
+
+			if (completedVehicle.NumberOfPassengersLowerDeck == null) {
+				throw new VectoException("NumberOfPassengersLowerDeck input parameter is required");
+			}
+			if (completedVehicle.NumberOfPassengersUpperDeck == null) {
+				throw new VectoException("NumberOfPassengersUpperDeck input parameter is required");
+			}
+			if (busAux.HeatPumpTypeDriverCompartment == null) {
+				throw new VectoException("HeatPumpTypeDriverCompartment input parameter is required");
+			}
+			if (busAux.HeatPumpTypePassengerCompartment == null) {
+				throw new VectoException("HeatPumpTypePassengerCompartment input parameter is required");
+			}
+			if (busAux.HeatPumpModeDriverCompartment == null || busAux.HeatPumpModeDriverCompartment.Value == HeatPumpMode.N_A) {
+				throw new VectoException("HeatPumpTypeDriverCompartment input parameter is required");
+			}
+			if (busAux.HeatPumpModePassengerCompartment == null || busAux.HeatPumpModePassengerCompartment.Value == HeatPumpMode.N_A) {
+				throw new VectoException("HeatPumpModePassengerCompartment input parameter is required");
+			}
+
+			var heatPumpTypeDriverCompartment =
+				busAux.HeatPumpModeDriverCompartment == HeatPumpMode.heating
+					? HeatPumpType.none
+					: busAux.HeatPumpTypeDriverCompartment.Value;
+			var heatPumpTypePassengerCompartment =
+				busAux.HeatPumpModePassengerCompartment == HeatPumpMode.heating
+					? HeatPumpType.none
+					: busAux.HeatPumpTypePassengerCompartment.Value;
+
 			var internalLength = hvacConfiguration == BusHVACSystemConfiguration.Configuration2
 				? 2 * Constants.BusParameters.DriverCompartmentLength // OK
 				: DeclarationData.BusAuxiliaries.CalculateInternalLength(
 					completedVehicle.Length, completedVehicle.VehicleCode,
-					(int)completedVehicle.NumberOfPassengersLowerDeck);
+					completedVehicle.NumberOfPassengersLowerDeck.Value);
 			var correctionLengthDrivetrainVolume = DeclarationData.BusAuxiliaries.CorrectionLengthDrivetrainVolume(
 				completedVehicle.VehicleCode, completedVehicle.LowEntry, primaryVehicle.AxleConfiguration.NumAxles(),
 				primaryVehicle.Articulated);
@@ -219,12 +256,19 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			ssmInputs.UValue = DeclarationData.BusAuxiliaries.UValue(completedVehicle.VehicleCode.GetFloorType());
 			ssmInputs.NumberOfPassengers = GetNumberOfPassengers(
 				mission, internalLength, correctedBusWidth,
-				(int)completedVehicle.NumberOfPassengersLowerDeck + (int)completedVehicle.NumberOfPassengersUpperDeck, loadingType) + 1; // add driver for 'heat input'
+				completedVehicle.NumberOfPassengersLowerDeck.Value + completedVehicle.NumberOfPassengersUpperDeck.Value, loadingType) + 1; // add driver for 'heat input'
 			ssmInputs.VentilationRate = DeclarationData.BusAuxiliaries.VentilationRate(hvacConfiguration, false);
 			ssmInputs.VentilationRateHeating = DeclarationData.BusAuxiliaries.VentilationRate(hvacConfiguration, true);
 
 			ssmInputs.HVACMaxCoolingPower = coolingPower.Item1 + coolingPower.Item2;
-
+			ssmInputs.HVACCompressorType = heatPumpTypePassengerCompartment; // use passenger compartment
+			ssmInputs.HVACTechnology = string.Format(
+				"{0} ({1})", busAux.SystemConfiguration.GetName(),
+				string.Join(", ", new[] { heatPumpTypePassengerCompartment.GetName(), heatPumpTypeDriverCompartment.GetName() }));
+			;
+			ssmInputs.COP = DeclarationData.BusAuxiliaries.CalculateCOP(
+				coolingPower.Item1, heatPumpTypeDriverCompartment, coolingPower.Item2, heatPumpTypePassengerCompartment,
+				floorType);
 
 			return ssmInputs;
 		}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
index c0f1e09b10b34de5d9f561133f56b5aa9b01c3d6..391ca8b5a2dc46c1f93ee00c450950e5504d2a33 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
@@ -350,11 +350,11 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			retVal.HVACCompressorType = busParams.HVACCompressorType; // use passenger compartment
 			retVal.COP = DeclarationData.BusAuxiliaries.CalculateCOP(
 			
-				coolingPower.Item1, ACCompressorType.None, coolingPower.Item2, busParams.HVACCompressorType,
+				coolingPower.Item1, HeatPumpType.none, coolingPower.Item2, busParams.HVACCompressorType,
 				busParams.VehicleCode.GetFloorType());
 			retVal.HVACTechnology = string.Format(
 				"{0} ({1})", busParams.HVACConfiguration.GetName(),
-				string.Join(", ", new[] { busParams.HVACCompressorType.GetName(), ACCompressorType.None.GetName() }));
+				string.Join(", ", new[] { busParams.HVACCompressorType.GetName(), HeatPumpType.none.GetName() }));
 			
 			//SetHVACParameters(retVal, vehicleData, mission);
 
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs b/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs
index 800fa39358f383c6f9dd13777b8a6c07c75daebe..de6e03bde4c8c8f4948cb9ed05e904653931df92 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs
@@ -79,8 +79,6 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl {
 		public HeatPumpMode? HeatPumpModeDriverCompartment { get; }
 		public HeatPumpType? HeatPumpTypePassengerCompartment { get; }
 		public HeatPumpMode? HeatPumpModePassengerCompartment { get; }
-		public ACCompressorType CompressorTypeDriver { get; }
-		public ACCompressorType CompressorTypePassenger { get; }
 		public Watt AuxHeaterPower { get; }
 		public bool? DoubleGlazing { get; }
 		public bool HeatPump { get; }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs
index ba6e4709caaa396de82b0aa0681afac29d884438..38eafb99f24746d57dc8fd1cac3b336bf0a812c2 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs
@@ -120,13 +120,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 
 		// C53 - "Continous/2-stage/3-stage/4-stage
-		public ACCompressorType HVACCompressorType { get; set; }
+		public HeatPumpType HVACCompressorType { get; set; }
 
-		// mechanical/electrical
-		public string CompressorTypeDerived
-		{
-			get { return HVACCompressorType == ACCompressorType.Continuous ? "Electrical" : "Mechanical"; }
-		}
 
 		// C54 -  ( KW )
 		public Watt HVACMaxCoolingPower { get; set; }
diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
index a801af87d507c511daf5c589066eada34bb9bfb0..be9390237ea999b7cb2ca16c1d5c41b9559d8141 100644
--- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
+++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
@@ -347,9 +347,9 @@ namespace TUGraz.VectoCore.Models.Declaration
 				}
 			}
 
-			public static double CalculateCOP(Watt coolingPwrDriver, ACCompressorType comprTypeDriver, Watt coolingPwrPass, ACCompressorType comprTypePass, FloorType floorType)
+			public static double CalculateCOP(Watt coolingPwrDriver, HeatPumpType comprTypeDriver, Watt coolingPwrPass, HeatPumpType comprTypePass, FloorType floorType)
 			{
-				if (coolingPwrDriver.IsGreater(0) && comprTypeDriver == ACCompressorType.None) {
+				if (coolingPwrDriver.IsGreater(0) && comprTypeDriver == HeatPumpType.none) {
 					comprTypeDriver = comprTypePass;
 				}
 				if (coolingPwrDriver.IsEqual(0) && coolingPwrPass.IsEqual(0)) {
diff --git a/VectoCore/VectoCore/Models/Declaration/Mission.cs b/VectoCore/VectoCore/Models/Declaration/Mission.cs
index 59dee519577595953abf8ca77fa28b62a5f5e1f7..592ca44b1ed91bdd30216fa4c721a4d14d7d07c4 100644
--- a/VectoCore/VectoCore/Models/Declaration/Mission.cs
+++ b/VectoCore/VectoCore/Models/Declaration/Mission.cs
@@ -123,7 +123,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 
 		public Watt HVACAuxHeaterPower { get; internal set; }
 
-		public ACCompressorType HVACCompressorType { get; internal set; }
+		public HeatPumpType HVACCompressorType { get; internal set; }
 
 		public bool HVACDoubleGlasing { get; internal set; }
 
diff --git a/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs b/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs
index c4761fa0d54af707900fd9206ac6773a0cdd70e0..a69f6935f75e86423de9d1ad844bcf80213f8f37 100644
--- a/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs
+++ b/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs
@@ -138,7 +138,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 							VehicleCode = row.Field<string>("vehiclecode").ParseEnum<VehicleCode>(),
 							HVACConfiguration = BusHVACSystemConfigurationHelper.Parse(row.Field<string>("hvacsystemconfiguration")),
 							HVACAuxHeaterPower = row.ParseDouble("hvacauxheater").SI(Unit.SI.Kilo.Watt).Cast<Watt>(),
-							HVACCompressorType = ACCompressorTypeExtensions.ParseEnum(row.Field<string>("hvaccompressortype")),
+							HVACCompressorType = HeatPumpTypeHelper.Parse(row.Field<string>("hvaccompressortype")),
 							HVACDoubleGlasing = row.ParseBoolean("hvacdoubleglasing"),
 							HVACHeatpump = row.ParseBoolean("hvacheatpump"),
 							HVACAdjustableAuxHeater = row.ParseBoolean("hvacadjustableauxiliaryheater"),
diff --git a/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv b/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv
index 68b9c7309f5a5f752321de38c10db5a638a81f9f..d5d16c78947c3b809e6ed844d630bc8d4bf3bd00 100644
--- a/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv
+++ b/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv
@@ -1,26 +1,26 @@
 HDV group , Production Stage , Vehicle Category , HDV SuperGroup , Articulated , Num Axles , TPMLM_Min , TPMLM_Max , doubledecker , vehicle code , low entry , floor type , DesignSpeed , Body  , .vacc file , Cross Wind Correction , CdxA Standard , AxlesWeights        , Width , Length , Body Height , entrance height , CurbMass , PassengersLowerDeck , PassengersUpperDeck , Heavy Urban , Urban , Suburban , Interurban , Coach , ES_External displays , ES_Internal displays , ES_Fridge , ES_Kitchen Standard , HVAC System Configuration , HVAC Compressor type , HVAC Aux Heater , HVAC Double Glasing , HVAC Heatpump , HVAC Adjustable AuxiliaryHeater , HVAC SeparateAirDistributionDucts
 ## Heavy Bus Primary Vehicles
-P31SD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 0            , CE           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 4.9           , 37.5/62.5           , 2.55  , 12     , 2.8         , 340             , 11975    , 80                  , 0                   , 3           , 3     , 3        , 2.2/1.8    ,       , 3                    , 2                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P31DD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 1            , CF           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 6.2           , 37.5/62.5           , 2.55  , 10.5   , 3.8         , 340             , 12350    , 60                  , 40                  , 3.7         , 3.7   , 3.7      ,            ,       , 3                    , 3                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P32SD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 0            , CA           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.45          , 37.5/62.5           , 2.55  , 12     , 3.15        , 340             , 13150    , 45                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   , 2                    , 2                    , 0.5       , 0.5                 , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
-P32DD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 1            , CB           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.9           , 37.5/62.5           , 2.55  , 10.5   , 3.7         , 340             , 13400    , 25                  , 35                  ,             ,       ,          , 3/2.5      , 2     , 1                    , 2                    , 1         , 1                   , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P31SD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 0            , CE           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 4.9           , 37.5/62.5           , 2.55  , 12     , 2.8         , 340             , 11975    , 80                  , 0                   , 3           , 3     , 3        , 2.2/1.8    ,       , 3                    , 2                    , 0         , 0                   , 6                         , non R-744 2-stage    , 15              , 0                   , 0             , 0                               , 0
+P31DD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 1            , CF           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 6.2           , 37.5/62.5           , 2.55  , 10.5   , 3.8         , 340             , 12350    , 60                  , 40                  , 3.7         , 3.7   , 3.7      ,            ,       , 3                    , 3                    , 0         , 0                   , 6                         , non R-744 2-stage    , 15              , 0                   , 0             , 0                               , 0
+P32SD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 0            , CA           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.45          , 37.5/62.5           , 2.55  , 12     , 3.15        , 340             , 13150    , 45                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   , 2                    , 2                    , 0.5       , 0.5                 , 6                         , non R-744 2-stage    , 30              , 1                   , 0             , 0                               , 1
+P32DD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 1            , CB           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.9           , 37.5/62.5           , 2.55  , 10.5   , 3.7         , 340             , 13400    , 25                  , 35                  ,             ,       ,          , 3/2.5      , 2     , 1                    , 2                    , 1         , 1                   , 6                         , non R-744 2-stage    , 30              , 1                   , 0             , 0                               , 1
 ##        , -----            , -----            , -----          , -----       , -----     , -----     , -----     , -----        , -----        , -----     , -----      , -----       , ----- , -----      , -----                 , -----         , -----
-P33SD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 0            , CE           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 5.0           , 27.3/45.4/27.3      , 2.55  , 14.2   , 2.8         , 340             , 14175    , 104                 , 0                   , 3           , 3     , 3        , 2.2/1.8    ,       , 3                    , 2                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P33DD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 1            , CF           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 6.3           , 27.3/45.4/27.3      , 2.55  , 13.5   , 3.8         , 340             , 14725    , 78                  , 52                  , 3.7         , 3.7   , 3.7      ,            ,       , 3                    , 3                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P34SD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 0            , CA           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.53          , 27.3/45.4/27.3      , 2.55  , 13.8   , 3.15        , 340             , 15213    , 59                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   , 2                    , 2                    , 0.5       , 0.5                 , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
-P34DD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 1            , CB           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.98          , 27.3/45.4/27.3      , 2.55  , 14     , 3.7         , 340             , 17850    , 33                  , 46                  ,             ,       ,          , 3/2.5      , 2     , 1                    , 4                    , 1         , 1.5                 , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P33SD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 0            , CE           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 5.0           , 27.3/45.4/27.3      , 2.55  , 14.2   , 2.8         , 340             , 14175    , 104                 , 0                   , 3           , 3     , 3        , 2.2/1.8    ,       , 3                    , 2                    , 0         , 0                   , 6                         , non R-744 2-stage    , 15              , 0                   , 0             , 0                               , 0
+P33DD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 1            , CF           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 6.3           , 27.3/45.4/27.3      , 2.55  , 13.5   , 3.8         , 340             , 14725    , 78                  , 52                  , 3.7         , 3.7   , 3.7      ,            ,       , 3                    , 3                    , 0         , 0                   , 6                         , non R-744 2-stage    , 15              , 0                   , 0             , 0                               , 0
+P34SD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 0            , CA           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.53          , 27.3/45.4/27.3      , 2.55  , 13.8   , 3.15        , 340             , 15213    , 59                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   , 2                    , 2                    , 0.5       , 0.5                 , 6                         , non R-744 2-stage    , 30              , 1                   , 0             , 0                               , 1
+P34DD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 1            , CB           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.98          , 27.3/45.4/27.3      , 2.55  , 14     , 3.7         , 340             , 17850    , 33                  , 46                  ,             ,       ,          , 3/2.5      , 2     , 1                    , 4                    , 1         , 1.5                 , 6                         , non R-744 2-stage    , 30              , 1                   , 0             , 0                               , 1
 ##        , -----            , -----            , -----          , -----       , -----     , -----     , -----     , -----        , -----        , -----     , -----      , -----       , ----- , -----      , -----                 , -----         , -----
-P35SD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 0            , CG           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 5.1           , 24.3/35.2/40.5      , 2.55  , 18.2   , 2.8         , 340             , 17800    , 104                 , 0                   , 3           , 3     , 3        , 2.2/1.8    ,       , 3                    , 3                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P35DD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 1            , CH           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 6.4           , 24.3/35.2/40.5      , 2.55  , 18.2   , 3.8         , 340             , 20250    , 78                  , 52                  , 3.7         , 3.7   , 3.7      ,            ,       ,                      ,                      ,           ,                     , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P36SD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 0            , CC           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.60          , 24.3/35.2/40.5      , 2.55  , 18.2   , 3.15        , 340             , 19267    , 59                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
-P36DD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 1            , CD           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 4.05          , 24.3/35.2/40.5      , 2.55  , 18.2   , 3.7         , 340             , 21375    , 33                  , 46                  ,             ,       ,          , 3/2.5      , 2     ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P35SD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 0            , CG           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 5.1           , 24.3/35.2/40.5      , 2.55  , 18.2   , 2.8         , 340             , 17800    , 104                 , 0                   , 3           , 3     , 3        , 2.2/1.8    ,       , 3                    , 3                    , 0         , 0                   , 6                         , non R-744 2-stage    , 15              , 0                   , 0             , 0                               , 0
+P35DD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 1            , CH           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 6.4           , 24.3/35.2/40.5      , 2.55  , 18.2   , 3.8         , 340             , 20250    , 78                  , 52                  , 3.7         , 3.7   , 3.7      ,            ,       ,                      ,                      ,           ,                     , 6                         , non R-744 2-stage    , 15              , 0                   , 0             , 0                               , 0
+P36SD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 0            , CC           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.60          , 24.3/35.2/40.5      , 2.55  , 18.2   , 3.15        , 340             , 19267    , 59                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   ,                      ,                      ,           ,                     , 6                         , non R-744 2-stage    , 30              , 1                   , 0             , 0                               , 1
+P36DD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 1            , CD           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 4.05          , 24.3/35.2/40.5      , 2.55  , 18.2   , 3.7         , 340             , 21375    , 33                  , 46                  ,             ,       ,          , 3/2.5      , 2     ,                      ,                      ,           ,                     , 6                         , non R-744 2-stage    , 30              , 1                   , 0             , 0                               , 1
 ##        , -----            , -----            , -----          , -----       , -----     , -----     , -----     , -----        , -----        , -----     , -----      , -----       , ----- , -----      , -----                 , -----         , -----
-P37SD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 0            , CE           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 5.1           , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 2.8         , 340             , 15000    , 125                 , 0                   , 3           , 3     , 3        , 2.2/1.8    ,       ,                      ,                      ,           ,                     , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P37DD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 1            , CF           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 6.4           , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 3.8         , 340             , 18700    , 94                  , 62                  , 3.7         , 3.7   , 3.7      ,            ,       ,                      ,                      ,           ,                     , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P38SD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 0            , CA           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.60          , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 3.15        , 340             , 17500    , 70                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
-P38DD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 1            , CB           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 4.05          , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 3.7         , 340             , 21200    , 39                  , 55                  ,             ,       ,          , 3/2.5      , 2     ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P37SD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 0            , CE           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 5.1           , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 2.8         , 340             , 15000    , 125                 , 0                   , 3           , 3     , 3        , 2.2/1.8    ,       ,                      ,                      ,           ,                     , 6                         , non R-744 2-stage    , 15              , 0                   , 0             , 0                               , 0
+P37DD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 1            , CF           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 6.4           , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 3.8         , 340             , 18700    , 94                  , 62                  , 3.7         , 3.7   , 3.7      ,            ,       ,                      ,                      ,           ,                     , 6                         , non R-744 2-stage    , 15              , 0                   , 0             , 0                               , 0
+P38SD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 0            , CA           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.60          , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 3.15        , 340             , 17500    , 70                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   ,                      ,                      ,           ,                     , 6                         , non R-744 2-stage    , 30              , 1                   , 0             , 0                               , 1
+P38DD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 1            , CB           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 4.05          , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 3.7         , 340             , 21200    , 39                  , 55                  ,             ,       ,          , 3/2.5      , 2     ,                      ,                      ,           ,                     , 6                         , non R-744 2-stage    , 30              , 1                   , 0             , 0                               , 1
 ##        , -----            , -----            , -----          , -----       , -----     , -----     , -----     , -----        , -----        , -----     , -----      , -----       , ----- , -----      , -----                 , -----         , -----
-P39SD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 0            , CG           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 5.2           , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 2.6         , 340             , 19600    , 125                 , 0                   , 3           , 3     , 3        , 2.2/1.8    ,       , 3                    , 3                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P39DD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 1            , CH           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 6.5           , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 3.8         , 340             , 24800    , 94                  , 62                  , 3.7         , 3.7   , 3.7      ,            ,       ,                      ,                      ,           ,                     , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P40SD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 0            , CC           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.68          , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 3.15        , 340             , 20950    , 70                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
-P40DD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 1            , CD           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 4.13          , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 3.7         , 340             , 24600    , 39                  , 55                  ,             ,       ,          , 3/2.5      , 2     ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P39SD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 0            , CG           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 5.2           , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 2.6         , 340             , 19600    , 125                 , 0                   , 3           , 3     , 3        , 2.2/1.8    ,       , 3                    , 3                    , 0         , 0                   , 6                         , non R-744 2-stage    , 15              , 0                   , 0             , 0                               , 0
+P39DD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 1            , CH           , 0         , low floor  , 100         ,       , Bus.vacc   , CoachBus              , 6.5           , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 3.8         , 340             , 24800    , 94                  , 62                  , 3.7         , 3.7   , 3.7      ,            ,       ,                      ,                      ,           ,                     , 6                         , non R-744 2-stage    , 15              , 0                   , 0             , 0                               , 0
+P40SD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 0            , CC           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 3.68          , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 3.15        , 340             , 20950    , 70                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   ,                      ,                      ,           ,                     , 6                         , non R-744 2-stage    , 30              , 1                   , 0             , 0                               , 1
+P40DD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 1            , CD           , -         , high floor , 100         ,       , Bus.vacc   , CoachBus              , 4.13          , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 3.7         , 340             , 24600    , 39                  , 55                  ,             ,       ,          , 3/2.5      , 2     ,                      ,                      ,           ,                     , 6                         , non R-744 2-stage    , 30              , 1                   , 0             , 0                               , 1
diff --git a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusSanityCheckTests.cs b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusSanityCheckTests.cs
index 5473b8561c1bf38cab145ccf471ba731eb3924dd..b17f338240e5d60bbd4607cd2d5386111e3bf7fd 100644
--- a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusSanityCheckTests.cs
+++ b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusSanityCheckTests.cs
@@ -1,4 +1,5 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using System.Xml;
@@ -12,8 +13,10 @@ using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCore.InputData.FileIO.JSON;
 using TUGraz.VectoCore.InputData.FileIO.XML;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.OutputData.FileIO;
+using TUGraz.VectoCore.Tests.Models.Simulation;
 using TUGraz.VectoCore.Tests.Utils;
 
 namespace TUGraz.VectoCore.Tests.Integration.CompletedBus
@@ -23,9 +26,9 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus
 	{
 		private IXMLInputDataReader _xmlInputReader;
 		public const string CompletedFile32 = @"TestData\Integration\Buses\FactorMethod\vecto_vehicle-completed_heavyBus_41.xml";
-		public const string CompletedFile33b1 = @"TestData\Integration\Buses\FactorMethod\CompletedHeavyBus_33b1.RSLT_VIF.xml";
-		//public const string CompletedFile33b1 = @"TestData\Integration\Buses\FactorMethod\vecto_vehicle-completed_heavyBus_42.xml";
-		public const string  PifFile_33_34 = @"TestData\Integration\Buses\FactorMethod\primary_heavyBus group42_SmartPS.RSLT_PIF.xml";
+		//public const string CompletedFile33b1 = @"TestData\Integration\Buses\FactorMethod\CompletedHeavyBus_33b1.RSLT_VIF.xml";
+        public const string CompletedFile33b1 = @"TestData\Integration\Buses\FactorMethod\vecto_vehicle-completed_heavyBus_42.xml";
+        public const string  PifFile_33_34 = @"TestData\Integration\Buses\FactorMethod\primary_heavyBus group42_SmartPS.RSLT_VIF.xml";
 
         [OneTimeSetUp]
 		public void RunBeforeAnyTests()
@@ -52,13 +55,16 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus
         ]
         public void TestSeparateAirDistributionDuctsError(string completedJob, BusHVACSystemConfiguration hvacConfig, bool separateDucts)
 		{
-			var modified = GetModifiedXML(completedJob, hvacConfig, separateDucts);
+			var modified = GetModifiedXML(PifFile_33_34, completedJob, hvacConfig, separateDucts);
 
 			var writer = new FileOutputWriter("SanityCheckTest");
-            //var inputData = new MockCompletedBusInputData(XmlReader.Create(PifFile_33_34), modified);
-			var inputData = _xmlInputReader.CreateDeclaration(modified);
 
-			var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer)
+			//var vifDataProvider = _xmlInputReader.Create(modified);
+			//var inputData = new XMLDeclarationVIFInputData(modified  as IMultistageBusInputDataProvider, null);
+			//var inputData = new MockCompletedBusInputData(XmlReader.Create(PifFile_33_34), modified);
+			//var inputData = _xmlInputReader.CreateDeclaration(modified);
+
+			var factory = new SimulatorFactory(ExecutionMode.Declaration, new XMLDeclarationVIFInputData(modified, null),  writer)
 			{
 				WriteModalResults = true,
 				Validate = false
@@ -102,13 +108,13 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus
 		]
         public void TestSeparateAirDistributionDuctsOk(string completedJob, BusHVACSystemConfiguration hvacConfig, bool separateDucts)
         {
-            var modified = GetModifiedXML(completedJob, hvacConfig, separateDucts);
+            var modified = GetModifiedXML(PifFile_33_34, completedJob, hvacConfig, separateDucts);
 
             var writer = new FileOutputWriter("SanityCheckTest");
             //var inputData = new MockCompletedBusInputData(XmlReader.Create(PifFile_33_34), modified);
-			var inputData = new MockCompletedBusInputData(modified);
+			//var inputData = new MockCompletedBusInputData(modified);
 
-			var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer)
+			var factory = new SimulatorFactory(ExecutionMode.Declaration, new XMLDeclarationVIFInputData(modified, null), writer)
             {
                 WriteModalResults = true,
                 Validate = false
@@ -119,8 +125,11 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus
             //}, messageContains: "Input parameter 'separate air distribution ducts' has to be set to 'true' for vehicle group ");
         }
 
-        private static XmlReader GetModifiedXML(string completedJob, BusHVACSystemConfiguration? hvacConfig, bool separateDucts)
+        private IMultistageBusInputDataProvider GetModifiedXML(string vifPrimary, string completedJob, BusHVACSystemConfiguration? hvacConfig, bool separateDucts)
 		{
+			var vifDataProvider = _xmlInputReader.Create(XmlReader.Create(vifPrimary));
+			//var completeDataProvider = _xmlInputReader.CreateDeclaration(comple);
+
 			var completedXML = new XmlDocument();
 			completedXML.Load(completedJob);
 
@@ -130,7 +139,27 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus
 			var airDuctsNode = completedXML.SelectSingleNode("//*[local-name()='SeparateAirDistributionDucts']");
 			airDuctsNode.InnerText = XmlConvert.ToString(separateDucts);
 			var modified = XmlReader.Create(new StringReader(completedXML.OuterXml));
-			return modified;
+
+			var completeDataProvider = _xmlInputReader.CreateDeclaration(modified);
+
+			var inputData = new XMLDeclarationVIFInputData(vifDataProvider as IMultistageBusInputDataProvider, completeDataProvider.JobInputData.Vehicle);
+
+			var filename = Guid.NewGuid().ToString().Substring(0, 20);
+			var writer = new FileOutputVIFWriter(filename, 0);
+
+			var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer);
+			var jobContainer = new JobContainer(new MockSumWriter());
+			jobContainer.AddRuns(factory);
+			jobContainer.Execute();
+			jobContainer.WaitFinished();
+
+			var completedVifXML = new XmlDocument();
+			completedVifXML.Load(writer.XMLMultistageReportFileName);
+
+			var completedVif = _xmlInputReader.CreateDeclaration(XmlReader.Create(new StringReader(completedVifXML.OuterXml)));
+			File.Delete(writer.XMLMultistageReportFileName);
+
+			return completedVif as IMultistageBusInputDataProvider;
 		}
 	}
 
diff --git a/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs b/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs
index 951dcad9c11a0a7acc9ed626791e584da49f05c2..1ca03f49f302e8e50a7f62de3ba65bf26f983565 100644
--- a/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs
@@ -40,9 +40,9 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage
 		protected IXMLInputDataReader xmlVIFInputReader;
 
 		private IKernel _kernel;
-		private string _generatedVIFFilepath;
+        private string _generatedVIFFilepath;
 
-		[OneTimeSetUp]
+        [OneTimeSetUp]
 		public void RunBeforeAnyTests()
 		{
 			Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
@@ -63,7 +63,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage
 			var vifReader = XmlReader.Create(vifFilename);
 			var vifDataProvider = xmlInputReader.Create(vifReader) as IMultistageBusInputDataProvider;
 
-			var numberOfManufacturingStages = vifDataProvider.JobInputData.ManufacturingStages?.Count ?? 0;
+			var numberOfManufacturingStages = vifDataProvider?.JobInputData.ManufacturingStages?.Count ?? 0;
 			var writer = new FileOutputVIFWriter(vifResult, numberOfManufacturingStages);
 			_generatedVIFFilepath = writer.XMLMultistageReportFileName;
 			
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_41.xml b/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_41.xml
index f0e808811ad47fc03d748711543f277ff27d1da8..3e6193ac6e8b3ae4428c0cae358b0da6c54a4afd 100644
--- a/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_41.xml
+++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_41.xml
@@ -1,29 +1,35 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tns:VectoInputDeclaration schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD//DEV/VectoDeclarationJob.xsd">
-	<v2.0:Vehicle id="VEH-1234567890" xsi:type="CompletedVehicleDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6">
+<tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" 
+xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" 
+xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" 
+xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8"
+xmlns:di="http://www.w3.org/2000/09/xmldsig#" 
+xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob v:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd">
+	<v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType">
 		<Manufacturer>Some Manufacturer</Manufacturer>
 		<ManufacturerAddress>Infinite Loop 1</ManufacturerAddress>
-		<Model>Sample Bus Model</Model>
 		<VIN>VEH-1234567890</VIN>
 		<Date>2020-01-09T11:00:00Z</Date>
-		<LegislativeClass>M3</LegislativeClass>
-		<ClassBus>II+III</ClassBus>
-		<VehicleCode>CA</VehicleCode>
-		<CurbMassChassis>8300</CurbMassChassis>
+		<Model>Sample Bus Model</Model>
+		<LegislativeCategory>M3</LegislativeCategory>
+		<CorrectedActualMass>8300</CorrectedActualMass>
 		<TechnicalPermissibleMaximumLadenMass>18000</TechnicalPermissibleMaximumLadenMass>
-    <NgTankSystem>Compressed</NgTankSystem>
-		<RegisteredPassengers>
-			<LowerDeck>30</LowerDeck>
-			<UpperDeck>0</UpperDeck>
-		</RegisteredPassengers>
+		<AirdragModifiedMultistage>false</AirdragModifiedMultistage>
+		<ClassBus>II+III</ClassBus>
+		<NumberPassengersLowerDeck>30</NumberPassengersLowerDeck>
+		<NumberPassengersUpperDeck>0</NumberPassengersUpperDeck>
+		<BodyworkCode>CA</BodyworkCode>
 		<LowEntry>true</LowEntry>
-		<HeightIntegratedBody>3.000</HeightIntegratedBody>
-		<VehicleLength>11.830</VehicleLength>
-		<VehicleWidth>2.550</VehicleWidth>
-		<EntranceHeight>0.120</EntranceHeight>
+		<HeightIntegratedBody>3000</HeightIntegratedBody>
+		<VehicleLength>11830</VehicleLength>
+		<VehicleWidth>2550</VehicleWidth>
+		<EntranceHeight>120</EntranceHeight>
 		<DoorDriveTechnology>pneumatic</DoorDriveTechnology>
+		<VehicleDeclarationType>final</VehicleDeclarationType>
 		<Components xsi:type="CompletedVehicleComponentsDeclarationType">
-			<v2.6:AirDrag xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+			<v2.8:AirDrag xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
 				<Data id="CabinX23h" xsi:type="AirDragDataDeclarationType">
 					<Manufacturer>Generic Manufacturer</Manufacturer>
 					<Model>Generic Model</Model>
@@ -44,28 +50,26 @@
 						<di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue>
 					</di:Reference>
 				</Signature>
-			</v2.6:AirDrag>
+			</v2.8:AirDrag>
 			<Auxiliaries>
 				<Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType">
 					<ElectricSystem>
-						<AlternatorTechnology>default</AlternatorTechnology>
 						<LEDLights>
+							<Interiorlights>false</Interiorlights>
 							<Dayrunninglights>false</Dayrunninglights>
-							<Headlights>false</Headlights>
 							<Positionlights>false</Positionlights>
 							<Brakelights>false</Brakelights>
-							<Interiorlights>false</Interiorlights>
+							<Headlights>false</Headlights>
 						</LEDLights>
 					</ElectricSystem>
 					<HVAC>
 						<SystemConfiguration>7</SystemConfiguration>
-						<CompressorType>
-							<DriverAC>2-stage</DriverAC>
-							<PassengerAC>4-stage</PassengerAC>
-						</CompressorType>
+						<HeatPumpTypeDriverCompartment>non R-744 2-stage</HeatPumpTypeDriverCompartment>
+						<HeatPumpModeDriverCompartment>cooling</HeatPumpModeDriverCompartment>
+						<HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment>
+						<HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment>
 						<AuxiliaryHeaterPower>0</AuxiliaryHeaterPower>
 						<DoubleGlazing>true</DoubleGlazing>
-						<HeatPump>false</HeatPump>
 						<AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater>
 						<SeparateAirDistributionDucts>true</SeparateAirDistributionDucts>
 					</HVAC>
diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_42.xml b/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_42.xml
index 5da70c06230dbff9081f27c947726958e9e754e3..102d148e65ba6cd3cae6feb7905a68470e9cae07 100644
--- a/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_42.xml
+++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_42.xml
@@ -1,28 +1,35 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tns:VectoInputDeclaration schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD//DEV/VectoDeclarationJob.xsd">
-	<v2.0:Vehicle id="VEH-1234567890" xsi:type="CompletedVehicleDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6">
+<tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" 
+xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" 
+xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" 
+xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8"
+xmlns:di="http://www.w3.org/2000/09/xmldsig#" 
+xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob v:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd">
+	<v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType">
 		<Manufacturer>Some Manufacturer</Manufacturer>
 		<ManufacturerAddress>Infinite Loop 1</ManufacturerAddress>
-		<Model>Sample Bus Model</Model>
 		<VIN>VEH-1234567890</VIN>
 		<Date>2020-01-09T11:00:00Z</Date>
-		<LegislativeClass>M3</LegislativeClass>
-		<ClassBus>I+II</ClassBus>
-		<VehicleCode>CE</VehicleCode>
-		<CurbMassChassis>8300</CurbMassChassis>
+		<Model>Sample Bus Model</Model>
+		<LegislativeCategory>M3</LegislativeCategory>
+		<CorrectedActualMass>8300</CorrectedActualMass>
 		<TechnicalPermissibleMaximumLadenMass>18000</TechnicalPermissibleMaximumLadenMass>
-		<RegisteredPassengers>
-			<LowerDeck>30</LowerDeck>
-			<UpperDeck>0</UpperDeck>
-		</RegisteredPassengers>
-		<LowEntry>true</LowEntry>
-		<HeightIntegratedBody>3.000</HeightIntegratedBody>
-		<VehicleLength>11.830</VehicleLength>
-		<VehicleWidth>2.550</VehicleWidth>
-		<EntranceHeight>0.120</EntranceHeight>
+		<AirdragModifiedMultistage>false</AirdragModifiedMultistage>		
+		<ClassBus>I+II</ClassBus>		
+		<NumberPassengersLowerDeck>30</NumberPassengersLowerDeck>
+		<NumberPassengersUpperDeck>0</NumberPassengersUpperDeck>
+		<BodyworkCode>CE</BodyworkCode>
+				<LowEntry>true</LowEntry>
+		<HeightIntegratedBody>3000</HeightIntegratedBody>
+		<VehicleLength>11830</VehicleLength>
+		<VehicleWidth>2550</VehicleWidth>
+		<EntranceHeight>120</EntranceHeight>
 		<DoorDriveTechnology>pneumatic</DoorDriveTechnology>
+		<VehicleDeclarationType>final</VehicleDeclarationType>
 		<Components xsi:type="CompletedVehicleComponentsDeclarationType">
-			<v2.6:AirDrag xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+			<v2.8:AirDrag xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
 				<Data id="CabinX23h" xsi:type="AirDragDataDeclarationType">
 					<Manufacturer>Generic Manufacturer</Manufacturer>
 					<Model>Generic Model</Model>
@@ -43,28 +50,26 @@
 						<di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue>
 					</di:Reference>
 				</Signature>
-			</v2.6:AirDrag>
+			</v2.8:AirDrag>
 			<Auxiliaries>
 				<Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType">
 					<ElectricSystem>
-						<AlternatorTechnology>default</AlternatorTechnology>
 						<LEDLights>
+							<Interiorlights>false</Interiorlights>
 							<Dayrunninglights>false</Dayrunninglights>
-							<Headlights>false</Headlights>
 							<Positionlights>false</Positionlights>
 							<Brakelights>false</Brakelights>
-							<Interiorlights>false</Interiorlights>
+							<Headlights>false</Headlights>
 						</LEDLights>
 					</ElectricSystem>
 					<HVAC>
 						<SystemConfiguration>7</SystemConfiguration>
-						<CompressorType>
-							<DriverAC>2-stage</DriverAC>
-							<PassengerAC>4-stage</PassengerAC>
-						</CompressorType>
+						<HeatPumpTypeDriverCompartment>non R-744 2-stage</HeatPumpTypeDriverCompartment>
+						<HeatPumpModeDriverCompartment>cooling</HeatPumpModeDriverCompartment>
+						<HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment>
+						<HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment>
 						<AuxiliaryHeaterPower>0</AuxiliaryHeaterPower>
 						<DoubleGlazing>true</DoubleGlazing>
-						<HeatPump>false</HeatPump>
 						<AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater>
 						<SeparateAirDistributionDucts>true</SeparateAirDistributionDucts>
 					</HVAC>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml
index c6491ebfa32c1d3646fa4c1307b9eb32a669f28c..8db17d3e2dd72669113803a63500cc3c932560a2 100644
--- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml
@@ -70,8 +70,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\VECTO_DEV\fk_vecto
 					</ElectricSystem>
 					<HVAC>
 						<SystemConfiguration>7</SystemConfiguration>
-						<HeatPumpTypeDriverCompartment>none</HeatPumpTypeDriverCompartment>
-						<HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment>
+						<HeatPumpTypeDriverCompartment>non R-744 2-stage</HeatPumpTypeDriverCompartment>
+						<HeatPumpModeDriverCompartment>cooling</HeatPumpModeDriverCompartment>
 						<HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment>
 						<HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment>
 						<AuxiliaryHeaterPower>0</AuxiliaryHeaterPower>
diff --git a/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group42_SmartPS.RSLT_VIF.xml b/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group42_SmartPS.RSLT_VIF.xml
index dd9d6e16800bc1784adf69715867ad6f45d71237..8fafa032e99ffae2e46cab5f5c5e203cd505c775 100644
--- a/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group42_SmartPS.RSLT_VIF.xml	
+++ b/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group42_SmartPS.RSLT_VIF.xml	
@@ -456,7 +456,7 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile
         <Mission>Interurban</Mission>
         <SimulationParameters>
           <TotalVehicleMass unit="kg">16239.55</TotalVehicleMass>
-          <Payload unit="kg">1026.55</Payload>
+          <Payload unit="kg">1254.68</Payload>
           <PassengerCount>14.46</PassengerCount>
           <FuelMode>single fuel mode</FuelMode>
         </SimulationParameters>