diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs
index 0ca13d0fff5b32f79cae6c63768a00c9e86a4525..b739a88820f6b767a920fb4a605dd12d899a2bde 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs
@@ -352,6 +352,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 			RegisteredClass = vehicleInputData.RegisteredClass;
 			NumberPassengerSeatsUpperDeck = vehicleInputData.NumberPassengerSeatsUpperDeck;
 			NumberPassengerSeatsLowerDeck = vehicleInputData.NumberPassengerSeatsLowerDeck;
+			NumberPassengersStandingLowerDeck = vehicleInputData.NumberPassengersStandingLowerDeck;
+			NumberPassengersStandingUpperDeck = vehicleInputData.NumberPassengersStandingUpperDeck;
 			VehicleCode = vehicleInputData.VehicleCode;
 			LowEntry = vehicleInputData.LowEntry;
 			MeasurementsGroupEditingEnabled =
diff --git a/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj b/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj
index b0a3b15265007fa3ea97c48a0daa1dbd2428712b..25b0d573f0db43b3263d3506470237c0ac25aa0a 100644
--- a/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj
+++ b/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj
@@ -92,4 +92,8 @@
     <ProjectReference Include="..\VectoCore\VectoCore\VectoCore.csproj" />
   </ItemGroup>
 
+  <ItemGroup>
+    <Reference Include="PresentationFramework" />
+  </ItemGroup>
+
 </Project>
diff --git a/Vecto3GUI2020Test/ViewModelTests/LoadAndSaveVehicleData.cs b/Vecto3GUI2020Test/ViewModelTests/LoadAndSaveVehicleData.cs
index f692c9fe481669be229d50e98aaece654487c727..99e19a515b7d1ce6458e4da226af17d35c521d51 100644
--- a/Vecto3GUI2020Test/ViewModelTests/LoadAndSaveVehicleData.cs
+++ b/Vecto3GUI2020Test/ViewModelTests/LoadAndSaveVehicleData.cs
@@ -37,13 +37,15 @@ namespace Vecto3GUI2020Test
 		[Test]
 		public void loadPrimaryAndSaveVehicleData()
 		{
+			//Load Primary Vehicle VIF
 			var newMultiStageJob = loadFile(primary_vehicle_only);
 			var vehicle = newMultiStageJob.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as DeclarationInterimStageBusVehicleViewModel_v2_8;
 			Assert.NotNull(vehicle);
 			vehicle.Manufacturer = "test1";
 			vehicle.ManufacturerAddress = "testAddress2";
 			vehicle.VIN = "VIN123456789";
-			//Remove
+
+
 
 			var manufacturingStage =
 				newMultiStageJob.MultiStageJobViewModel as MultiStageJobViewModel_v0_1;
@@ -53,7 +55,9 @@ namespace Vecto3GUI2020Test
 
 			var fileName = primary_vehicle_only.Replace(".xml", "") + "_output.xml";
 			deleteFile(fileName);
-			_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(fileToSave:fileName).Object);
+			setMockDialogHelper(null, fileToSave: fileName);
+
+
 			manufacturingStage.SaveInputDataAsCommand.Execute(null);
 			Assert.True(checkFileNameExists(fileName));
 		}
@@ -84,7 +88,7 @@ namespace Vecto3GUI2020Test
 
 			var saveFileName = fileName.Replace(".xml", "") + "_output.xml";
 			deleteFile(saveFileName);
-			_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(fileToSave: saveFileName).Object);
+			_kernel.Rebind<IDialogHelper>().ToConstant(setMockDialogHelper(fileToSave: saveFileName).Object);
 			manstage.SaveInputDataAsCommand.Execute(null);
 
 			Assert.False(checkFileNameExists(saveFileName));
@@ -104,7 +108,7 @@ namespace Vecto3GUI2020Test
 
 			Assert.True(vehicle.AirdragModifiedMultistageEditingEnabled);
 
-			var mockDialog = getMockDialogHelper(consolidated_multiple_stages_hev);
+			var mockDialog = setMockDialogHelper(consolidated_multiple_stages_hev);
 			newMultistageJobViewModel.AddVifFile.Execute(null);
 			Assert.AreEqual(mockDialog.Object.OpenXMLFileDialog(null), newMultistageJobViewModel.VifPath);
 			vehicle = newMultistageJobViewModel.MultiStageJobViewModel.VehicleInputData as DeclarationInterimStageBusVehicleViewModel_v2_8;
@@ -129,7 +133,7 @@ namespace Vecto3GUI2020Test
 
 
 			var fileToSave = "loadAndSaveFullInputDataTest.xml";
-			var mockDialogHelper = getMockDialogHelper(stageInputFullSample, fileToSave);
+			var mockDialogHelper = setMockDialogHelper(stageInputFullSample, fileToSave);
 			multiStageJobViewModel.LoadVehicleDataCommand.Execute(null);
 
 			var manufacturingStageViewModel =
@@ -232,17 +236,20 @@ namespace Vecto3GUI2020Test
 		[Test]
 		public void loadVehicleDataTest()
 		{
-			string multiplestages = "";
-			multiplestages = Path.GetFullPath(DirPath + "vecto_multistage_consolidated_multiple_stages.xml");
 			
-			var dialogMockConsolidatedMultipleStage = new Mock<IDialogHelper>();
-			dialogMockConsolidatedMultipleStage.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(multiplestages);
-			dialogMockConsolidatedMultipleStage.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(multiplestages);
-			_kernel.Rebind<IDialogHelper>().ToConstant(dialogMockConsolidatedMultipleStage.Object);
+			
+			TestContext.WriteLine($"Loading {consolidated_multiple_stages}");
 
+			var newMultistageJobViewModel = loadFile(consolidated_multiple_stages);
 
-			var newMultistageJobViewModel = _kernel.Get<NewMultiStageJobViewModel>();
-			newMultistageJobViewModel.AddVifFile.Execute(null);
+			//var dialogMockConsolidatedMultipleStage = new Mock<IDialogHelper>();
+			//dialogMockConsolidatedMultipleStage.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(multiplestages);
+			//dialogMockConsolidatedMultipleStage.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(multiplestages);
+			//_kernel.Rebind<IDialogHelper>().ToConstant(dialogMockConsolidatedMultipleStage.Object);
+
+
+			//var newMultistageJobViewModel = _kernel.Get<NewMultiStageJobViewModel>();
+			//newMultistageJobViewModel.AddVifFile.Execute(null);
 			Assert.NotNull(newMultistageJobViewModel.MultiStageJobViewModel);
 
 			var manstageVehicleViewModel = newMultistageJobViewModel.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as IMultistageVehicleViewModel;
@@ -258,60 +265,68 @@ namespace Vecto3GUI2020Test
 
 			var manStageViewModel = multiStageViewModel.ManufacturingStageViewModel as ManufacturingStageViewModel_v0_1;
 
-			var vehicleInputData = Path.GetFullPath(DirPath + "vecto_vehicle-stage_input_full-sample.xml");
-			Assert.IsTrue(File.Exists(vehicleInputData));
+			var vehicleInputData = "vecto_vehicle-stage_input_full-sample.xml";
+			var mockDialogHelper = setMockDialogHelper(fileToLoad: vehicleInputData, fileToSave: null);
+			var vehicleInputDataFilePath = mockDialogHelper.Object.OpenXMLFileDialog();
+			TestContext.WriteLine($"Loading {vehicleInputDataFilePath}");
+			Assert.IsTrue(File.Exists(vehicleInputDataFilePath));
+
+			
 
-			var vehicleInputDataFiledialogMock = new Mock<IDialogHelper>();
-			vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(vehicleInputData);
-			vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(vehicleInputData);
-			_kernel.Rebind<IDialogHelper>().ToConstant(vehicleInputDataFiledialogMock.Object);
+			//var vehicleInputDataFiledialogMock = new Mock<IDialogHelper>();
+			//vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(vehicleInputData);
+			//vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(vehicleInputData);
+			//_kernel.Rebind<IDialogHelper>().ToConstant(vehicleInputDataFiledialogMock.Object);
 
 			multiStageViewModel.LoadVehicleDataCommand.Execute(null);
 
-			var vehicle = manStageViewModel.VehicleViewModel as DeclarationInterimStageBusVehicleViewModel_v2_8;
-			Assert.NotNull(vehicle);
-
-			Assert.AreEqual("VEH-1234567890", vehicle.Identifier);
-			Assert.AreEqual("Some Manufacturer", vehicle.Manufacturer);
-			Assert.AreEqual("Some Manufacturer Address", vehicle.ManufacturerAddress);
-			Assert.AreEqual("VEH-1234567890", vehicle.VIN);
-			Assert.AreEqual(DateTime.Today, vehicle.Date);
-			Assert.AreEqual("Sample Bus Model", vehicle.Model);
-			Assert.AreEqual(LegislativeClass.M3, vehicle.LegislativeClass);
-			Assert.AreEqual(500, vehicle.CurbMassChassis.Value());//CorrectedActualMass
-			Assert.AreEqual(3500, vehicle.GrossVehicleMassRating.Value());//TechnicalPermissibleMaximumLadenMass
-			//Assert.AreEqual(false, vehicle.AirdragModifiedMultistage);
-			Assert.AreEqual(TankSystem.Compressed, vehicle.TankSystem);//NgTankSystem
-			Assert.AreEqual(RegistrationClass.II_III, vehicle.RegisteredClass);//ClassBus
-			Assert.AreEqual(0, vehicle.NumberPassengerSeatsLowerDeck);
-			Assert.AreEqual(10, vehicle.NumberPassengerSeatsUpperDeck);
-			Assert.AreEqual(VehicleCode.CB, vehicle.VehicleCode);
-			Assert.AreEqual(false, vehicle.LowEntry);
-			Assert.AreEqual(2.5, vehicle.Height.Value());//HeightIntegratedBody
-			Assert.AreEqual(9.5, vehicle.Length.Value());
-			Assert.AreEqual(2.5, vehicle.Width.Value());
-
-			Assert.AreEqual(2500, (vehicle.ParameterViewModels[nameof(vehicle.HeightInMm)].CurrentContent as ConvertedSI).Value);
-			Assert.AreEqual(9500, (vehicle.ParameterViewModels[nameof(vehicle.LengthInMm)].CurrentContent as ConvertedSI).Value);
-			Assert.AreEqual(2500, (vehicle.ParameterViewModels[nameof(vehicle.WidthInMm)].CurrentContent as ConvertedSI).Value);
+			var vehicleViewModel = manStageViewModel.VehicleViewModel as DeclarationInterimStageBusVehicleViewModel_v2_8;
+			Assert.NotNull(vehicleViewModel);
+			//Assert.IsFalse(getMockDialogHelper().Verify);
+
+			Assert.AreEqual("VEH-1234567890", vehicleViewModel.Identifier);
+			Assert.AreEqual("Some Manufacturer", vehicleViewModel.Manufacturer);
+			Assert.AreEqual("Some Manufacturer Address", vehicleViewModel.ManufacturerAddress);
+			Assert.AreEqual("VEH-1234567890", vehicleViewModel.VIN);
+			Assert.AreEqual(DateTime.Today, vehicleViewModel.Date);
+			Assert.AreEqual("Sample Bus Model", vehicleViewModel.Model);
+			Assert.AreEqual(LegislativeClass.M3, vehicleViewModel.LegislativeClass);
+			Assert.AreEqual(500, vehicleViewModel.CurbMassChassis.Value());//CorrectedActualMass
+			Assert.AreEqual(3500, vehicleViewModel.GrossVehicleMassRating.Value());//TechnicalPermissibleMaximumLadenMass
+			Assert.AreEqual(false, vehicleViewModel.AirdragModifiedMultistage);
+			Assert.AreEqual(TankSystem.Compressed, vehicleViewModel.TankSystem);//NgTankSystem
+			Assert.AreEqual(RegistrationClass.II_III, vehicleViewModel.RegisteredClass);//ClassBus
+			Assert.AreEqual(1, vehicleViewModel.NumberPassengerSeatsLowerDeck);
+			Assert.AreEqual(10, vehicleViewModel.NumberPassengersStandingLowerDeck);
+			Assert.AreEqual(11, vehicleViewModel.NumberPassengerSeatsUpperDeck);
+			Assert.AreEqual(2, vehicleViewModel.NumberPassengersStandingUpperDeck);
+			Assert.AreEqual(VehicleCode.CB, vehicleViewModel.VehicleCode);
+			Assert.AreEqual(false, vehicleViewModel.LowEntry);
+			Assert.AreEqual(2.5, vehicleViewModel.Height.Value());//HeightIntegratedBody
+			Assert.AreEqual(9.5, vehicleViewModel.Length.Value());
+			Assert.AreEqual(2.5, vehicleViewModel.Width.Value());
+
+			Assert.AreEqual(2500, (vehicleViewModel.ParameterViewModels[nameof(vehicleViewModel.HeightInMm)].CurrentContent as ConvertedSI).Value);
+			Assert.AreEqual(9500, (vehicleViewModel.ParameterViewModels[nameof(vehicleViewModel.LengthInMm)].CurrentContent as ConvertedSI).Value);
+			Assert.AreEqual(2500, (vehicleViewModel.ParameterViewModels[nameof(vehicleViewModel.WidthInMm)].CurrentContent as ConvertedSI).Value);
 			
 
-			Assert.AreEqual(2, vehicle.EntranceHeight.Value());
-			Assert.AreEqual(ConsumerTechnology.Electrically, vehicle.DoorDriveTechnology);
-			Assert.AreEqual(VehicleDeclarationType.interim, vehicle.VehicleDeclarationType);
+			Assert.AreEqual(2, vehicleViewModel.EntranceHeight.Value());
+			Assert.AreEqual(ConsumerTechnology.Electrically, vehicleViewModel.DoorDriveTechnology);
+			Assert.AreEqual(VehicleDeclarationType.interim, vehicleViewModel.VehicleDeclarationType);
 
 
-			Assert.AreEqual(newMultistageJobViewModel.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle.DoorDriveTechnology, vehicle.DoorDriveTechnology);
+			Assert.AreEqual(newMultistageJobViewModel.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle.DoorDriveTechnology, vehicleViewModel.DoorDriveTechnology);
 
 
-			var airdrag = vehicle.MultistageAirdragViewModel;
+			var airdrag = vehicleViewModel.MultistageAirdragViewModel;
 			Assert.NotNull(airdrag.AirDragViewModel.XMLSource);
 
 
-			TestADASInput(vehicle);
-			TestComponents(vehicle.Components);
-			TestAirdragComponent(vehicle.Components.AirdragInputData);
-			TestAuxiliariesComponent(vehicle.BusAuxiliaries);
+			TestADASInput(vehicleViewModel);
+			TestComponents(vehicleViewModel.Components);
+			TestAirdragComponent(vehicleViewModel.Components.AirdragInputData);
+			TestAuxiliariesComponent(vehicleViewModel.BusAuxiliaries);
 
 
 
@@ -362,6 +377,16 @@ namespace Vecto3GUI2020Test
 			Assert.AreEqual(BusHVACSystemConfiguration.Configuration0, hvacAux.SystemConfiguration);
 			Assert.AreEqual(HeatPumpType.none, hvacAux.HeatPumpTypeDriverCompartment);
 			Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpModeDriverCompartment);
+
+			Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpPassengerCompartments[0].Item1);
+			Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpPassengerCompartments[0].Item2);
+
+			Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvacAux.HeatPumpPassengerCompartments[1].Item1);
+			Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpPassengerCompartments[1].Item2);
+
+			Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpPassengerCompartments[2].Item1);
+			Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpPassengerCompartments[2].Item2);
+
 			Assert.AreEqual(50, hvacAux.AuxHeaterPower.Value());
 			Assert.AreEqual(false, hvacAux.DoubleGlazing);
 			Assert.AreEqual(true, hvacAux.AdjustableAuxiliaryHeater);
diff --git a/Vecto3GUI2020Test/ViewModelTests/VehicleViewModelTests.cs b/Vecto3GUI2020Test/ViewModelTests/VehicleViewModelTests.cs
index efec893136092dae2dd2ce7052104a413b907460..51fa2cdc749365299dcfb1a39575b18a815a70e1 100644
--- a/Vecto3GUI2020Test/ViewModelTests/VehicleViewModelTests.cs
+++ b/Vecto3GUI2020Test/ViewModelTests/VehicleViewModelTests.cs
@@ -231,7 +231,7 @@ namespace Vecto3GUI2020Test.ViewModelTests
 			var vehicleVM =
 				vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as
 					DeclarationInterimStageBusVehicleViewModel_v2_8;
-			getMockDialogHelper(stageInputFullSample);
+			setMockDialogHelper(stageInputFullSample);
 			var vmConc = vm.MultiStageJobViewModel as MultiStageJobViewModel_v0_1;
 			vmConc.LoadVehicleDataCommand.Execute(null);
 			Assert.IsFalse(vmConc.ManufacturingStageViewModel.VehicleViewModel.HasErrors);
diff --git a/Vecto3GUI2020Test/ViewModelTests/ViewModelTestBase.cs b/Vecto3GUI2020Test/ViewModelTests/ViewModelTestBase.cs
index 4265e85f6b46e1bc04f71a4911418301820eff87..9955c70292cc94d394bcb0ec0e0f211c24884aa9 100644
--- a/Vecto3GUI2020Test/ViewModelTests/ViewModelTestBase.cs
+++ b/Vecto3GUI2020Test/ViewModelTests/ViewModelTestBase.cs
@@ -1,6 +1,7 @@
 using System;
 using System.Diagnostics;
 using System.IO;
+using System.Windows;
 using Moq;
 using Ninject;
 using NUnit.Framework;
@@ -92,7 +93,7 @@ namespace Vecto3GUI2020Test
 
 		public NewMultiStageJobViewModel loadFile(string fileName)
 		{
-			var mockDialogHelper = getMockDialogHelper(fileName);
+			var mockDialogHelper = setMockDialogHelper(fileName);
 
 			var newMultistageJobViewModel = _kernel.Get<NewMultiStageJobViewModel>();
 			newMultistageJobViewModel.AddVifFile.Execute(null);
@@ -118,10 +119,18 @@ namespace Vecto3GUI2020Test
 			return newMultistageJobViewModel;
 		}
 
-		protected Mock<IDialogHelper> getMockDialogHelper(string fileToLoad = null, string fileToSave = null)
+		protected Mock<IDialogHelper> setMockDialogHelper(string fileToLoad = null, string fileToSave = null)
 		{
 			if (_mockDialogHelper == null) {
 				_mockDialogHelper = new Mock<IDialogHelper>();
+				_mockDialogHelper.Setup(dialogHelper => dialogHelper.ShowMessageBox(It.IsAny<string>(),
+						It.IsAny<string>(),
+						It.IsAny<MessageBoxButton>(),
+						It.IsAny<MessageBoxImage>())).Returns(MessageBoxResult.OK)
+					.Callback<string, string, MessageBoxButton, MessageBoxImage>((
+						(message, caption, button, image) => {
+							TestContext.WriteLine($"{caption}\n {message}");
+						}));
 			}
 			if (fileToLoad != null) {
 				var filePath = Path.GetFullPath(DirPath + fileToLoad);
@@ -130,7 +139,7 @@ namespace Vecto3GUI2020Test
 				_mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(filePath);
 				_mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(filePath);
 
-				Debug.WriteLine($"Created MOCKDIALOGHELPER, returns {filePath} for OpenXMLFileDialog()");
+				TestContext.WriteLine($"Created MOCKDIALOGHELPER, returns {filePath} for OpenXMLFileDialog()");
 			}
 
 			if (fileToSave != null) {
@@ -140,13 +149,18 @@ namespace Vecto3GUI2020Test
 				_mockDialogHelper.Setup(dialogHelper =>
 					dialogHelper.SaveToXMLDialog(null)).Returns(filePath);
 
-				Debug.WriteLine($"Created MOCKDIALOGHELPER, returns {filePath} for SaveToXMLFileDialog()");
+				TestContext.WriteLine($"Created MOCKDIALOGHELPER, returns {filePath} for SaveToXMLFileDialog()");
 			}
 
 
 			return _mockDialogHelper;
 		}
 
+		protected Mock<IDialogHelper> getMockDialogHelper()
+		{
+			return _mockDialogHelper;
+		}
+
 		protected string GetFullPath(string fileName)
 		{
 			var path = Path.GetFullPath(DirPath + fileName);