From ade86fb959f342b1771b4fee946753277bb97963 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Thu, 10 Oct 2019 15:03:04 +0200
Subject: [PATCH] moving aaux to vectocore

---
 VECTOAux/BusAuxiliaries/BusAuxiliaries.csproj | 219 ----------
 .../Impl/Electrics/ElectricalConsumerList.cs  | 168 --------
 .../Impl/HVAC/BusEngineType.cs                |   9 -
 .../DownstreamModules/Impl/HVAC/SSMTOOL.cs    | 270 ------------
 .../DownstreamModules/HVAC/Class1.cs          |   8 -
 .../DownstreamModules/HVAC/ISSMGenInputs.cs   |  74 ----
 .../DownstreamModules/HVAC/ISSMRun.cs         |  16 -
 .../DownstreamModules/IAbstractModule.cs      |   6 -
 .../BusAuxiliaries/Properties/AssemblyInfo.cs |  35 --
 VECTOAux/BusAuxiliaries/Resources/Blank.bmp   | Bin 4150 -> 0 bytes
 VECTOAux/BusAuxiliaries/Resources/Image1.png  | Bin 233 -> 0 bytes
 VECTOAux/BusAuxiliaries/Resources/Info.bmp    | Bin 4150 -> 0 bytes
 .../BusAuxiliaries/Resources/Open-icon.png    | Bin 786 -> 0 bytes
 VECTOAux/BusAuxiliaries/Resources/desktop.png | Bin 642 -> 0 bytes
 .../BusAuxiliaries/Resources/favorites.png    | Bin 850 -> 0 bytes
 .../BusAuxiliaries/Resources/file-history.png | Bin 757 -> 0 bytes
 VECTOAux/BusAuxiliaries/Resources/new_dir.png | Bin 625 -> 0 bytes
 VECTOAux/BusAuxiliaries/packages.config       |   5 -
 .../BusAuxiliaries/AdvancedAuxiliaries.cs     |  50 ++-
 .../Models}/BusAuxiliaries/AuxiliaryConfig.cs | 295 +++++++++++--
 .../DownstreamModules/Impl/AbstractModule.cs  |   2 +-
 .../DownstreamModules/Impl/AlternatorMap.cs   |   6 +-
 .../Impl/Electrics/Alternator.cs              |   4 +-
 .../Impl/Electrics/CombinedAlternator.cs      |  34 +-
 .../Electrics/CombinedAlternatorMapRow.cs     |   4 +-
 .../Electrics/CombinedAlternatorSignals.cs    |   4 +-
 .../Impl/Electrics/ElectricalConsumer.cs      |  98 ++---
 .../Impl/Electrics/ElectricalConsumerList.cs  | 169 ++++++++
 .../Electrics/ElectricsUserInputsConfig.cs    |  11 +-
 .../Impl/Electrics/M00Impl.cs                 |  17 +-
 .../Impl/Electrics/M02Impl.cs                 |   7 +-
 .../Impl/Electrics/M05Impl.cs                 |   6 +-
 .../Impl/Electrics/M0_5Impl.cs                |   7 +-
 .../Impl/Electrics/ResultCard.cs              |  24 +-
 .../DownstreamModules/Impl/HVAC/Bus.cs        |   2 +-
 .../Impl/HVAC/BusDatabase.cs                  |  10 +-
 .../Impl/HVAC/BusEngineType.cs                |   9 +
 .../Impl/HVAC/EnvironmentalCondition.cs       |  15 +-
 .../Impl/HVAC/EnvironmentalConditionsMap.cs   |  14 +-
 .../Impl/HVAC/HVACConstants.cs                |   4 +-
 .../Impl/HVAC/HVACSteadyStateModel.cs         |   8 +-
 .../Impl/HVAC/HVACUserInputsConfig.cs         |   2 +-
 .../DownstreamModules/Impl/HVAC/IBus.cs       |   2 +-
 .../Impl/HVAC/IBusDatabase.cs                 |   2 +-
 .../DownstreamModules/Impl/HVAC/M01Impl.cs    |  20 +-
 .../Impl/HVAC/SSMCalculate.cs                 | 165 +++++---
 .../Impl/HVAC/SSMGenInputs.cs                 | 254 ++++++-----
 .../DownstreamModules/Impl/HVAC/SSMRun.cs     |  73 ++--
 .../DownstreamModules/Impl/HVAC/SSMTOOL.cs    | 399 ++++++++++++++++++
 .../Impl/HVAC/SSMTechList.cs                  |  22 +-
 .../Impl/HVAC/TechListBenefitLine.cs          | 120 ++++--
 .../DownstreamModules/Impl/M06Impl.cs         |   7 +-
 .../DownstreamModules/Impl/M07Impl.cs         |   7 +-
 .../DownstreamModules/Impl/M08Impl.cs         |   7 +-
 .../DownstreamModules/Impl/M09Impl.cs         |   8 +-
 .../DownstreamModules/Impl/M10Impl.cs         |   7 +-
 .../DownstreamModules/Impl/M11Impl.cs         |   6 +-
 .../DownstreamModules/Impl/M12Impl.cs         |   7 +-
 .../DownstreamModules/Impl/M13Impl.cs         |   7 +-
 .../DownstreamModules/Impl/M14Impl.cs         |  11 +-
 .../Impl/Pneumatics/CompressorMap.cs          |  12 +-
 .../Impl/Pneumatics/M03Impl.cs                |   7 +-
 .../Impl/Pneumatics/M04Impl.cs                |   8 +-
 .../Impl/Pneumatics/PneumaticActuationsMap.cs |   4 +-
 .../Pneumatics/PneumaticUserInputsConfig.cs   |   2 +-
 .../PneumaticsAuxilliariesConfig.cs           |   2 +-
 .../Electrics/AltUserInput.cs                 |   2 +-
 .../Electrics/AlternatorMapValues.cs          |   2 +-
 .../Electrics/ElectricConstants.cs            |   2 +-
 .../Electrics/IAlternator.cs                  |   2 +-
 .../Electrics/IAlternatorMap.cs               |   5 +-
 .../Electrics/ICombinedAlternator.cs          |   2 +-
 .../Electrics/ICombinedAlternatorMapRow.cs    |   2 +-
 .../Electrics/ICombinedAlternatorSignals.cs   |   2 +-
 .../DownstreamModules/HVAC/Class1.cs          |   8 +
 .../HVAC/IEnvironmentalCondition.cs           |   7 +-
 .../HVAC/IEnvironmentalConditionsMap.cs       |   2 +-
 .../DownstreamModules/HVAC/IHVACConstants.cs  |   4 +-
 .../HVAC/IHVACSteadyStateModel.cs             |   2 +-
 .../DownstreamModules/HVAC/ISSMCalculate.cs   |  40 +-
 .../DownstreamModules/HVAC/ISSMGenInputs.cs   |  77 ++++
 .../DownstreamModules/HVAC/ISSMRun.cs         |  18 +
 .../DownstreamModules/HVAC/ISSMTOOL.cs        |  20 +-
 .../DownstreamModules/HVAC/ISSMTechList.cs    |   2 +-
 .../HVAC/ITechListBenefitLine.cs              |   2 +-
 .../DownstreamModules/IAbstractModule.cs      |   6 +
 .../IM0_5_SmartAlternatorSetEfficiency.cs     |   2 +-
 .../IM0_NonSmart_AlternatorsSetEfficiency.cs  |   2 +-
 .../Interfaces/DownstreamModules/IM10.cs      |   2 +-
 .../Interfaces/DownstreamModules/IM11.cs      |   2 +-
 .../Interfaces/DownstreamModules/IM13.cs      |   2 +-
 .../Interfaces/DownstreamModules/IM14.cs      |   2 +-
 .../IM1_AverageHVACLoadDemand.cs              |   4 +-
 .../IM2_AverageElectrialLoadDemand.cs         |   2 +-
 .../IM3_AveragePneumaticLoadDemand.cs         |   2 +-
 .../DownstreamModules/IM4_AirCompressor.cs    |   2 +-
 .../IM5_SmartAlternatorSetGeneration.cs       |   2 +-
 .../Interfaces/DownstreamModules/IM6.cs       |   2 +-
 .../Interfaces/DownstreamModules/IM7.cs       |   2 +-
 .../Interfaces/DownstreamModules/IM8.cs       |   2 +-
 .../Interfaces/DownstreamModules/IM9.cs       |   4 +-
 .../PneumaticSystem/ActuationsKey.cs          |   2 +-
 .../PneumaticSystem/ICompressorMap.cs         |   4 +-
 .../IPneumaticActuationsMAP.cs                |   2 +-
 .../BusAuxiliaries/Interfaces/Enumerations.cs |   2 +-
 .../Interfaces/IAdvancedAuxiliaries.cs        |  17 +-
 .../Interfaces/IAuxiliaryEvent.cs             |   2 +-
 .../Models}/BusAuxiliaries/Interfaces/IM12.cs |   4 +-
 .../BusAuxiliaries/Interfaces/ISignals.cs     |   2 +-
 .../BusAuxiliaries/Interfaces/Signals.cs      |   2 +-
 .../BusAuxiliaries/Interfaces/VectoInputs.cs  |   3 +-
 .../BusAuxiliaries/Legacy/cDelaunayMap.cs     |   4 +-
 .../Models}/BusAuxiliaries/Legacy/cFile_V3.cs |   8 +-
 .../Models/BusAuxiliaries/Legacy/cMAP.cs      |  42 +-
 .../BusAuxiliaries/Util/FilePathUtils.cs      |   2 +-
 .../VectoCore/Models/Declaration/FloorType.cs |   9 +
 116 files changed, 1684 insertions(+), 1433 deletions(-)
 delete mode 100644 VECTOAux/BusAuxiliaries/BusAuxiliaries.csproj
 delete mode 100644 VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs
 delete mode 100644 VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs
 delete mode 100644 VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs
 delete mode 100644 VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs
 delete mode 100644 VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs
 delete mode 100644 VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs
 delete mode 100644 VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs
 delete mode 100644 VECTOAux/BusAuxiliaries/Properties/AssemblyInfo.cs
 delete mode 100644 VECTOAux/BusAuxiliaries/Resources/Blank.bmp
 delete mode 100644 VECTOAux/BusAuxiliaries/Resources/Image1.png
 delete mode 100644 VECTOAux/BusAuxiliaries/Resources/Info.bmp
 delete mode 100644 VECTOAux/BusAuxiliaries/Resources/Open-icon.png
 delete mode 100644 VECTOAux/BusAuxiliaries/Resources/desktop.png
 delete mode 100644 VECTOAux/BusAuxiliaries/Resources/favorites.png
 delete mode 100644 VECTOAux/BusAuxiliaries/Resources/file-history.png
 delete mode 100644 VECTOAux/BusAuxiliaries/Resources/new_dir.png
 delete mode 100644 VECTOAux/BusAuxiliaries/packages.config
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/AdvancedAuxiliaries.cs (88%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/AuxiliaryConfig.cs (58%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs (83%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs (97%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs (98%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs (94%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs (87%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs (69%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs (64%)
 create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs (85%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs (78%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs (87%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs (87%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs (92%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs (91%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs (98%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs (94%)
 create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs (53%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs (70%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs (90%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs (93%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs (93%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs (80%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs (78%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs (79%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs (77%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs (53%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs (69%)
 create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs (97%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs (64%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs (96%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs (92%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs (91%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs (93%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs (93%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs (95%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs (93%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs (88%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs (78%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs (95%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs (95%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs (88%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs (94%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs (95%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs (96%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs (87%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs (71%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs (88%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs (90%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs (87%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs (71%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs (75%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs (72%)
 create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs (51%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs (68%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs (77%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs (91%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs (54%)
 create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs
 create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs (57%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs (91%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs (90%)
 create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs (95%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs (93%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs (93%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs (97%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs (91%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs (67%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs (91%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs (90%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs (91%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs (96%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs (94%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs (97%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs (95%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs (94%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs (93%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs (93%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs (91%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs (87%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/Enumerations.cs (60%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs (92%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs (92%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/IM12.cs (90%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/ISignals.cs (98%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/Signals.cs (96%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/VectoInputs.cs (95%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Legacy/cDelaunayMap.cs (99%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Legacy/cFile_V3.cs (95%)
 rename VECTOAux/BusAuxiliaries/Legacy/Class1.cs => VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs (82%)
 rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Util/FilePathUtils.cs (98%)
 create mode 100644 VectoCore/VectoCore/Models/Declaration/FloorType.cs

diff --git a/VECTOAux/BusAuxiliaries/BusAuxiliaries.csproj b/VECTOAux/BusAuxiliaries/BusAuxiliaries.csproj
deleted file mode 100644
index b4cdb4b1be..0000000000
--- a/VECTOAux/BusAuxiliaries/BusAuxiliaries.csproj
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{550D99D4-25F7-48D9-B0F0-E5DD6CB3485D}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>TUGraz.VectoCore.BusAuxiliaries</RootNamespace>
-    <AssemblyName>BusAuxiliaries</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <TargetFrameworkProfile />
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="Microsoft.VisualBasic" />
-    <Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
-      <HintPath>..\..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
-      <Private>True</Private>
-    </Reference>
-    <Reference Include="Omu.ValueInjecter, Version=3.1.1.0, Culture=neutral, PublicKeyToken=c7694541b0ac80e4, processorArchitecture=MSIL">
-      <HintPath>..\..\packages\ValueInjecter.3.1.1.5\lib\net40\Omu.ValueInjecter.dll</HintPath>
-      <Private>True</Private>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Net.Http" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AuxiliaryConfig.cs" />
-    <Compile Include="AdvancedAuxiliaries.cs" />
-    <Compile Include="IAuxiliaryConfig.cs" />
-    <Compile Include="DownstreamModules\Impl\AbstractModule.cs" />
-    <Compile Include="DownstreamModules\Impl\AlternatorMap.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\Alternator.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\ElectricsUserInputsConfig.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\ResultCard.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\ElectricalConsumer.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\ElectricalConsumerList.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\CombinedAlternatorSignals.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\CombinedAlternatorMapRow.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\CombinedAlternator.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\M00Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\M02Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\Bus.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\BusDatabase.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\BusEngineType.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\SSMTOOL.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\SSMTechList.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\SSMRun.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\SSMGenInputs.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\SSMCalculate.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\HVACUserInputsConfig.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\HVACSteadyStateModel.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\HVACConstants.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\EnvironmentalConditionsMap.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\EnvironmentalCondition.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\DeleteCell.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\DeleteColumn.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\IBusDatabase.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\IBus.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\TechListBenefitLine.cs" />
-    <Compile Include="DownstreamModules\Impl\Pneumatics\PneumaticUserInputsConfig.cs" />
-    <Compile Include="DownstreamModules\Impl\Pneumatics\PneumaticsAuxilliariesConfig.cs" />
-    <Compile Include="DownstreamModules\Impl\Pneumatics\PneumaticActuationsMap.cs" />
-    <Compile Include="DownstreamModules\Impl\Pneumatics\CompressorMap.cs" />
-    <Compile Include="DownstreamModules\Impl\Pneumatics\M03Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\Pneumatics\M04Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\M05Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\Electrics\M0_5Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\M10Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\M11Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\M12Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\M13Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\M14Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\HVAC\M01Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\M06Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\M07Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\M08Impl.cs" />
-    <Compile Include="DownstreamModules\Impl\M09Impl.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\SmartResult.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\IResultCard.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\IElectricsUserInputsConfig.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\IElectricalConsumerList.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\IElectricalConsumer.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\ICombinedAlternatorSignals.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\ICombinedAlternatorMapRow.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\AlternatorMapValues.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\AltUserInput.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\ElectricConstants.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\IAlternator.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\IAlternatorMap.cs" />
-    <Compile Include="Interfaces\DownstreamModules\Electrics\ICombinedAlternator.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\Class1.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\ISSMTOOL.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\ISSMTechList.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\ISSMRun.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\ISSMGenInputs.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\ISSMCalculate.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\IHVACUserInputsConfig.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\IHVACSteadyStateModel.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\IHVACConstants.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\IEnvironmentalConditionsMap.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\IEnvironmentalCondition.cs" />
-    <Compile Include="Interfaces\DownstreamModules\HVAC\ITechListBenefitLine.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IAbstractModule.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM0_5_SmartAlternatorSetEfficiency.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM0_NonSmart_AlternatorsSetEfficiency.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM10.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM11.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM13.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM14.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM1_AverageHVACLoadDemand.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM2_AverageElectrialLoadDemand.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM3_AveragePneumaticLoadDemand.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM4_AirCompressor.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM5_SmartAlternatorSetGeneration.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM6.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM7.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM8.cs" />
-    <Compile Include="Interfaces\DownstreamModules\IM9.cs" />
-    <Compile Include="Interfaces\DownstreamModules\PneumaticSystem\ActuationsKey.cs" />
-    <Compile Include="Interfaces\DownstreamModules\PneumaticSystem\IPneumaticUserInputsConfig.cs" />
-    <Compile Include="Interfaces\DownstreamModules\PneumaticSystem\IPneumaticsAuxilliariesConfig.cs" />
-    <Compile Include="Interfaces\DownstreamModules\PneumaticSystem\IPneumaticActuationsMAP.cs" />
-    <Compile Include="Interfaces\DownstreamModules\PneumaticSystem\ICompressorMap.cs" />
-    <Compile Include="Interfaces\Enumerations.cs" />
-    <Compile Include="Interfaces\IAdvancedAuxiliaries.cs" />
-    <Compile Include="Interfaces\IAuxiliaryEvent.cs" />
-    <Compile Include="Interfaces\IFuelConsumptionMap.cs" />
-    <Compile Include="Interfaces\IM12.cs" />
-    <Compile Include="Interfaces\ISignals.cs" />
-    <Compile Include="Interfaces\IVectoInputs.cs" />
-    <Compile Include="Interfaces\Signals.cs" />
-    <Compile Include="Interfaces\VectoInputs.cs" />
-    <Compile Include="Legacy\cDelaunayMap.cs" />
-    <Compile Include="Legacy\cFile_V3.cs" />
-    <Compile Include="Legacy\Class1.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Util\FilePathUtils.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\VectoCommon\VectoCommon\VectoCommon.csproj">
-      <Project>{79A066AD-69A9-4223-90F6-6ED5D2D084F4}</Project>
-      <Name>VectoCommon</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="packages.config" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Images\application-export-icon-small.png" />
-  </ItemGroup>
-  <ItemGroup>
-    <Resource Include="Images\Delete.png">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Resource>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Images\Delete1.png" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Resources\Blank.bmp" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Resources\desktop.png" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Resources\favorites.png" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Resources\file-history.png" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Resources\Image1.png" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Resources\Info.bmp" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Resources\new_dir.png" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Resources\Open-icon.png" />
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs b/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs
deleted file mode 100644
index f535ce8707..0000000000
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs
+++ /dev/null
@@ -1,168 +0,0 @@
-// Copyright 2017 European Union.
-// Licensed under the EUPL (the 'Licence');
-// 
-// * You may not use this work except in compliance with the Licence.
-// * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
-// * Unless required by applicable law or agreed to in writing,
-// software distributed under the Licence is distributed on an "AS IS" basis,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// 
-// See the LICENSE.txt for the specific language governing permissions and limitations.
-
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
-
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
-{
-	public class ElectricalConsumerList : IElectricalConsumerList
-	{
-		private List<IElectricalConsumer> _items = new List<IElectricalConsumer>();
-		private double _powernetVoltage;
-		private double _doorDutyCycleZeroToOne;
-
-
-		// Constructor
-		public ElectricalConsumerList(double powernetVoltage, double doorDutyCycle_ZeroToOne, bool createDefaultList = false)
-		{
-			_powernetVoltage = powernetVoltage;
-
-			if (createDefaultList)
-				_items = GetDefaultConsumerList();
-
-
-			_doorDutyCycleZeroToOne = doorDutyCycle_ZeroToOne;
-		}
-
-		// Transfers the Info comments from a default set of consumables to a live set.
-		// This way makes the comments not dependent on saved data.
-		public void MergeInfoData()
-		{
-			if (_items.Count != GetDefaultConsumerList().Count)
-				return;
-
-			var dflt = GetDefaultConsumerList();
-
-			for (var idx = 0; idx <= _items.Count - 1; idx++)
-
-				_items[idx].Info = dflt[idx].Info;
-		}
-
-		// Initialise default set of consumers
-		public List<IElectricalConsumer> GetDefaultConsumerList()
-		{
-
-			// This populates the default settings as per engineering spreadsheet.
-			// Vehicle Basic Equipment' category can be added or remove by customers.
-			// At some time in the future, this may be removed and replace with file based consumer lists.
-
-			var items = new List<IElectricalConsumer>();
-
-			IElectricalConsumer c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20;
-
-			c1 = (IElectricalConsumer)new ElectricalConsumer(false, "Doors", "Doors per Door", 3.0, 0.096339, _powernetVoltage, 3, "");
-			c2 = (IElectricalConsumer)new ElectricalConsumer(true, "Veh Electronics &Engine", "Controllers,Valves etc", 25.0, 1.0, _powernetVoltage, 1, "");
-			c3 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Radio City", 2.0, 0.8, _powernetVoltage, 1, "");
-			c4 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Radio Intercity", 5.0, 0.8, _powernetVoltage, 0, "");
-			c5 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Radio/Audio Tourism", 9.0, 0.8, _powernetVoltage, 0, "");
-			c6 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Fridge", 4.0, 0.5, _powernetVoltage, 0, "");
-			c7 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Kitchen Standard", 67.0, 0.05, _powernetVoltage, 0, "");
-			c8 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Interior lights City/ Intercity + Doorlights [Should be 1/m]", 1.0, 0.7, _powernetVoltage, 12, "1 Per metre length of bus");
-			c9 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "LED Interior lights ceiling city/Intercity + door [Should be 1/m]", 0.6, 0.7, _powernetVoltage, 0, "1 Per metre length of bus");
-			c10 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Interior lights Tourism + reading [1/m]", 1.1, 0.7, _powernetVoltage, 0, "1 Per metre length of bus");
-			c11 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "LED Interior lights ceiling Tourism + LED reading [Should be 1/m]", 0.66, 0.7, _powernetVoltage, 0, "1 Per metre length of bus");
-			c12 = (IElectricalConsumer)new ElectricalConsumer(false, "Customer Specific Equipment", "External Displays Font/Side/Rear", 2.65017667844523, 1.0, _powernetVoltage, 4, "");
-			c13 = (IElectricalConsumer)new ElectricalConsumer(false, "Customer Specific Equipment", "Internal display per unit ( front side rear)", 1.06007067137809, 1.0, _powernetVoltage, 1, "");
-			c14 = (IElectricalConsumer)new ElectricalConsumer(false, "Customer Specific Equipment", "CityBus Ref EBSF Table4 Devices ITS No Displays", 9.3, 1.0, _powernetVoltage, 1, "");
-			c15 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Exterior Lights BULB", 7.4, 1.0, _powernetVoltage, 1, "");
-			c16 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Day running lights LED bonus", -0.723, 1.0, _powernetVoltage, 1, "");
-			c17 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Antifog rear lights LED bonus", -0.17, 1.0, _powernetVoltage, 1, "");
-			c18 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Position lights LED bonus", -1.2, 1.0, _powernetVoltage, 1, "");
-			c19 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Direction lights LED bonus", -0.3, 1.0, _powernetVoltage, 1, "");
-			c20 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Brake Lights LED bonus", -1.2, 1.0, _powernetVoltage, 1, "");
-
-			items.Add(c1);
-			items.Add(c2);
-			items.Add(c3);
-			items.Add(c4);
-			items.Add(c5);
-			items.Add(c6);
-			items.Add(c7);
-			items.Add(c8);
-			items.Add(c9);
-			items.Add(c10);
-			items.Add(c11);
-			items.Add(c12);
-			items.Add(c13);
-			items.Add(c14);
-			items.Add(c15);
-			items.Add(c16);
-			items.Add(c17);
-			items.Add(c18);
-			items.Add(c19);
-			items.Add(c20);
-
-			return items;
-		}
-
-
-		// Interface implementation
-		public double DoorDutyCycleFraction
-		{
-			get {
-				return _doorDutyCycleZeroToOne;
-			}
-			set {
-				_doorDutyCycleZeroToOne = value;
-			}
-		}
-
-		public List<IElectricalConsumer> Items
-		{
-			get {
-				return _items;
-			}
-		}
-
-		public void AddConsumer(IElectricalConsumer consumer)
-		{
-			if (!_items.Contains(consumer))
-				_items.Add(consumer);
-			else
-				throw new ArgumentException("Consumer Already Present in the list");
-		}
-
-		public void RemoveConsumer(IElectricalConsumer consumer)
-		{
-			if (_items.Contains(consumer))
-				_items.Remove(consumer);
-			else
-				throw new ArgumentException("Consumer Not In List");
-		}
-
-
-		public Ampere GetTotalAverageDemandAmps(bool excludeOnBase)
-		{
-			Ampere Amps;
-
-			if (excludeOnBase)
-
-				Amps = Items.Where(x => x.BaseVehicle == false)
-							.Sum(consumer => consumer.TotalAvgConumptionAmps(DoorDutyCycleFraction));
-
-			// Aggregate item In Items Where item.BaseVehicle = False Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction))
-
-
-			else
-
-				Amps = Items.Sum(x => x.TotalAvgConumptionAmps(DoorDutyCycleFraction));
-					//Aggregate item In Items Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction))
-
- 
-			return Amps;
-		}
-	}
-}
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs b/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs
deleted file mode 100644
index 5bee1d3394..0000000000
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
-{
-	public enum BusEngineType
-	{
-		Diesal = 1,
-		Gas = 2,
-		Hybrid = 3
-	}
-}
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs b/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs
deleted file mode 100644
index 94c9ce57fd..0000000000
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs
+++ /dev/null
@@ -1,270 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Text;
-using Newtonsoft.Json;
-using Omu.ValueInjecter;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
-using TUGraz.VectoCore.BusAuxiliaries.Util;
-
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
-{
-	// Used by frmHVACTool
-	// Replaces Spreadsheet model which does the same calculation
-	// Version of which appears on the form title.
-	public class SSMTOOL : ISSMTOOL
-	{
-		private string filePath;
-		public ISSMGenInputs GenInputs { get; set; }
-		public ISSMTechList TechList { get; set; }
-		public ISSMCalculate Calculate { get; set; }
-		public bool SSMDisabled { get; set; }
-		public IHVACConstants HVACConstants { get; set; }
-
-		// Repeat Warning Flags
-		private bool CompressorCapacityInsufficientWarned;
-		private bool FuelFiredHeaterInsufficientWarned;
-
-		// Base Values
-		public double ElectricalWBase
-		{
-			get {
-				return SSMDisabled ? 0 : Calculate.ElectricalWBase; // .SI(Of Watt)()
-			}
-		}
-
-		public double MechanicalWBase
-		{
-			get {
-				return SSMDisabled ? 0 : Calculate.MechanicalWBase; // .SI(Of Watt)()
-			}
-		}
-
-		public double FuelPerHBase
-		{
-			get {
-				return SSMDisabled ? 0 : Calculate.FuelPerHBase; // .SI(Of LiterPerHour)()
-			}
-		}
-
-		// Adjusted Values
-		public double ElectricalWAdjusted
-		{
-			get {
-				return SSMDisabled ? 0 : Calculate.ElectricalWAdjusted; // .SI(Of Watt)()
-			}
-		}
-
-		public double MechanicalWBaseAdjusted
-		{
-			get {
-				var mechAdjusted = SSMDisabled ? 0 : Calculate.MechanicalWBaseAdjusted;
-
-				if (CompressorCapacityInsufficientWarned == false && (mechAdjusted) / (1000 * GenInputs.AC_COP) > GenInputs.AC_CompressorCapacitykW) {
-					OnMessage(this, "HVAC SSM :AC-Compressor Capacity unable to service cooling, run continues as if capacity was sufficient.", AdvancedAuxiliaryMessageType.Warning);
-					CompressorCapacityInsufficientWarned = true;
-				}
-
-
-				return mechAdjusted; // .SI(Of Watt)()
-			}
-		}
-
-		public double FuelPerHBaseAdjusted
-		{
-			get {
-				return SSMDisabled ? 0 : Calculate.FuelPerHBaseAdjusted; // .SI(Of LiterPerHour)()
-			}
-		}
-
-		// Constructors
-		public SSMTOOL(string filePath, HVACConstants hvacConstants, bool isDisabled = false, bool useTestValues = false)
-		{
-			this.filePath = filePath;
-			this.SSMDisabled = isDisabled;
-			this.HVACConstants = hvacConstants;
-
-			GenInputs = new SSMGenInputs(useTestValues, FilePathUtils.fPATH(filePath));
-			TechList = new SSMTechList(filePath, GenInputs, useTestValues);
-
-			Calculate = new SSMCalculate(this);
-		}
-
-		// Clone values from another object of same type
-		public void Clone(ISSMTOOL from)
-		{
-			var feedback = string.Empty;
-
-			GenInputs.InjectFrom(((SSMTOOL)from).GenInputs);
-
-			TechList.Clear();
-
-			foreach (var line in from.TechList.TechLines) {
-				var newLine = new TechListBenefitLine(this.GenInputs);
-				// newLine.InjectFrom()
-				newLine.InjectFrom(line);
-				TechList.Add(newLine, ref feedback);
-			}
-		}
-
-		// Persistance Functions
-		public bool Save(string filePath)
-		{
-			var returnValue = true;
-			var settings = new JsonSerializerSettings();
-			settings.TypeNameHandling = TypeNameHandling.Objects;
-
-			// JSON METHOD
-			try {
-				var output = JsonConvert.SerializeObject(this, Formatting.Indented, settings);
-
-				File.WriteAllText(filePath, output);
-			} catch (Exception ex) {
-
-				// Nothing to do except return false.
-				returnValue = false;
-			}
-
-			return returnValue;
-		}
-
-		public bool Load(string filePath)
-		{
-			var returnValue = true;
-			var settings = new JsonSerializerSettings();
-			SSMTOOL tmpAux; // = New SSMTOOL(filePath, HVACConstants)
-
-			settings.TypeNameHandling = TypeNameHandling.Objects;
-
-			// JSON METHOD
-			try {
-				var output = File.ReadAllText(filePath);
-
-
-				tmpAux = JsonConvert.DeserializeObject<SSMTOOL>(output, settings);
-
-				tmpAux.TechList.SetSSMGeneralInputs(tmpAux.GenInputs);
-
-				foreach (TechListBenefitLine tll in tmpAux.TechList.TechLines)
-
-					tll.inputSheet = tmpAux.GenInputs;
-
-
-				// This is where we Assume values of loaded( Deserialized ) object.
-				Clone(tmpAux);
-			} catch (Exception ex) {
-
-				// Nothing to do except return false.
-
-				returnValue = false;
-			}
-
-			return returnValue;
-		}
-
-		// Comparison
-		public bool IsEqualTo(ISSMTOOL source)
-		{
-
-			// In this methods we only want to compare the non Static , non readonly public properties of 
-			// The class's General, User Inputs and  Tech Benefit members.
-
-			return compareGenUserInputs(source) && compareTechListBenefitLines(source);
-		}
-
-		private bool compareGenUserInputs(ISSMTOOL source)
-		{
-			var src = (SSMTOOL)source;
-
-			var returnValue = true;
-
-			var properties = this.GenInputs.GetType().GetProperties();
-
-			foreach (var prop in properties) {
-
-				// If Not prop.GetAccessors.IsReadOnly Then
-				if (prop.CanWrite) {
-					if (!prop.GetValue(this.GenInputs, null/* TODO Change to default(_) if this is not a reference type */).Equals(prop.GetValue(src.GenInputs, null/* TODO Change to default(_) if this is not a reference type */)))
-						returnValue = false;
-				}
-			}
-
-			return returnValue;
-		}
-
-		private bool compareTechListBenefitLines(ISSMTOOL source)
-		{
-			var src = (SSMTOOL)source;
-
-			// Equal numbers of lines check
-			if (this.TechList.TechLines.Count != src.TechList.TechLines.Count)
-				return false;
-
-			foreach (var tl in this.TechList.TechLines.OrderBy(o => o.Category).ThenBy(n => n.BenefitName)) {
-
-				// First Check line exists in other
-				if (src.TechList.TechLines.Where(w => w.BenefitName == tl.BenefitName && w.Category == tl.Category).Count() != 1)
-					return false;
-				else {
-
-					// check are equal
-
-					var testLine = src.TechList.TechLines.First(w => w.BenefitName == tl.BenefitName && w.Category == tl.Category);
-
-					if (!testLine.IsEqualTo(tl))
-						return false;
-				}
-			}
-
-			// All Looks OK
-			return true;
-		}
-
-		// Overrides
-		public override string ToString()
-		{
-			var sb = new StringBuilder();
-
-			sb.AppendLine(Calculate.ToString());
-
-
-			return sb.ToString();
-		}
-
-		// Dynamicly Get Fuel having re-adjusted Engine Heat Waste, this was originally supposed to be Solid State. Late adjustment request 24/3/2015
-		public double FuelPerHBaseAsjusted(double AverageUseableEngineWasteHeatKW)
-		{
-			if (SSMDisabled)
-				return 0;
-
-			// Set Engine Waste Heat
-			GenInputs.AH_EngineWasteHeatkW = AverageUseableEngineWasteHeatKW;
-			var fba = FuelPerHBaseAdjusted;
-
-			// Dim FuelFiredWarning As Boolean = fba * GenInputs.BC_AuxHeaterEfficiency * HVACConstants.FuelDensity * GenInputs.BC_GCVDieselOrHeatingOil * 1000 > (AverageUseableEngineWasteHeatKW + GenInputs.AH_FuelFiredHeaterkW)
-
-			// If Not FuelFiredHeaterInsufficientWarned AndAlso FuelFiredWarning Then
-
-			// FuelFiredHeaterInsufficientWarned = True
-
-			// OnMessage(Me, " HVAC SSM : Fuel fired heater insufficient for heating requirements, run continues assuming it was sufficient.", AdvancedAuxiliaryMessageType.Warning)
-
-			// End If
-
-			return fba;
-		}
-
-		// Events
-		public event MessageEventHandler Message;
-
-		// Raise Message Event.
-		private void OnMessage(object sender, string message, AdvancedAuxiliaryMessageType messageType)
-		{
-			if (message != null) {
-				object ssmtool = this;
-				Message?.Invoke(ref ssmtool, message: message, messageType: messageType);
-			}
-		}
-	}
-}
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs b/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs
deleted file mode 100644
index 2ad245a613..0000000000
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
-{
-	public enum TechLineType
-	{
-		Normal,
-		HVCActiveSelection
-	}
-}
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs b/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs
deleted file mode 100644
index 1200f23926..0000000000
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
-{
-	public interface ISSMGenInputs
-	{
-
-		// Bus Parameterisation	
-		string BP_BusModel { get; set; }
-		double BP_NumberOfPassengers { get; set; }
-		string BP_BusFloorType { get; set; }
-		bool BP_DoubleDecker { get; set; }
-		double BP_BusLength { get; set; }
-		double BP_BusWidth { get; set; }
-		double BP_BusHeight { get; set; }
-
-		double BP_BusFloorSurfaceArea { get; }
-		double BP_BusWindowSurface { get; }
-		double BP_BusSurfaceAreaM2 { get; }
-		double BP_BusVolume { get; }
-
-		// Boundary Conditions:			
-		double BC_GFactor { get; set; }
-		double BC_SolarClouding { get; }
-		double BC_HeatPerPassengerIntoCabinW { get; }
-		double BC_PassengerBoundaryTemperature { get; set; }
-		double BC_PassengerDensityLowFloor { get; }
-		double BC_PassengerDensitySemiLowFloor { get; }
-		double BC_PassengerDensityRaisedFloor { get; }
-		double BC_CalculatedPassengerNumber { get; }
-		double BC_UValues { get; }
-		double BC_HeatingBoundaryTemperature { get; set; }
-		double BC_CoolingBoundaryTemperature { get; set; }
-		double BC_TemperatureCoolingTurnsOff { get; }
-		double BC_HighVentilation { get; set; }
-		double BC_lowVentilation { get; set; }
-		double BC_High { get; }
-		double BC_Low { get; }
-		double BC_HighVentPowerW { get; }
-		double BC_LowVentPowerW { get; }
-		double BC_SpecificVentilationPower { get; set; }
-		double BC_AuxHeaterEfficiency { get; set; }
-		double BC_GCVDieselOrHeatingOil { get; set; }
-		double BC_WindowAreaPerUnitBusLength { get; }
-		double BC_FrontRearWindowArea { get; }
-		double BC_MaxTemperatureDeltaForLowFloorBusses { get; set; }
-		double BC_MaxPossibleBenefitFromTechnologyList { get; set; }
-
-		// EnviromentalConditions				
-		double EC_EnviromentalTemperature { get; set; }
-		double EC_Solar { get; set; }
-		IEnvironmentalConditionsMap EC_EnvironmentalConditionsMap { get; }
-		string EC_EnviromentalConditions_BatchFile { get; set; }
-		bool EC_EnviromentalConditions_BatchEnabled { get; set; }
-
-		// AC-system				            
-		string AC_CompressorType { get; set; }
-		string AC_CompressorTypeDerived { get; }
-		double AC_CompressorCapacitykW { get; set; }
-		double AC_COP { get; }
-
-		// Ventilation				
-		bool VEN_VentilationOnDuringHeating { get; set; }
-		bool VEN_VentilationWhenBothHeatingAndACInactive { get; set; }
-		bool VEN_VentilationDuringAC { get; set; }
-		string VEN_VentilationFlowSettingWhenHeatingAndACInactive { get; set; }
-		string VEN_VentilationDuringHeating { get; set; }
-		string VEN_VentilationDuringCooling { get; set; }
-
-		// Aux. Heater				
-		double AH_EngineWasteHeatkW { get; set; }
-		double AH_FuelFiredHeaterkW { get; set; }
-		double AH_FuelEnergyToHeatToCoolant { get; set; }
-		double AH_CoolantHeatTransferredToAirCabinHeater { get; set; }
-	}
-}
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs b/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs
deleted file mode 100644
index 08fbfa00e8..0000000000
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
-{
-	public interface ISSMRun
-	{
-		double HVACOperation { get; }
-		double TCalc { get; }
-		double TemperatureDelta { get; }
-		double QWall { get; }
-		double WattsPerPass { get; }
-		double Solar { get; }
-		double TotalW { get; }
-		double TotalKW { get; }
-		double FuelW { get; }
-		double TechListAmendedFuelW { get; }
-	}
-}
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs b/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs
deleted file mode 100644
index 850bc73eda..0000000000
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules {
-	public interface IAbstractModule
-	{
-		void ResetCalculations();
-	}
-}
diff --git a/VECTOAux/BusAuxiliaries/Properties/AssemblyInfo.cs b/VECTOAux/BusAuxiliaries/Properties/AssemblyInfo.cs
deleted file mode 100644
index 902014cc5b..0000000000
--- a/VECTOAux/BusAuxiliaries/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("BusAuxiliaries")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("BusAuxiliaries")]
-[assembly: AssemblyCopyright("Copyright ©  2019")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("550d99d4-25f7-48d9-b0f0-e5dd6cb3485d")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/VECTOAux/BusAuxiliaries/Resources/Blank.bmp b/VECTOAux/BusAuxiliaries/Resources/Blank.bmp
deleted file mode 100644
index 3356cb1a16ef78415ac26ff4ddfe2ec06e7f5e1a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4150
zcmeIuK@9*P3`5ajfFOY*3MPO%uJHxUh6?hVbXl)&E^iib-J$l^5}$^$Yc`kJAqXIV
V00IagfB*srAb<b@2q5sizy)IH^cnyF

diff --git a/VECTOAux/BusAuxiliaries/Resources/Image1.png b/VECTOAux/BusAuxiliaries/Resources/Image1.png
deleted file mode 100644
index 3e9d6ed41b4901ee2e3811ef6e85df0978acf1d2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 233
zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1SD@H<Xr$#jKx9jP7LeL$-D$|SkfJR9T^xl
z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq8sKd6mGxU^Rn*LA+qju0R{0M7pPo
zV@QPi+e;e-85DU~3}5We_#b?58J|m4r~8|^GdI8b%f7ZM{i^Bv-7+FfEn0$3EnW-C
wcm=f@Z<)HRV9B~Juuy14tTTSW>!x2AA6$+S6}hN-9%v<lr>mdKI;Vst04O9%8~^|S

diff --git a/VECTOAux/BusAuxiliaries/Resources/Info.bmp b/VECTOAux/BusAuxiliaries/Resources/Info.bmp
deleted file mode 100644
index c87470c216723cf67cf853cec686934aee6c9c66..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4150
zcmZ?rH4|U}12Z700mKSW%m`)yIY4lP4}u{)28REmU^E0qLtw~+!0T^3|8Ze@cmkK*
zAaQztQTs>ZA6FU}O@Fix0bF4}n*T@3Kia3h|2XTuk&^!C5yperj=@m=U<)65roVx<
PA6Fb;bJwWY;0^%*r<-Z|

diff --git a/VECTOAux/BusAuxiliaries/Resources/Open-icon.png b/VECTOAux/BusAuxiliaries/Resources/Open-icon.png
deleted file mode 100644
index 5b25c5b924bd2a400e3b1a24887bad98d10b5ad2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 786
zcmV+t1MU2YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008nNkl<Zc-oDV
zO-vI(6vzMDZNUJgB@iJR`4Ef9H$frsK*V57{7BGvlY@k-Mo2K4s0WSVf+iZHC;2#u
za4}M2q6tC~1H=d=<ug>I<x2$G?Uq8j%g#ET7A*1NOI~K?&3nK3znNWbsIz(mK#`W$
zK&z$BbKp1*k*3kGwV)_!eeQ*pw#Yq>0@Tv;1z25hLHH%Yy&@vvU?!5%a@e?IesK-<
zz78S(Vr#-bfaB-#0W}oZmK6vTGG|*r>4`#`5zaKE!)$5CZC@X@{p9IPt*d?)P;xep
z<){o2A`O2UM^V;(1X~NYfOk`NG<Yr8BHQ3auGd-TsbGNO%3NBe?y3lywR-}2hm*il
zKy(z(Vk6TlxboXvv8j=JB&t;B<{vOXVa2iV=^+8Zsm(HpqiKoIX*oDmFK#&o!EFKN
z>TxdRS=?KXK2WvK$qNjSU!F|?Dk4RU_fI3^fDsNNqG4qKH%~vpE6YoKxNPB)8)JLK
z6zLT2;6ithb2961vC5jk)Zh#@4GLZ;3%FW#1HJR_(e<?po9^v4C6-+C8Dwzw@FixK
znV15Vgn9^y>HcoT8@&tH%kQIO@;OFVMzB1)0a>F!idV29%OI0#2w*D7q{ZPDs0X$J
zsC9hAoik17oOlAedj?)9fDK97b>D^zWtj9bKxSbEJ3Xl4=hz&B+|$@_<WLG$15R2j
z?E!c<sgFv6B9hQEX5^)V5S6KLPC2peA#f-nUK1N)(zQ@^U;sh%V|{)Lq9ZV;_{k-?
znOGShH9M6R2O*301uU=0@JlLUj5;(4{UB*{FN$Dh$c6fZ65Or-!bN_{?)XH5G0vc8
zkmb2WO#WDh*C!!4F&5E!9uJoWpqK!s&4W(U#p24EPHQB<NXJ%Pl&(sjV1(!r&~6^9
zd))HPOyje`q`0~$qau-3C7=pYvr@C?XWE%iP*o5_-8f)fDyVDxY{P%pA3>9tEbk%O
QBLDyZ07*qoM6N<$g6<?}N&o-=

diff --git a/VECTOAux/BusAuxiliaries/Resources/desktop.png b/VECTOAux/BusAuxiliaries/Resources/desktop.png
deleted file mode 100644
index 59c84dc6b7c229730f174dd03f2987f674fc6e20..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 642
zcmV-|0)737P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006>Nkl<Zc-qC&
zTS(Jk9L8~PgFw29pqqla@WKwXF`YIohm%s$wK6*(R$3_@n{&AgNz(;sU^7pcR-zDs
zXkuye?{T<1&oZ5dbkjA2iV6z4`L;%BvkNb}=!J*(;^q1LZho(q*MC2cTKZU@x>gfS
z#zBk&6AVpQnVwr@amj&w*~#pJgV8rOguxk_x+if1n+_DPS)#|=|2A6>7qdOIm>ow;
z*d1xWM^(z6m@@p%R}m0jP0*DZ<jJ+f<ka)T_-YM^(sZD@*2&47E{^L2j%fvsWC?_3
z8VOMwQMlg1bX`Q`cB8!2M{Hgr_3f75Kp{%a3nDe0u3``2+CCJTenMP1l-W<P>ki8?
z6OlKFQa?;|(I^-6t<*gm{{@KjgkN<{Nf%J4O~}<|S8<pi%@_x>#t7C~h$x&wdB@7B
zl3C7`z2)*<!4r@tw<AjukfjX}kTHV4`Zdz5DFU;t$ZyUORct5P;NWb9len4{k_;wK
zK$_5o=wc`0L^GmP3!?OCB-(joHx>ykSVDDgh0_)9iGA>q_`1)eR1A3nK2eqIimb&q
zegNOZ3HGMV;+JhBD0dl!-pPs551gs`MBKwKTx$4AYUPM0kW~JhjOOo%3L&AomwoF1
z)nCBq8eq6z?k<0md80AycO!ZE`5R^x$kgiGrESfCHHMujJ&48P4YLYJrBVW~H@J&i
zl=b)&^&*i-HjEp1{Is9Oj+eBX#xajiGdZ)sf_)jg!^ynu9TuyNo{>3PdMDkR_p|h8
c{`oWh09p_ty(6?-mH+?%07*qoM6N<$f(mUfGynhq

diff --git a/VECTOAux/BusAuxiliaries/Resources/favorites.png b/VECTOAux/BusAuxiliaries/Resources/favorites.png
deleted file mode 100644
index 12d6fc99713d7cfe23191a759747818531d77731..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 850
zcmV-Y1FigtP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0009SNkl<Zc-no_
zTTByH7{GC|ERF}wo`w&)EK#->QPXTO#5s(JGudKfF`03qCXndlVQvc9)Dlq{=;j6I
z#<T`6Lt%i(u;PXaUQ$5Y(w5%16k2S7mR@LqmePXz@6ZQh)$Al+a?VM<-*>JF38MLQ
zB~G8V*zN8(!iee+t|wB4+xIirnvea_cRYRY4YuZ7`tR<vTAFh56JBltAm}K^XE=^W
z^aC~-Rzn%l$rhePA3cw$F*&_|@36iWm=52HMc7}1&r&*D4U_s8#yoPKO`DmC8i@w~
zp}R4Q{{^C<2Bs!%U}?&xv;73dC#9mgm6=FC;Xngj@-43cw8ccjaw4I>L~<RIfoghg
zZ%3yn!O(h&kZc=)vMfUGYD^7Zz6y9XMMQ%2gvYNl>Hm|U_bOetwxW4hguYn-g~@pH
z78118i23cW0v>Vt;jvmm{wgNC6^ywqV!F9mtU!jgQp$9-gvmcr8CPG%XOq);ePdZ1
zFrq3XG+N1o=ZZ)!$3J)uWBn$S^(C}R*8)E?GqN9V`4>!B1yHe$-pn_bnLeE(i2*KU
z0psq=1e_Nbb(G;9ID@_}6UCkn&{S;@Kof-W2;W)7=<lhxN*7}LdLH`pIdw6>`S>7#
zVHrNhZ+L8_j97j`SGxg&Di^b+09+z00&=g1rz;t+e2>1Yxp#DFZ+#pChT49>Xa5zC
z^%O44afZ8!&{ls&+tKA18#6?b*oO5({xzoHzqAbfk16p7IjG3P-G35S?=gnVM{pPl
z=%`xHL#YJw?T^4I5nGTDQ7lGxbO-8d8S%jEdw2E}Gh{l9T`y%o^F8Xybv!<?2y^{X
z9QkkKJv|?~mS8@dit55A@xbh788jAR?>xXjM?O~Nx2UeBqd4>~E&JZ5??wi_vX$7S
z3$P!YkE$SLI1aG2<kHu&i=O5jx|_4<zMqY<Vhy!9$uyo_jq2Lk7^pnI3jLO(h<am^
zx-~iRjpsoBy<P8gH*Q-k?tZtn=JWHaE9uJiOKDTZUnOTA+p{9+#bRws64ONTUd5us
cxwGT{0I=j};`IYJq5uE@07*qoM6N<$g2Anq_y7O^

diff --git a/VECTOAux/BusAuxiliaries/Resources/file-history.png b/VECTOAux/BusAuxiliaries/Resources/file-history.png
deleted file mode 100644
index 8dbe20e0272030574f39f5c471d48a20744f7c7d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 757
zcmV<R0t)?!P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008KNkl<Zc-pm-
zT}+Zu7{|G)3omSa+_buJ-L%!Z?aHhcEpz466iv(NYE7GjGn<VvT$r}ya;Z5#rl~Ah
z%t$7p6riPOkS_=b@#4!@@FGHfq^a{9o&cAdecsgBp3C3w{Lgcqhr#$CN9L5oHrXEM
zJfg~<+#(947o|y7ZY%d`Q*&D$`v!Z*A7QEc<>@k0!4&6X4qR1aK$)xr21f``Y9>K3
zMu4zK>|t{_Nxy`9riCZ(TW_x2c3y!3c@DIwTQNPmfGX;rf!*svLs~tKh-3;SW)~M{
zY=IL5NB0&Hmz`yF9%L)dK$VJ*J^o;{A_9xuiH$Z2zaxzJEn$KlN#9aoQPF`-!37nw
zl1-;W{tOe?L-`>(Fo)f~*^tBQ3q=IeE;qJN4s0YTELTs2ljxy>&wscn$R!iWl0_D<
zed+LEoELKY{n$m%gxp?#RA3~hk=|-U1{;Npb|=!BZP3=$MKI2b;x(Kl)_Un&Hk1al
z;kq*oE*Vcj>QFp%4~wu;t&2WkP_4zPa1TawMyv~`7&BQxA{+EEw(s1wD@)FFa@TX=
znk^Yvx?{kUAAwHgb4=(dRNEnfh~UT4TkY_wuWun5KlX6Up0xf1Pv%qt9G4x0hS!bQ
zWbz>Oq!H=K4T<OTJeprwMQb5IApm4^d7(ofux$2V-?`m!C&Y)GcYDi$ARK5k3~Njl
zWOlgGr@$NvE`3F-2!Dt12Qvx$>Z<lFUs>BwS2z4#4=U{>9@TH$PSG<c@MRgTu49C8
z2tioj^#?&D7Oy0yq{RI+OoDFVfJ#Han{gfJtQ7W!qX!n3qafv`v4i$Que2X$WU^9!
zJI>WLHN}#FfrT-H1$3kX3|0r2?Jh8oc6cEc)9G1R%)c(w9UgB#_a3jXw!U82-q|_P
n*xb@zQCZ1KOgbC$PdE1)>J$2kMUY_>00000NkvXXu0mjfH-B3T

diff --git a/VECTOAux/BusAuxiliaries/Resources/new_dir.png b/VECTOAux/BusAuxiliaries/Resources/new_dir.png
deleted file mode 100644
index 1035fe49b199854810d1e6d33e91dfe338d3366f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 625
zcmV-%0*?KOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006wNkl<Zc-rlf
zT}YF06vmgt#G8n`HjIL>C@M(1Nur<<32A5w>I`FB)2!JN8^u^CRF)viT7GQlD9lKR
z7JV>-V#Z9w*8FJbHrw1s+q-vrUHhu`?&)uWxQl|i?!dV?hx2<l=izWT|KpEg(o46;
z-TghuuvxP}*&eEUo3H+M7#No0$CLXB-@U<aUeypwDW3)`m)(oA^$1Q@BV;-Oc=_17
zCs&jXG7nD1oJuWaRi;ArcF?n}2w1PdZ&AQEeF>hA7vM3SVd+T$;6Dd~6r>3R=k6%t
z9u>m#HxT?pAagUmjGu*TR0!w08aUooU~aey)bwd+jXY%T%o3yt*x%o*N(MBDEZim{
z?JR9+fq&{E>zk0kJyyrMMr+|V)UrkcA4kUy;rOEiae}Q|5qLe=v>%KX2~Rho&Q37)
z<xMEEiT6Vz=<#~Qi~^Y62q3UmpnTv6L$I|g0_wKv9EAGu-P?nNyNiu}Rw86;V*@jC
zgr{U|x1NV$eIYBF;GreZz+PvhDXERmi04aV1mC=DWO4u?XQZfJ#NBrhaddzoMn)}H
zaLZ5*k*gB&m>9B94J33Kgj5MiJ%vk#9{wfJ)ggX9@}kv2Sv654bpZPq_^JlzPMAl|
z<CLTTeAzBECMr`!L-~=64V=EroQyt#Ze8ssmt^)*lgs56?bw#vP*#$!R5TrXsZ$GP
zUg?A(zONYjRC$YJChPCtat$Z%;IrM>SeH$cYW=@{_a>5CRyTeEg)&%nu0G8K00000
LNkvXXu0mjf^Clv6

diff --git a/VECTOAux/BusAuxiliaries/packages.config b/VECTOAux/BusAuxiliaries/packages.config
deleted file mode 100644
index 5abf7ccb21..0000000000
--- a/VECTOAux/BusAuxiliaries/packages.config
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net45" />
-  <package id="ValueInjecter" version="3.1.1.5" targetFramework="net45" />
-</packages>
\ No newline at end of file
diff --git a/VECTOAux/BusAuxiliaries/AdvancedAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs
similarity index 88%
rename from VECTOAux/BusAuxiliaries/AdvancedAuxiliaries.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs
index 617b274618..753b0c6626 100644
--- a/VECTOAux/BusAuxiliaries/AdvancedAuxiliaries.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs
@@ -13,17 +13,18 @@ using System;
 using System.Collections.Generic;
 using System.Windows.Forms;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl;
-using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics;
-using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC;
-using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
-using TUGraz.VectoCore.BusAuxiliaries.Util;
-
-namespace TUGraz.VectoCore.BusAuxiliaries {
+using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl;
+using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC;
+using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Util;
+
+namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 	/// <summary>
 
 	/// ''' Main entry point for the advanced auxiliary module. 
@@ -80,6 +81,13 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 		// End If
 		// End Sub
 
+		public void VectoEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType)
+		{
+			if (Signals.AuxiliaryEventReportingLevel <= messageType) {
+				AuxiliaryEvent?.Invoke(ref sender, message, messageType);
+			}
+		}
+
 		// Constructor
 		public AdvancedAuxiliaries()
 		{
@@ -140,22 +148,22 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 				throw new Exception(string.Format("Unable to load the ssmTOOL with file {0}", ssmPath));
 
 
-			M0 = new M00Impl(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, alternatorMap, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage.SI<Volt>(), Signals, ssmTool);
+			M0 = new M00Impl(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, alternatorMap, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage, Signals, ssmTool);
 
 
 			IM0_5_SmartAlternatorSetEfficiency M05tmp = new M0_5Impl(M0, auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, alternatorMap, auxConfig.ElectricalUserInputsConfig.ResultCardIdle, auxConfig.ElectricalUserInputsConfig.ResultCardTraction, auxConfig.ElectricalUserInputsConfig.ResultCardOverrun, Signals);
 			M05 = M05tmp;
 
-			M1 = new M01Impl(M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage.SI<Volt>(), Signals, ssmTool);
+			M1 = new M01Impl(M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage, Signals, ssmTool);
 
 
-			M2 = new M02Impl(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage.SI<Volt>(), Signals);
+			M2 = new M02Impl(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage, Signals);
 
 
 			M3 = new M03Impl(auxConfig.PneumaticUserInputsConfig, auxConfig.PneumaticAuxillariesConfig, actuationsMap, compressorMap, VectoInputs.VehicleWeightKG, VectoInputs.Cycle, Signals);
 
 			M4 = new M04Impl(compressorMap, auxConfig.PneumaticUserInputsConfig.CompressorGearRatio, auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, Signals);
-			M5 = new M05Impl(M05tmp, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage.SI<Volt>(), auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency);
+			M5 = new M05Impl(M05tmp, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency);
 			M6 = new M06Impl(M1, M2, M3, M4, M5, Signals);
 			M7 = new M07Impl(M5, M6, Signals);
 			M8 = new M08Impl(M1, M6, M7, Signals);
@@ -165,15 +173,20 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 			M12 = new M12Impl(M10, M11, Signals);
 			M13 = new M13Impl(M10, M11, M12, Signals);
 			M14 = new M14Impl(M13, ssmToolModule14, hvacConstants, Signals);
+
+			//compressorMap.AuxiliaryEvent += VectoEventHandler;
+			alternatorMap.AuxiliaryEvent += VectoEventHandler;
+			ssmTool.Message += VectoEventHandler;
+			ssmToolModule14.Message += VectoEventHandler;
 		}
 
 
 		public ISignals Signals { get; set; }
 		public IVectoInputs VectoInputs { get; set; }
 
-		public event TUGraz.VectoCore.BusAuxiliaries.Interfaces.AuxiliaryEventEventHandler AuxiliaryEvent;
+		public event AuxiliaryEventEventHandler AuxiliaryEvent;
 
-		public delegate void AuxiliaryEventEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType);
+		//public delegate void AuxiliaryEventEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType);
 
 		//public bool Configure(string filePath, string vectoFilePath)
 		//{
@@ -220,7 +233,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 		{
 			try {
 				Initialise(auxFilePath, vectoFilePath);
-			} catch (Exception ex) {
+			} catch (Exception ) {
 				return false;
 			}
 
@@ -437,5 +450,6 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 				return M9.TotalCycleFuelConsumptionCompressorOnContinuously;
 			}
 		}
-	}
+
+		}
 }
diff --git a/VECTOAux/BusAuxiliaries/AuxiliaryConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs
similarity index 58%
rename from VECTOAux/BusAuxiliaries/AuxiliaryConfig.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs
index 428ff7b874..c2eba5353e 100644
--- a/VECTOAux/BusAuxiliaries/AuxiliaryConfig.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs
@@ -14,17 +14,22 @@ using System.Collections.Generic;
 using System.IO;
 using System.Windows.Forms;
 using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics;
-using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC;
-using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics;
+using TUGraz.VectoCore.BusAuxiliaries;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
-using TUGraz.VectoCore.BusAuxiliaries.Legacy;
-
-namespace TUGraz.VectoCore.BusAuxiliaries {
+using TUGraz.VectoCore.InputData.FileIO.JSON;
+using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC;
+using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Legacy;
+
+namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 	[Serializable()]
 	public class AuxiliaryConfig : IAuxiliaryConfig
 	{
@@ -53,8 +58,8 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 		{
 			// Special Condition
 			if (auxConfigFile == "EMPTY") {
-				ElectricalUserInputsConfig = new ElectricsUserInputsConfig() { PowerNetVoltage = 28.3 };
-				ElectricalUserInputsConfig.ElectricalConsumers = new ElectricalConsumerList(28.3, 0.096, false);
+				ElectricalUserInputsConfig = new ElectricsUserInputsConfig() { PowerNetVoltage = 28.3.SI<Volt>() };
+				ElectricalUserInputsConfig.ElectricalConsumers = new ElectricalConsumerList(28.3.SI<Volt>(), 0.096, false);
 				ElectricalUserInputsConfig.ResultCardIdle = new ResultCard(new List<SmartResult>());
 				ElectricalUserInputsConfig.ResultCardOverrun = new ResultCard(new List<SmartResult>());
 				ElectricalUserInputsConfig.ResultCardTraction = new ResultCard(new List<SmartResult>());
@@ -92,7 +97,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 
 			// Electrical set deault values
 			ElectricalUserInputsConfig = new ElectricsUserInputsConfig(true, tmp);
-			ElectricalUserInputsConfig.ElectricalConsumers = new ElectricalConsumerList(28.3, 0.096, true);
+			ElectricalUserInputsConfig.ElectricalConsumers = new ElectricalConsumerList(28.3.SI<Volt>(), 0.096, true);
 
 			// HVAC set deault values
 			HvacUserInputsConfig = new HVACUserInputsConfig(string.Empty, string.Empty, false);
@@ -112,7 +117,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 		}
 
 
-		private bool CompareElectricalConfiguration(AuxiliaryConfig other)
+		private bool CompareElectricalConfiguration(IAuxiliaryConfig other)
 		{
 			// AlternatorGearEfficiency
 			if (ElectricalUserInputsConfig.AlternatorGearEfficiency != other.ElectricalUserInputsConfig.AlternatorGearEfficiency)
@@ -198,7 +203,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 			return true;
 		}
 
-		private bool ComparePneumaticAuxiliariesConfig(AuxiliaryConfig other)
+		private bool ComparePneumaticAuxiliariesConfig(IAuxiliaryConfig other)
 		{
 			if (PneumaticAuxillariesConfig.AdBlueNIperMinute != other.PneumaticAuxillariesConfig.AdBlueNIperMinute)
 				return false;
@@ -236,7 +241,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 			return true;
 		}
 
-		private bool ComparePneumaticUserConfig(AuxiliaryConfig other)
+		private bool ComparePneumaticUserConfig(IAuxiliaryConfig other)
 		{
 			if (PneumaticUserInputsConfig.ActuationsMap != other.PneumaticUserInputsConfig.ActuationsMap)
 				return false;
@@ -264,7 +269,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 			return true;
 		}
 
-		private bool CompareHVACConfig(AuxiliaryConfig other)
+		private bool CompareHVACConfig(IAuxiliaryConfig other)
 		{
 			if (HvacUserInputsConfig.SSMFilePath != other.HvacUserInputsConfig.SSMFilePath)
 				return false;
@@ -276,7 +281,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 			return true;
 		}
 
-		public bool ConfigValuesAreTheSameAs(AuxiliaryConfig other)
+		public bool ConfigValuesAreTheSameAs(IAuxiliaryConfig other)
 		{
 			if (!CompareElectricalConfiguration(other))
 				return false;
@@ -295,55 +300,257 @@ namespace TUGraz.VectoCore.BusAuxiliaries {
 		public bool Save(string auxFile)
 		{
 			var returnValue = true;
-			var settings = new JsonSerializerSettings();
-			settings.TypeNameHandling = TypeNameHandling.Objects;
 
 			// JSON METHOD
 			try {
-				var output = JsonConvert.SerializeObject(this, Formatting.Indented, settings);
-
-				File.WriteAllText(auxFile, output);
-			} catch (Exception ex) {
+				var body = new Dictionary<string, object>();
+
+				body["ElectricalUserInputsConfig"] = SaveElectricalConfig();
+				body["PneumaticAuxillariesConfig"] = SavePneumaticAuxconfig();
+				body["PneumaticUserInputsConfig"] = SavePneumaticUserConfig();
+				body["HvacUserInputsConfig"] = SaveHVACUserConfig();
+				
+				JSONInputDataFactory.WriteFile(JToken.FromObject(new Dictionary<string, object>(){ { "Header","AAUX"}, {"Body", body }}), auxFile);
+			} catch (Exception ) {
 				returnValue = false;
 			}
 
 			return returnValue;
 		}
 
-		public bool Load(string auxFile)
+		protected Dictionary<string, object> SaveElectricalConfig()
 		{
-			var returnValue = true;
-			var settings = new JsonSerializerSettings();
-			AuxiliaryConfig tmpAux;
+			var elData = new Dictionary<string, object>();
+			// AlternatorGearEfficiency
+			elData["AlternatorGearEfficiency"] = ElectricalUserInputsConfig.AlternatorGearEfficiency;
+
+			// AlternatorMap
+			elData["AlternatorMap"] = ElectricalUserInputsConfig.AlternatorMap;
 
-			settings.TypeNameHandling = TypeNameHandling.Objects;
+			// DoorActuationTimeSecond
+			elData["DoorActuationTimeSecond"] = ElectricalUserInputsConfig.DoorActuationTimeSecond;
 
-			// JSON METHOD
+			// Electrical Consumer list
+
+			var elConsumers = new List<object>();
+			foreach (var entry in ElectricalUserInputsConfig.ElectricalConsumers.Items) {
+				var newConsumer = new Dictionary<string, object>();
+
+				newConsumer["BaseVehicle"] = entry.BaseVehicle;
+				newConsumer["Category"] = entry.Category;
+				newConsumer["ConsumerName"] = entry.ConsumerName;
+				newConsumer["NominalConsumptionAmps"] = entry.NominalConsumptionAmps.Value();
+				newConsumer["PhaseIdle_TractionOn"] = entry.PhaseIdle_TractionOn;
+				newConsumer["PowerNetVoltage"] = entry.PowerNetVoltage.Value();
+				newConsumer["NumberInActualVehicle"] = entry.NumberInActualVehicle;
+				newConsumer["Info"] = entry.Info;
+
+				elConsumers.Add(newConsumer);
+			}
+
+			elData["ElectricalConsumers"] = elConsumers;
+
+			// PowerNetVoltage
+			elData["PowerNetVoltage"] = ElectricalUserInputsConfig.PowerNetVoltage.Value();
+
+			// ResultCardIdle
+			var resultCard = new List<object>();
+			foreach (var result in ElectricalUserInputsConfig.ResultCardIdle.Results) {
+				resultCard.Add(new Dictionary<string, object>() {
+					{ "Amps",  result.Amps.Value()},
+					{"SmartAmps",result.SmartAmps.Value() }
+				});
+			}
+
+			elData["ResultCardIdle"] = resultCard;
+
+
+			// ResultCardOverrun
+			resultCard.Clear();
+			foreach (var result in ElectricalUserInputsConfig.ResultCardOverrun.Results) {
+				resultCard.Add(new Dictionary<string, object>() {
+					{ "Amps",  result.Amps.Value()},
+					{"SmartAmps",result.SmartAmps.Value() }
+				});
+			}
+
+			elData["ResultCardOverrun"] = resultCard;
+
+			// ResultCardTraction
+			resultCard.Clear();
+			foreach (var result in ElectricalUserInputsConfig.ResultCardTraction.Results) {
+				resultCard.Add(new Dictionary<string, object>() {
+					{ "Amps",  result.Amps.Value()},
+					{"SmartAmps",result.SmartAmps.Value() }
+				});
+			}
+
+			elData["ResultCardTraction"] = resultCard;
+
+			// SmartElectrical
+			elData["SmartElectrical"] = ElectricalUserInputsConfig.SmartElectrical;
+
+			return elData;
+		}
+
+
+		private Dictionary<string,object > SaveHVACUserConfig()
+		{
+			var hvac = new Dictionary<string, object>();
+
+			hvac["SSMFilePath"] = HvacUserInputsConfig.SSMFilePath;
+			hvac["BusDatabasePath"] = HvacUserInputsConfig.BusDatabasePath;
+			hvac["SSMDisabled"] = HvacUserInputsConfig.SSMDisabled;
+
+			return hvac;
+		}
+
+		private Dictionary<string, object> SavePneumaticUserConfig()
+		{
+			var puData = new Dictionary<string, object>();
+
+			puData["ActuationsMap"] = PneumaticUserInputsConfig.ActuationsMap;
+			puData["AdBlueDosing"] = PneumaticUserInputsConfig.AdBlueDosing;
+			puData["AirSuspensionControl"] = PneumaticUserInputsConfig.AirSuspensionControl;
+			puData["CompressorGearEfficiency"] = PneumaticUserInputsConfig.CompressorGearEfficiency;
+			puData["CompressorGearRatio"] = PneumaticUserInputsConfig.CompressorGearRatio;
+			puData["CompressorMap"] = PneumaticUserInputsConfig.CompressorMap;
+			puData["Doors"] = PneumaticUserInputsConfig.Doors;
+			puData["KneelingHeightMillimeters"] = PneumaticUserInputsConfig.KneelingHeightMillimeters;
+			puData["RetarderBrake"] = PneumaticUserInputsConfig.RetarderBrake;
+			puData["SmartAirCompression"] = PneumaticUserInputsConfig.SmartAirCompression;
+			puData["SmartRegeneration"] = PneumaticUserInputsConfig.SmartRegeneration;
+
+			return puData;
+		}
+
+		protected Dictionary<string, object> SavePneumaticAuxconfig()
+		{
+			var paData = new Dictionary<string, object>();
+
+			paData["AdBlueNIperMinute"] = PneumaticAuxillariesConfig.AdBlueNIperMinute;
+			paData["AirControlledSuspensionNIperMinute"] = PneumaticAuxillariesConfig.AirControlledSuspensionNIperMinute;
+			paData["BrakingNoRetarderNIperKG"] = PneumaticAuxillariesConfig.BrakingNoRetarderNIperKG;
+			paData["BrakingWithRetarderNIperKG"] = PneumaticAuxillariesConfig.BrakingWithRetarderNIperKG;
+			paData["BreakingPerKneelingNIperKGinMM"] = PneumaticAuxillariesConfig.BreakingPerKneelingNIperKGinMM ;
+			paData["DeadVolBlowOutsPerLitresperHour"] = PneumaticAuxillariesConfig.DeadVolBlowOutsPerLitresperHour;
+			paData["DeadVolumeLitres"] = PneumaticAuxillariesConfig.DeadVolumeLitres;
+			paData["NonSmartRegenFractionTotalAirDemand"] = PneumaticAuxillariesConfig.NonSmartRegenFractionTotalAirDemand;
+			paData["PerDoorOpeningNI"] = PneumaticAuxillariesConfig.PerDoorOpeningNI;
+			paData["PerStopBrakeActuationNIperKG"] = PneumaticAuxillariesConfig.PerStopBrakeActuationNIperKG;
+			paData["SmartRegenFractionTotalAirDemand"] = PneumaticAuxillariesConfig.SmartRegenFractionTotalAirDemand;
+			paData["OverrunUtilisationForCompressionFraction"] =
+				PneumaticAuxillariesConfig.OverrunUtilisationForCompressionFraction;
+
+			return paData;
+		}
+
+		public bool Load(string auxFile)
+		{
+			var returnValue = true;
+			
 			try {
-				var output = File.ReadAllText(auxFile);
-
-				tmpAux = JsonConvert.DeserializeObject<AuxiliaryConfig>(output, settings);
-
-				// This is where we Assume values of loaded( Deserialized ) object.
-				AssumeValuesOfOther(tmpAux);
-				if (tmpAux.VectoInputs.FuelMapFile != null) {
-					var tmp = new cMAP();
-					tmp.FilePath = Path.Combine(Path.GetDirectoryName(auxFile), tmpAux.VectoInputs.FuelMapFile);
-					if (!tmp.ReadFile()) {
-						MessageBox.Show("Unable to read fuel map, aborting.");
-						return false;
-					}
-
-					tmp.Triangulate();
-					VectoInputs.FuelMap = tmp;
-				}
-			} catch (Exception ex) {
+				var json = JSONInputDataFactory.ReadFile(auxFile);
+				LoadValues((JObject)json["Body"]);
+
+			} catch (Exception ) {
 				returnValue = false;
 			}
 
 			return returnValue;
 		}
 
+		protected void LoadValues(JObject data)
+		{
+			LoadElectricalConfig((JObject)data["ElectricalUserInputsConfig"]);
+			LoadPneumaticsAuxConfig((JObject)data["PneumaticAuxillariesConfig"]);
+			LoadPneumaticUserConfig((JObject)data["PneumaticUserInputsConfig"]);
+			LoadHVAC((JObject)data["HvacUserInputsConfig"]);
+		}
+
+		protected void LoadElectricalConfig(JObject elData)
+		{
+			// AlternatorGearEfficiency
+			ElectricalUserInputsConfig.AlternatorGearEfficiency = elData.GetEx<double>("AlternatorGearEfficiency"); 
+
+			// AlternatorMap
+			ElectricalUserInputsConfig.AlternatorMap = elData.GetEx("AlternatorMap").Value<string>();
+
+			// DoorActuationTimeSecond
+			ElectricalUserInputsConfig.DoorActuationTimeSecond = elData.GetEx<double>("DoorActuationTimeSecond"); 
+
+			// Electrical Consumer list
+			ElectricalUserInputsConfig.ElectricalConsumers.Items.Clear();
+			foreach (var consumer in elData["ElectricalConsumers"]) {
+				var newConsumer = new ElectricalConsumer(
+					consumer.GetEx<bool>("BaseVehicle"), consumer.GetEx<string>("Category"), consumer.GetEx<string>("ConsumerName"), consumer.GetEx<double>("NominalConsumptionAmps").SI<Ampere>(),
+					consumer.GetEx<double>("PhaseIdle_TractionOn"), consumer.GetEx<double>("PowerNetVoltage").SI<Volt>(), consumer.GetEx<int>("NumberInActualVehicle"),
+					consumer.GetEx<string>("Info"));
+
+				ElectricalUserInputsConfig.ElectricalConsumers.Items.Add(newConsumer);
+			}
+
+			// PowerNetVoltage
+			ElectricalUserInputsConfig.PowerNetVoltage = elData.GetEx<double>("PowerNetVoltage").SI<Volt>();
+
+			// ResultCardIdle
+			ElectricalUserInputsConfig.ResultCardIdle.Results.Clear();
+			foreach (var result in elData["ResultCardIdle"])
+				ElectricalUserInputsConfig.ResultCardIdle.Results.Add(new SmartResult(result.GetEx<double>("Amps").SI<Ampere>(), result.GetEx<double>("SmartAmps").SI<Ampere>()));
+
+			// ResultCardOverrun
+			ElectricalUserInputsConfig.ResultCardOverrun.Results.Clear();
+			foreach (var result in elData["ResultCardOverrun"])
+				ElectricalUserInputsConfig.ResultCardOverrun.Results.Add(new SmartResult(result.GetEx<double>("Amps").SI<Ampere>(), result.GetEx<double>("SmartAmps").SI<Ampere>()));
+
+			// ResultCardTraction
+			ElectricalUserInputsConfig.ResultCardTraction.Results.Clear();
+			foreach (var result in elData["ResultCardTraction"])
+				ElectricalUserInputsConfig.ResultCardTraction.Results.Add(new SmartResult(result.GetEx<double>("Amps").SI<Ampere>(), result.GetEx<double>("SmartAmps").SI<Ampere>()));
+
+			// SmartElectrical
+			ElectricalUserInputsConfig.SmartElectrical = elData.GetEx<bool>("SmartElectrical"); 
+		}
+
+		protected void LoadPneumaticsAuxConfig(JObject paData)
+		{
+			PneumaticAuxillariesConfig.AdBlueNIperMinute = paData.GetEx<double>("AdBlueNIperMinute"); 
+			PneumaticAuxillariesConfig.AirControlledSuspensionNIperMinute = paData.GetEx<double>("AirControlledSuspensionNIperMinute"); 
+			PneumaticAuxillariesConfig.BrakingNoRetarderNIperKG = paData.GetEx<double>("BrakingNoRetarderNIperKG"); 
+			PneumaticAuxillariesConfig.BrakingWithRetarderNIperKG = paData.GetEx<double>("BrakingWithRetarderNIperKG"); 
+			PneumaticAuxillariesConfig.BreakingPerKneelingNIperKGinMM = paData.GetEx<double>("BreakingPerKneelingNIperKGinMM"); 
+			PneumaticAuxillariesConfig.DeadVolBlowOutsPerLitresperHour = paData.GetEx<double>("DeadVolBlowOutsPerLitresperHour"); 
+			PneumaticAuxillariesConfig.DeadVolumeLitres = paData.GetEx<double>("DeadVolumeLitres"); 
+			PneumaticAuxillariesConfig.NonSmartRegenFractionTotalAirDemand = paData.GetEx<double>("NonSmartRegenFractionTotalAirDemand"); 
+			PneumaticAuxillariesConfig.PerDoorOpeningNI = paData.GetEx<double>("PerDoorOpeningNI"); 
+			PneumaticAuxillariesConfig.PerStopBrakeActuationNIperKG = paData.GetEx<double>("PerStopBrakeActuationNIperKG"); 
+			PneumaticAuxillariesConfig.SmartRegenFractionTotalAirDemand = paData.GetEx<double>("SmartRegenFractionTotalAirDemand"); 
+			PneumaticAuxillariesConfig.OverrunUtilisationForCompressionFraction = paData.GetEx<double>("OverrunUtilisationForCompressionFraction"); 
+		}
+
+		protected void LoadPneumaticUserConfig(JObject puData)
+		{
+			PneumaticUserInputsConfig.ActuationsMap = puData.GetEx<string>("ActuationsMap"); 
+			PneumaticUserInputsConfig.AdBlueDosing = puData.GetEx<string>("AdBlueDosing"); 
+			PneumaticUserInputsConfig.AirSuspensionControl = puData.GetEx<string>("AirSuspensionControl"); 
+			PneumaticUserInputsConfig.CompressorGearEfficiency = puData.GetEx<double>("CompressorGearEfficiency"); 
+			PneumaticUserInputsConfig.CompressorGearRatio = puData.GetEx<double>("CompressorGearRatio"); 
+			PneumaticUserInputsConfig.CompressorMap = puData.GetEx<string>("CompressorMap"); 
+			PneumaticUserInputsConfig.Doors = puData.GetEx<string>("Doors"); 
+			PneumaticUserInputsConfig.KneelingHeightMillimeters = puData.GetEx<double>("KneelingHeightMillimeters"); 
+			PneumaticUserInputsConfig.RetarderBrake = puData.GetEx<bool>("RetarderBrake"); 
+			PneumaticUserInputsConfig.SmartAirCompression = puData.GetEx<bool>("SmartAirCompression"); 
+			PneumaticUserInputsConfig.SmartRegeneration = puData.GetEx<bool>("SmartRegeneration"); 
+		}
+
+		protected void LoadHVAC(JObject hvac)
+		{
+			HvacUserInputsConfig.SSMFilePath = hvac.GetEx<string>("SSMFilePath"); 
+			HvacUserInputsConfig.BusDatabasePath = hvac.GetEx<string>("BusDatabasePath"); 
+			HvacUserInputsConfig.SSMDisabled = hvac.GetEx<bool>("SSMDisabled"); 
+		}
+
+
 		// Persistance Helpers
 		public void AssumeValuesOfOther(AuxiliaryConfig other)
 		{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs
similarity index 83%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs
index 8eb867e312..b2cf6b1b0e 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs
@@ -1,4 +1,4 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public abstract class AbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs
similarity index 97%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs
index 264d84c505..f9dc38a48e 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs
@@ -16,10 +16,10 @@ using System.IO;
 using System.Linq;
 using System.Text;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class AlternatorMap : IAlternatorMap
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs
similarity index 98%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs
index d231fad269..5e209c1153 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs
@@ -1,9 +1,9 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
 	// Model based on CombinedALTS_V02_Editable.xlsx
 	public class Alternator : IAlternator
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs
similarity index 94%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs
index 668ec47a10..a94c080aef 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs
@@ -5,11 +5,11 @@ using System.IO;
 using System.Linq;
 using System.Text;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
-using TUGraz.VectoCore.BusAuxiliaries.Util;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Util;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
 	public class CombinedAlternator : IAlternatorMap, ICombinedAlternator
 	{
@@ -110,14 +110,14 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 			AverageAlternatorsEfficiency = new AlternatorMapValues(efficiencyAverage / 100);
 		}
 
-		event TUGraz.VectoCore.BusAuxiliaries.Interfaces.AuxiliaryEventEventHandler IAuxiliaryEvent.AuxiliaryEvent
+		event Interfaces.AuxiliaryEventEventHandler IAuxiliaryEvent.AuxiliaryEvent
 		{
 			add {
-				throw new NotImplementedException();
+				//throw new NotImplementedException();
 			}
 
 			remove {
-				throw new NotImplementedException();
+				//throw new NotImplementedException();
 			}
 		}
 
@@ -267,8 +267,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 		// Initialises the map, only valid when loadingUI for first time in edit mode or always in operational mode.
 		private bool InitialiseMap(string filePath)
 		{
-			var returnValue = false;
-			string[] elements;
+			//var returnValue = false;
 
 			if (File.Exists(filePath)) {
 				using (var sr = new StreamReader(filePath)) {
@@ -276,8 +275,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 					var lines = sr.ReadToEnd().Split(new[] { Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries);
 
 					// Must have at least 2 entries in map to make it usable [dont forget the header row]
-					if ((lines.Count() < 10))
+					if (lines.Count() < 10) {
 						throw new ArgumentException("Insufficient rows in csv to build a usable map");
+					}
 
 					map = new List<ICombinedAlternatorMapRow>();
 
@@ -291,26 +291,28 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 								break;
 
 							// split the line
-							elements = line.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
+							var elements = line.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
 							// 3 entries per line required
 							if ((elements.Length != 5))
 								throw new ArgumentException("Incorrect number of values in csv file");
 							// add values to map
 
 							map.Add(new CombinedAlternatorMapRow(elements[0], float.Parse(elements[1], CultureInfo.InvariantCulture), float.Parse(elements[2], CultureInfo.InvariantCulture), float.Parse(elements[3], CultureInfo.InvariantCulture), float.Parse(elements[4], CultureInfo.InvariantCulture)));
-						} else
+						} else {
 							firstline = false;
+						}
 					}
 				}
 				return true;
-			} else
-				throw new ArgumentException("Supplied input file does not exist");
+			}
+
+			throw new ArgumentException("Supplied input file does not exist");
 
-			return returnValue;
+			//return returnValue;
 		}
 
 		// Can be used to send messages to Vecto.
-		public event AuxiliaryEventEventHandler AuxiliaryEvent;
+		//public event AuxiliaryEventEventHandler AuxiliaryEvent;
 
 		public delegate void AuxiliaryEventEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType);
 
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs
similarity index 87%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs
index 4b76ce4afe..b5c6b1e3f1 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs
@@ -1,7 +1,7 @@
 using System;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
 	// This class is reflective of the stored entries for the combined alternator
 	// And is used by the Combined Alternator Form and any related classes.
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs
similarity index 69%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs
index 180ea9a3b8..201a8eaabb 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs
@@ -1,7 +1,7 @@
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
 	// Used by the CombinedAlternator class and any other related classes.
 	public class CombinedAlternatorSignals : ICombinedAlternatorSignals
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs
similarity index 64%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs
index 1beaaeb277..f138dd016c 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs
@@ -2,6 +2,7 @@
 using System.ComponentModel;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
 // Copyright 2017 European Union.
 // Licensed under the EUPL (the 'Licence');
@@ -14,7 +15,7 @@ using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 // 
 // See the LICENSE.txt for the specific language governing permissions and limitations.
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
 	/// <summary>
 	/// 	''' Described a consumer of Alternator electrical power
@@ -22,26 +23,24 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 	/// 	''' <remarks></remarks>
 	public class ElectricalConsumer : IElectricalConsumer
 	{
-
 		// Fields
 		private bool _BaseVehicle;
+
 		private string _Category;
 		private string _ConsumerName;
-		private double _NominalConsumptionAmps;
+		private Ampere _NominalConsumptionAmps;
 		private int _NumberInActualVehicle;
 		private double _PhaseIdle_TractionOn;
-		private double _PowerNetVoltage;
+		private Volt _PowerNetVoltage;
 		private string _Info;
 
 		// Calculated
-		public double AvgConsumptionAmps { get; set; }
+		public Ampere AvgConsumptionAmps { get; set; }
 
 		// Properties
 		public bool BaseVehicle
 		{
-			get {
-				return _BaseVehicle;
-			}
+			get { return _BaseVehicle; }
 			set {
 				_BaseVehicle = value;
 				NotifyPropertyChanged("BaseVehicle");
@@ -50,9 +49,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 
 		public string Category
 		{
-			get {
-				return _Category;
-			}
+			get { return _Category; }
 			set {
 				_Category = value;
 				NotifyPropertyChanged("Category");
@@ -61,20 +58,16 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 
 		public string ConsumerName
 		{
-			get {
-				return _ConsumerName;
-			}
+			get { return _ConsumerName; }
 			set {
 				_ConsumerName = value;
 				NotifyPropertyChanged("ConsumerName");
 			}
 		}
 
-		public double NominalConsumptionAmps
+		public Ampere NominalConsumptionAmps
 		{
-			get {
-				return _NominalConsumptionAmps;
-			}
+			get { return _NominalConsumptionAmps; }
 			set {
 				_NominalConsumptionAmps = value;
 				NotifyPropertyChanged("NominalConsumptionAmps");
@@ -83,9 +76,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 
 		public int NumberInActualVehicle
 		{
-			get {
-				return _NumberInActualVehicle;
-			}
+			get { return _NumberInActualVehicle; }
 			set {
 				_NumberInActualVehicle = value;
 				NotifyPropertyChanged("NumberInActualVehicle");
@@ -94,20 +85,16 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 
 		public double PhaseIdle_TractionOn
 		{
-			get {
-				return _PhaseIdle_TractionOn;
-			}
+			get { return _PhaseIdle_TractionOn; }
 			set {
 				_PhaseIdle_TractionOn = value;
 				NotifyPropertyChanged("PhaseIdle_TractionOn");
 			}
 		}
 
-		public double PowerNetVoltage
+		public Volt PowerNetVoltage
 		{
-			get {
-				return _PowerNetVoltage;
-			}
+			get { return _PowerNetVoltage; }
 			set {
 				_PowerNetVoltage = value;
 				NotifyPropertyChanged("PowerNetVoltage");
@@ -116,9 +103,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 
 		public string Info
 		{
-			get {
-				return _Info;
-			}
+			get { return _Info; }
 			set {
 				_Info = value;
 				NotifyPropertyChanged("Info");
@@ -129,56 +114,61 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 		// Public class outputs
 		public Ampere TotalAvgConumptionAmps(double PhaseIdle_TractionOnBasedOnCycle = default(Double))
 		{
-			if (ConsumerName == "Doors per Door")
-				return NominalConsumptionAmps.SI<Ampere>() * (NumberInActualVehicle * PhaseIdle_TractionOnBasedOnCycle);
-			else
-				return NominalConsumptionAmps.SI<Ampere>() * (NumberInActualVehicle * PhaseIdle_TractionOn);
+			if (ConsumerName == "Doors per Door") {
+				return NominalConsumptionAmps * (NumberInActualVehicle * PhaseIdle_TractionOnBasedOnCycle);
+			}
+
+			return NominalConsumptionAmps* (NumberInActualVehicle * PhaseIdle_TractionOn);
 		}
 
 		public Watt TotalAvgConsumptionInWatts(double PhaseIdle_TractionOnBasedOnCycle = 0.0)
 		{
-			return TotalAvgConumptionAmps(PhaseIdle_TractionOnBasedOnCycle) * PowerNetVoltage.SI<Volt>();
+			return TotalAvgConumptionAmps(PhaseIdle_TractionOnBasedOnCycle) * PowerNetVoltage;
 		}
 
 		// Constructor
-		public ElectricalConsumer(bool BaseVehicle, string Category, string ConsumerName, double NominalConsumptionAmps, double PhaseIdle_TractionOn, double PowerNetVoltage, int numberInVehicle, string info)
+		public ElectricalConsumer(
+			bool baseVehicle, string category, string consumerName, Ampere nominalConsumptionAmps, double phaseIdleTractionOn,
+			Volt powerNetVoltage, int numberInVehicle, string info)
 		{
-
 			// Illegal Value Check.
-			if (Category.Trim().Length == 0)
+			if (category.Trim().Length == 0)
 				throw new ArgumentException("Category Name cannot be empty");
-			if (ConsumerName.Trim().Length == 0)
+			if (consumerName.Trim().Length == 0)
 				throw new ArgumentException("ConsumerName Name cannot be empty");
-			if (PhaseIdle_TractionOn < ElectricConstants.PhaseIdleTractionOnMin | PhaseIdle_TractionOn > ElectricConstants.PhaseIdleTractionMax)
+			if (phaseIdleTractionOn < ElectricConstants.PhaseIdleTractionOnMin |
+				phaseIdleTractionOn > ElectricConstants.PhaseIdleTractionMax)
 				throw new ArgumentException("PhaseIdle_TractionOn must have a value between 0 and 1");
-			if (NominalConsumptionAmps < ElectricConstants.NonminalConsumerConsumptionAmpsMin | NominalConsumptionAmps > ElectricConstants.NominalConsumptionAmpsMax)
+			if (nominalConsumptionAmps < ElectricConstants.NonminalConsumerConsumptionAmpsMin |
+				nominalConsumptionAmps > ElectricConstants.NominalConsumptionAmpsMax)
 				throw new ArgumentException("NominalConsumptionAmps must have a value between 0 and 100");
-			if (PowerNetVoltage < ElectricConstants.PowenetVoltageMin | PowerNetVoltage > ElectricConstants.PowenetVoltageMax)
+			if (powerNetVoltage < ElectricConstants.PowenetVoltageMin | powerNetVoltage > ElectricConstants.PowenetVoltageMax)
 				throw new ArgumentException("PowerNetVoltage must have a value between 6 and 48");
 			if (numberInVehicle < 0)
 				throw new ArgumentException("Cannot have less than 0 consumers in the vehicle");
 
 			// Good, now assign.
-			this.BaseVehicle = BaseVehicle;
-			this.Category = Category;
-			this.ConsumerName = ConsumerName;
-			this.NominalConsumptionAmps = NominalConsumptionAmps;
-			this.PhaseIdle_TractionOn = PhaseIdle_TractionOn;
-			this.PowerNetVoltage = PowerNetVoltage;
-			this.NumberInActualVehicle = numberInVehicle;
-			this.Info = info;
+			BaseVehicle = baseVehicle;
+			Category = category;
+			ConsumerName = consumerName;
+			NominalConsumptionAmps = nominalConsumptionAmps;
+			PhaseIdle_TractionOn = phaseIdleTractionOn;
+			PowerNetVoltage = powerNetVoltage;
+			NumberInActualVehicle = numberInVehicle;
+			Info = info;
+			AvgConsumptionAmps = 0.SI<Ampere>();
 		}
 
 		// Comparison Overrides
 		public override bool Equals(object obj)
 		{
-			if (obj == null || GetType() != obj.GetType())
+			if (obj == null || GetType() != obj.GetType()) {
 				return false;
+			}
 
 			var other = (IElectricalConsumer)obj;
 
-
-			return this.ConsumerName == other.ConsumerName;
+			return ConsumerName == other.ConsumerName;
 		}
 
 		[System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs
new file mode 100644
index 0000000000..4d42a46243
--- /dev/null
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs
@@ -0,0 +1,169 @@
+// Copyright 2017 European Union.
+// Licensed under the EUPL (the 'Licence');
+// 
+// * You may not use this work except in compliance with the Licence.
+// * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
+// * Unless required by applicable law or agreed to in writing,
+// software distributed under the Licence is distributed on an "AS IS" basis,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// 
+// See the LICENSE.txt for the specific language governing permissions and limitations.
+
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
+{
+	public class ElectricalConsumerList : IElectricalConsumerList
+	{
+		private List<IElectricalConsumer> _items = new List<IElectricalConsumer>();
+		private Volt _powernetVoltage;
+		private double _doorDutyCycleZeroToOne;
+
+
+		// Constructor
+		public ElectricalConsumerList(Volt powernetVoltage, double doorDutyCycle_ZeroToOne, bool createDefaultList = false)
+		{
+			_powernetVoltage = powernetVoltage;
+
+			if (createDefaultList)
+				_items = GetDefaultConsumerList();
+
+
+			_doorDutyCycleZeroToOne = doorDutyCycle_ZeroToOne;
+		}
+
+		// Transfers the Info comments from a default set of consumables to a live set.
+		// This way makes the comments not dependent on saved data.
+		public void MergeInfoData()
+		{
+			if (_items.Count != GetDefaultConsumerList().Count)
+				return;
+
+			var dflt = GetDefaultConsumerList();
+
+			for (var idx = 0; idx <= _items.Count - 1; idx++)
+
+				_items[idx].Info = dflt[idx].Info;
+		}
+
+		// Initialise default set of consumers
+		public List<IElectricalConsumer> GetDefaultConsumerList()
+		{
+
+			// This populates the default settings as per engineering spreadsheet.
+			// Vehicle Basic Equipment' category can be added or remove by customers.
+			// At some time in the future, this may be removed and replace with file based consumer lists.
+
+			var items = new List<IElectricalConsumer> {
+				new ElectricalConsumer(false, "Doors", "Doors per Door", 3.0.SI<Ampere>(), 0.096339, _powernetVoltage, 3, ""),
+				new ElectricalConsumer(
+					true, "Veh Electronics &Engine", "Controllers,Valves etc", 25.0.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""),
+				new ElectricalConsumer(
+					false, "Vehicle basic equipment", "Radio City", 2.0.SI<Ampere>(), 0.8, _powernetVoltage, 1, ""),
+				new ElectricalConsumer(
+					false, "Vehicle basic equipment", "Radio Intercity", 5.0.SI<Ampere>(), 0.8, _powernetVoltage, 0, ""),
+				new ElectricalConsumer(
+					false, "Vehicle basic equipment", "Radio/Audio Tourism", 9.0.SI<Ampere>(), 0.8, _powernetVoltage, 0, ""),
+				new ElectricalConsumer(false, "Vehicle basic equipment", "Fridge", 4.0.SI<Ampere>(), 0.5, _powernetVoltage, 0, ""),
+				new ElectricalConsumer(
+					false, "Vehicle basic equipment", "Kitchen Standard", 67.0.SI<Ampere>(), 0.05, _powernetVoltage, 0, ""),
+				new ElectricalConsumer(
+					false, "Vehicle basic equipment", "Interior lights City/ Intercity + Doorlights [Should be 1/m]", 1.0.SI<Ampere>(),
+					0.7, _powernetVoltage, 12, "1 Per metre length of bus"),
+				new ElectricalConsumer(
+					false, "Vehicle basic equipment", "LED Interior lights ceiling city/Intercity + door [Should be 1/m]",
+					0.6.SI<Ampere>(), 0.7, _powernetVoltage, 0, "1 Per metre length of bus"),
+				new ElectricalConsumer(
+					false, "Vehicle basic equipment", "Interior lights Tourism + reading [1/m]", 1.1.SI<Ampere>(), 0.7,
+					_powernetVoltage, 0, "1 Per metre length of bus"),
+				new ElectricalConsumer(
+					false, "Vehicle basic equipment", "LED Interior lights ceiling Tourism + LED reading [Should be 1/m]",
+					0.66.SI<Ampere>(), 0.7, _powernetVoltage, 0, "1 Per metre length of bus"),
+				new ElectricalConsumer(
+					false, "Customer Specific Equipment", "External Displays Font/Side/Rear", 2.65017667844523.SI<Ampere>(), 1.0,
+					_powernetVoltage, 4, ""),
+				new ElectricalConsumer(
+					false, "Customer Specific Equipment", "Internal display per unit ( front side rear)",
+					1.06007067137809.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""),
+				new ElectricalConsumer(
+					false, "Customer Specific Equipment", "CityBus Ref EBSF Table4 Devices ITS No Displays", 9.3.SI<Ampere>(), 1.0,
+					_powernetVoltage, 1, ""),
+				new ElectricalConsumer(false, "Lights", "Exterior Lights BULB", 7.4.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""),
+				new ElectricalConsumer(
+					false, "Lights", "Day running lights LED bonus", -0.723.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""),
+				new ElectricalConsumer(
+					false, "Lights", "Antifog rear lights LED bonus", -0.17.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""),
+				new ElectricalConsumer(
+					false, "Lights", "Position lights LED bonus", -1.2.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""),
+				new ElectricalConsumer(
+					false, "Lights", "Direction lights LED bonus", -0.3.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""),
+				new ElectricalConsumer(false, "Lights", "Brake Lights LED bonus", -1.2.SI<Ampere>(), 1.0, _powernetVoltage, 1, "")
+			};
+
+
+			return items;
+		}
+
+
+		// Interface implementation
+		public double DoorDutyCycleFraction
+		{
+			get {
+				return _doorDutyCycleZeroToOne;
+			}
+			set {
+				_doorDutyCycleZeroToOne = value;
+			}
+		}
+
+		public List<IElectricalConsumer> Items
+		{
+			get {
+				return _items;
+			}
+		}
+
+		public void AddConsumer(IElectricalConsumer consumer)
+		{
+			if (!_items.Contains(consumer))
+				_items.Add(consumer);
+			else
+				throw new ArgumentException("Consumer Already Present in the list");
+		}
+
+		public void RemoveConsumer(IElectricalConsumer consumer)
+		{
+			if (_items.Contains(consumer))
+				_items.Remove(consumer);
+			else
+				throw new ArgumentException("Consumer Not In List");
+		}
+
+
+		public Ampere GetTotalAverageDemandAmps(bool excludeOnBase)
+		{
+			Ampere Amps;
+
+			if (excludeOnBase)
+
+				Amps = Items.Where(x => x.BaseVehicle == false)
+							.Sum(consumer => consumer.TotalAvgConumptionAmps(DoorDutyCycleFraction));
+
+			// Aggregate item In Items Where item.BaseVehicle = False Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction))
+
+
+			else
+
+				Amps = Items.Sum(x => x.TotalAvgConumptionAmps(DoorDutyCycleFraction));
+					//Aggregate item In Items Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction))
+
+ 
+			return Amps;
+		}
+	}
+}
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs
similarity index 85%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs
index 1d068acb5e..b8ba3f0292 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs
@@ -10,20 +10,21 @@
 // See the LICENSE.txt for the specific language governing permissions and limitations.
 
 using System.Collections.Generic;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
 	public class ElectricsUserInputsConfig : IElectricsUserInputsConfig
 	{
-		public double PowerNetVoltage { get; set; }
+		public Volt PowerNetVoltage { get; set; }
 		public string AlternatorMap { get; set; }
 		public double AlternatorGearEfficiency { get; set; }
 
 		public IElectricalConsumerList ElectricalConsumers { get; set; }
 
-		public int DoorActuationTimeSecond { get; set; }
+		public double DoorActuationTimeSecond { get; set; }
 		public double StoredEnergyEfficiency { get; set; }
 
 		public IResultCard ResultCardIdle { get; set; }
@@ -43,7 +44,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 			DoorActuationTimeSecond = 4;
 			StoredEnergyEfficiency = 0.935;
 			AlternatorGearEfficiency = 0.92;
-			PowerNetVoltage = vectoInputs.PowerNetVoltage.Value();
+			PowerNetVoltage = vectoInputs.PowerNetVoltage;
 			ResultCardIdle = new ResultCard(new List<SmartResult>());
 			ResultCardOverrun = new ResultCard(new List<SmartResult>());
 			ResultCardTraction = new ResultCard(new List<SmartResult>());
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs
similarity index 78%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs
index ac99ecf368..a9f300e304 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs
@@ -1,11 +1,12 @@
 using System;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
 	public class M00Impl : AbstractModule, IM0_NonSmart_AlternatorsSetEfficiency
 	{
@@ -18,7 +19,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 		protected ISSMTOOL _steadyStateModelHVAC;
 		protected Watt _ElectricalPowerW;
 		protected Watt _MechanicalPowerW;
-		protected LiterPerSecond _FuelingLPerH;
+		protected KilogramPerSecond _FuelingLPerH;
 
 		public M00Impl(
 			IElectricalConsumerList electricalConsumers, IAlternatorMap alternatorEfficiencyMap, Volt powernetVoltage,
@@ -50,11 +51,11 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 
 			_steadyStateModelHVAC = ssmHvac;
 
-			_ElectricalPowerW = ssmHvac.ElectricalWAdjusted.SI<Watt>();
+			_ElectricalPowerW = ssmHvac.ElectricalWAdjusted;
 
-			_MechanicalPowerW = ssmHvac.MechanicalWBaseAdjusted.SI<Watt>();
+			_MechanicalPowerW = ssmHvac.MechanicalWBaseAdjusted;
 
-			_FuelingLPerH = ssmHvac.FuelPerHBaseAdjusted.SI<LiterPerSecond>();
+			_FuelingLPerH = ssmHvac.FuelPerHBaseAdjusted;
 		}
 
 		#region Implementation of IM0_NonSmart_AlternatorsSetEfficiency
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs
similarity index 87%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs
index e334c8db64..4f2f547dc4 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs
@@ -1,10 +1,11 @@
 using System;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
 	public class M02Impl : AbstractModule, IM2_AverageElectricalLoadDemand
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs
similarity index 87%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs
index 23d608d681..87e2ab116e 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs
@@ -1,9 +1,9 @@
 using System;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
 	public class M05Impl : AbstractModule, IM5_SmartAlternatorSetGeneration
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs
similarity index 92%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs
index 10318e37c5..048fa2dac1 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs
@@ -1,10 +1,11 @@
 using System;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
 	public class M0_5Impl : AbstractModule, IM0_5_SmartAlternatorSetEfficiency
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs
similarity index 91%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs
index 99fe0342dc..b3206969cc 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs
@@ -15,7 +15,7 @@ using System.Linq;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
 	public class ResultCard : IResultCard
 	{
@@ -42,7 +42,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 			if (_results.Count < 2)
 				return 10.SI<Ampere>();
 
-			return GetOrInterpolate(Amps.Value()).SI<Ampere>();
+			return GetOrInterpolate(Amps);
 		}
 
 
@@ -53,21 +53,19 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics
 		///         ''' <param name="amps"></param>
 		///         ''' <returns></returns>
 		///         ''' <remarks></remarks>
-		private double GetOrInterpolate(double amps)
+		private Ampere GetOrInterpolate(Ampere amps)
 		{
-			double pre;
-			double post;
-			double dAmps;
-			double dSmartAmps;
+			Ampere pre;
+			Ampere post;
+			Ampere dAmps;
+			Ampere dSmartAmps;
 			double smartAmpsSlope;
-			double smartAmps;
-			double maxKey;
-			double minKey;
+			Ampere smartAmps;
 
-			maxKey = _results.Max().Amps;
-			minKey = _results.Min().Amps;
+			var maxKey = _results.Max().Amps;
+			var minKey = _results.Min().Amps;
 
-			var compareKey = new SmartResult(amps, 0);
+			var compareKey = new SmartResult(amps, 0.SI<Ampere>());
 
 			// Is on boundary check
 			if (_results.Contains(compareKey))
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs
similarity index 98%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs
index 7dbb8d12aa..a4c4491311 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	public class Bus : IBus
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs
similarity index 94%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs
index 95cce08dda..b1275fb68c 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs
@@ -5,7 +5,7 @@ using System.IO;
 using System.Linq;
 using System.Text;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	public class BusDatabase : IBusDatabase
 	{
@@ -18,7 +18,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 			try {
 				buses.Add(bus);
-			} catch (Exception ex) {
+			} catch (Exception ) {
 				result = false;
 			}
 
@@ -69,7 +69,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 								var bus = new Bus(id, elements[0], elements[1], elements[2], double.Parse(elements[3], CultureInfo.InvariantCulture), double.Parse(elements[4], CultureInfo.InvariantCulture), double.Parse(elements[5], CultureInfo.InvariantCulture), int.Parse(elements[6], CultureInfo.InvariantCulture), elements.Length == 8 ? bool.Parse(elements[7]) : false);
 
 								buses.Add(bus);
-							} catch (Exception ex) {
+							} catch (Exception ) {
 
 								// Indicate problems
 								returnStatus = false;
@@ -107,7 +107,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				existingBus.WidthInMetres = bus.WidthInMetres;
 				existingBus.HeightInMetres = bus.HeightInMetres;
 				existingBus.IsDoubleDecker = bus.IsDoubleDecker;
-			} catch (Exception ex) {
+			} catch (Exception ) {
 				result = false;
 			}
 
@@ -126,7 +126,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 					output.AppendLine(bus.ToString());
 
 				File.WriteAllText(filepath, output.ToString());
-			} catch (Exception ex) {
+			} catch (Exception ) {
 				result = false;
 			}
 
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs
new file mode 100644
index 0000000000..3ba51da9fe
--- /dev/null
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs
@@ -0,0 +1,9 @@
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
+{
+	public enum BusEngineType
+	{
+		Diesal = 1,
+		Gas = 2,
+		Hybrid = 3
+	}
+}
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs
similarity index 53%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs
index 2b0d49eaee..1d64301e41 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs
@@ -1,28 +1,29 @@
 using System.Collections.Generic;
 using System.Linq;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	public class EnvironmentalCondition : IEnvironmentalCondition
 	{
-		private double _temperature;
-		private double _solar;
+		private Kelvin _temperature;
+		private WattPerSquareMeter _solar;
 		private double _weight;
 
-		public EnvironmentalCondition(double temperature, double solar, double weight)
+		public EnvironmentalCondition(Kelvin temperature, WattPerSquareMeter solar, double weight)
 		{
 			_temperature = temperature;
 			_solar = solar;
 			_weight = weight;
 		}
 
-		public double GetTemperature()
+		public Kelvin GetTemperature()
 		{
 			return _temperature;
 		}
 
-		public double GetSolar()
+		public WattPerSquareMeter GetSolar()
 		{
 			return _solar;
 		}
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs
similarity index 70%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs
index 97dffa47d2..88ee30a847 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs
@@ -3,10 +3,11 @@ using System.Collections.Generic;
 using System.Globalization;
 using System.IO;
 using System.Linq;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
-using TUGraz.VectoCore.BusAuxiliaries.Util;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Util;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	public class EnvironmentalConditionsMap : IEnvironmentalConditionsMap
 	{
@@ -44,14 +45,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 							if (!firstline) {
 
 								// split the line
-								var elements = line.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
+								var elements = line.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
 
 								// 3 entries per line required
 								if ((elements.Length != 4))
 									return false;
 
 								// Add environment condition
-								var newCondition = new EnvironmentalCondition(double.Parse(elements[1], CultureInfo.InvariantCulture), double.Parse(elements[2], CultureInfo.InvariantCulture), double.Parse(elements[3], CultureInfo.InvariantCulture));
+								var newCondition = new EnvironmentalCondition(
+									double.Parse(elements[1], CultureInfo.InvariantCulture).DegCelsiusToKelvin(),
+									double.Parse(elements[2], CultureInfo.InvariantCulture).SI<WattPerSquareMeter>(),
+									double.Parse(elements[3], CultureInfo.InvariantCulture));
 
 								_map.Add(newCondition);
 							} else
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs
similarity index 90%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs
index 7951d34b9d..e90f1ba13d 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs
@@ -11,9 +11,9 @@
 
 using Newtonsoft.Json;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	public class HVACConstants : IHVACConstants
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs
similarity index 93%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs
index 656ffc9ecf..cbcd941b80 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs
@@ -12,9 +12,9 @@
 using System;
 using System.IO;
 using System.Linq;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	public class HVACSteadyStateModel : IHVACSteadyStateModel
 	{
@@ -45,7 +45,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			// Check map file can be found.
 			try {
 				myData = System.IO.File.ReadAllText(filePath, System.Text.Encoding.UTF8);
-			} catch (FileNotFoundException ex) {
+			} catch (FileNotFoundException ) {
 				message = "HVAC Steady State Model : The map file was not found";
 				return false;
 			}
@@ -84,7 +84,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				HVACElectricalLoadPowerWatts = float.Parse(values[0]);
 				HVACMechanicalLoadPowerWatts = float.Parse(values[1]);
 				HVACFuellingLitresPerHour = float.Parse(values[2]);
-			} catch (Exception ex) {
+			} catch (Exception ) {
 
 				// Restore in the event of failure to fully assign
 				HVACElectricalLoadPowerWatts = out1;
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs
similarity index 93%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs
index ef2bc763dc..35a8ad8516 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	public class HVACUserInputsConfig : IHVACUserInputsConfig
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs
similarity index 80%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs
index 452e9f583e..2d8e8154b3 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs
@@ -1,4 +1,4 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	public interface IBus
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs
similarity index 78%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs
index 32cf843ba2..61839df27a 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs
@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	public interface IBusDatabase
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs
similarity index 79%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs
index b5cc278a90..ff11e3ef39 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs
@@ -1,11 +1,11 @@
 using System;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	public class M01Impl : AbstractModule, IM1_AverageHVACLoadDemand
 	{
@@ -18,7 +18,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 		protected Watt _ElectricalPowerW;
 		protected Watt _MechanicalPowerW;
-		protected LiterPerSecond _FuelingLPerH;
+		protected KilogramPerSecond _FuelingLPerH;
 
 		public M01Impl(IM0_NonSmart_AlternatorsSetEfficiency m0, double altGearEfficiency, double compressorGearEfficiency, Volt powernetVoltage, ISignals signals, ISSMTOOL ssm)
 		{
@@ -65,9 +65,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 			_steadyStateModel = ssm;
 
-			_ElectricalPowerW = ssm.ElectricalWAdjusted.SI<Watt>();
-			_MechanicalPowerW = ssm.MechanicalWBaseAdjusted.SI<Watt>();
-			_FuelingLPerH = ssm.FuelPerHBaseAdjusted.SI(Unit.SI.Liter.Per.Hour).Cast<LiterPerSecond>(); // ' SI(Of LiterPerHour)()
+			_ElectricalPowerW = ssm.ElectricalWAdjusted;
+			_MechanicalPowerW = ssm.MechanicalWBaseAdjusted;
+			_FuelingLPerH = ssm.FuelPerHBaseAdjusted; // ' SI(Of LiterPerHour)()
 
 		}
 
@@ -88,7 +88,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			return _ElectricalPowerW * (1 / _m0.AlternatorsEfficiency / _alternatorGearEfficiency);
 		}
 
-		public LiterPerSecond HVACFuelingLitresPerHour()
+		public KilogramPerSecond HVACFuelingLitresPerHour()
 		{
 			return _FuelingLPerH;
 		}
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs
similarity index 77%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs
index 5e96572d75..92089c327b 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs
@@ -1,8 +1,9 @@
 using System;
 using System.Text;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	// Modeling SSHVAC V07
 	public class SSMCalculate : ISSMCalculate
@@ -22,10 +23,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 
 		// BASE RESULTS
-		public double ElectricalWBase
+		public Watt ElectricalWBase
 		{
 			get {
-				var ElectricalWBaseWeightedAverage = 0.0;
+				var ElectricalWBaseWeightedAverage = 0.SI<Watt>();
 				var gen = ssmTOOL.GenInputs;
 				var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature;
 				var EC_SolarBefore = gen.EC_Solar;
@@ -45,10 +46,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			}
 		}
 
-		public double MechanicalWBase
+		public Watt MechanicalWBase
 		{
 			get {
-				var MechanicalWBaseWeightedAverage = 0.0;
+				var MechanicalWBaseWeightedAverage = 0.SI<Watt>();
 				var gen = ssmTOOL.GenInputs;
 				var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature;
 				var EC_SolarBefore = gen.EC_Solar;
@@ -68,10 +69,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			}
 		}
 
-		public double FuelPerHBase
+		public KilogramPerSecond FuelPerHBase
 		{
 			get {
-				var FuelLPerHBaseWeightedAverage = 0.0;
+				var FuelLPerHBaseWeightedAverage = 0.0.SI<KilogramPerSecond>();
 				var gen = ssmTOOL.GenInputs;
 				var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature;
 				var EC_SolarBefore = gen.EC_Solar;
@@ -92,10 +93,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		}
 
 		// ADJUSTED RESULTS
-		public double ElectricalWAdjusted
+		public Watt ElectricalWAdjusted
 		{
 			get {
-				var ElectricalWAdjustedAverage = 0.0;
+				var ElectricalWAdjustedAverage = 0.0.SI<Watt>();
 				var gen = ssmTOOL.GenInputs;
 				var tl = ssmTOOL.TechList;
 				var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature;
@@ -116,10 +117,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			}
 		}
 
-		public double MechanicalWBaseAdjusted
+		public Watt MechanicalWBaseAdjusted
 		{
 			get {
-				var MechanicalWBaseAdjustedAverage = 0.0;
+				var MechanicalWBaseAdjustedAverage = 0.0.SI<Watt>();
 				var gen = ssmTOOL.GenInputs;
 				var tl = ssmTOOL.TechList;
 				var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature;
@@ -140,10 +141,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			}
 		}
 
-		public double FuelPerHBaseAdjusted
+		public KilogramPerSecond FuelPerHBaseAdjusted
 		{
 			get {
-				var FuelLPerHBaseAdjustedAverage = 0.0;
+				var FuelLPerHBaseAdjustedAverage = 0.0.SI<KilogramPerSecond>();
 				var gen = ssmTOOL.GenInputs;
 				var tl = ssmTOOL.TechList;
 				var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature;
@@ -168,21 +169,21 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 
 		// Base Values
-		public double BaseHeatingW_Mechanical
+		public Watt BaseHeatingW_Mechanical
 		{
 			get {
-				return default(Double);
+				return 0.SI<Watt>();
 			}
 		}
 
-		public double BaseHeatingW_ElectricalCoolingHeating
+		public Watt BaseHeatingW_ElectricalCoolingHeating
 		{
 			get {
-				return default(Double);
+				return 0.SI<Watt>();
 			}
 		}
 
-		public double BaseHeatingW_ElectricalVentilation
+		public Watt BaseHeatingW_ElectricalVentilation
 		{
 			get {
 				// =IF(AND(M89<0,M90<0),IF(AND(C62="yes",C66="high"),C33,IF(AND(C62="yes",C66="low"),C34,0)),0)
@@ -196,16 +197,20 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				// Dim M89 = Me.Run1.TotalW
 				// Dim M90 = Me.Run2.TotalW
 
-				double res;
-
-				res = Run1.TotalW < 0 && Run2.TotalW < 0 ? gen.VEN_VentilationOnDuringHeating && gen.VEN_VentilationDuringHeating.ToLower() == "high" ? gen.BC_HighVentPowerW : gen.VEN_VentilationOnDuringHeating && gen.VEN_VentilationDuringHeating.ToLower() == "low" ? gen.BC_LowVentPowerW : 0 : 0;
+				var res = Run1.TotalW < 0 && Run2.TotalW < 0
+					? gen.VEN_VentilationOnDuringHeating && gen.VEN_VentilationDuringHeating.ToLower() == "high"
+						? gen.BC_HighVentPowerW
+						: gen.VEN_VentilationOnDuringHeating && gen.VEN_VentilationDuringHeating.ToLower() == "low"
+							? gen.BC_LowVentPowerW
+							: 0.SI<Watt>()
+					: 0.SI<Watt>();
 
 
 				return res;
 			}
 		}
 
-		public double BaseHeatingW_FuelFiredHeating
+		public Watt BaseHeatingW_FuelFiredHeating
 		{
 			get {
 				// =IF(AND(M89<0,M90<0),VLOOKUP(MAX(M89:M90),M89:O90,3),0)
@@ -215,14 +220,15 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				// VLOOKUP(MAX(M89:M90),M89:O90  => VLOOKUP ( lookupValue, tableArray, colIndex, rangeLookup )
 
 				// If both Run TotalW values are >=0 then return FuelW from Run with largest TotalW value, else return 0
-				if ((Run1.TotalW < 0 && Run2.TotalW < 0))
+				if ((Run1.TotalW < 0 && Run2.TotalW < 0)) {
 					return Run1.TotalW > Run2.TotalW ? Run1.FuelW : Run2.FuelW;
-				else
-					return 0;
+				}
+
+				return 0.SI<Watt>();
 			}
 		}
 
-		public double BaseCoolingW_Mechanical
+		public Watt BaseCoolingW_Mechanical
 		{
 			get {
 				// =IF(C46<C28,0,IF(C53="electrical", 0, IF(AND(M89>0,M90>0),MIN(M89:M90),0)))
@@ -235,11 +241,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				// Dim M89 = Run1.TotalW
 				// Dim M90 = Run2.TotalW
 
-				return gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff ? 0 : gen.AC_CompressorTypeDerived.ToLower() == "electrical" ? 0 : Run1.TotalW > 0 && Run2.TotalW > 0 ? Math.Min(Run1.TotalW, Run2.TotalW) : 0;
+				return gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff
+					? 0.SI<Watt>()
+					: gen.AC_CompressorTypeDerived.ToLower() == "electrical"
+						? 0.SI<Watt>()
+						: Run1.TotalW > 0 && Run2.TotalW > 0
+							? VectoMath.Min(Run1.TotalW, Run2.TotalW)
+							: 0.SI<Watt>();
 			}
 		}
 
-		public double BaseCoolingW_ElectricalCoolingHeating
+		public Watt BaseCoolingW_ElectricalCoolingHeating
 		{
 			get {
 				// =IF(C46<C28,0,IF(C53="electrical",IF(AND(M89>0,M90>0),MIN(M89:M90),0),0))
@@ -252,11 +264,18 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				// Dim M89 = Run1.TotalW
 				// Dim M90 = Run2.TotalW
 
-				return gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff ? 0 : gen.AC_CompressorTypeDerived.ToLower() == "electrical" ? Run1.TotalW > 0 && Run2.TotalW > 0 ? Math.Min(Run1.TotalW, Run2.TotalW) : 0 : 0;
+				return gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff
+					? 0.SI<Watt>()
+					: gen.AC_CompressorTypeDerived.ToLower() == "electrical"
+						? Run1.TotalW > 0 && Run2.TotalW > 0
+							? VectoMath.Min(Run1.TotalW, Run2.TotalW)
+							: 0.SI<Watt>()
+						: 0.SI<Watt>();
+
 			}
 		}
 
-		public double BaseCoolingW_ElectricalVentilation
+		public Watt BaseCoolingW_ElectricalVentilation
 		{
 			get {
 				// =IF(AND(C46>=C28,M89>0,M90>0),IF(AND(C64="yes",C67="high"),C33,IF(AND(C64="yes",C67="low"),C34,0)),0)
@@ -272,32 +291,38 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				// Dim C33 = gen.BC_HighVentPowerW
 				// Dim C34 = gen.BC_LowVentPowerW
 
-				return gen.EC_EnviromentalTemperature >= gen.BC_TemperatureCoolingTurnsOff && Run1.TotalW > 0 && Run2.TotalW > 0 ? gen.VEN_VentilationDuringAC && gen.VEN_VentilationDuringCooling.ToLower() == "high" ? gen.BC_HighVentPowerW : gen.VEN_VentilationDuringAC && gen.VEN_VentilationDuringCooling.ToLower() == "low" ? gen.BC_LowVentPowerW : 0 : 0;
+				return gen.EC_EnviromentalTemperature >= gen.BC_TemperatureCoolingTurnsOff && Run1.TotalW > 0 && Run2.TotalW > 0
+					? gen.VEN_VentilationDuringAC && gen.VEN_VentilationDuringCooling.ToLower() == "high"
+						? gen.BC_HighVentPowerW
+						: gen.VEN_VentilationDuringAC && gen.VEN_VentilationDuringCooling.ToLower() == "low"
+							? gen.BC_LowVentPowerW
+							: 0.SI<Watt>()
+					: 0.SI<Watt>();
 			}
 		}
 
-		public double BaseCoolingW_FuelFiredHeating
+		public Watt BaseCoolingW_FuelFiredHeating
 		{
 			get {
-				return 0;
+				return 0.SI<Watt>();
 			}
 		}
 
-		public double BaseVentilationW_Mechanical
+		public Watt BaseVentilationW_Mechanical
 		{
 			get {
-				return default(Double);
+				return 0.SI<Watt>();
 			}
 		}
 
-		public double BaseVentilationW_ElectricalCoolingHeating
+		public Watt BaseVentilationW_ElectricalCoolingHeating
 		{
 			get {
-				return default(Double);
+				return 0.SI<Watt>();
 			}
 		}
 
-		public double BaseVentilationW_ElectricalVentilation
+		public Watt BaseVentilationW_ElectricalVentilation
 		{
 			get {
 				// =IF(OR(AND(C46<C28,M89>0,M90>0),AND(M89>0,M90<0)),IF(AND(C63="yes",C65="high"),C33,IF(AND(C63="yes",C65="low"),C34,0)),0)
@@ -313,14 +338,23 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				// Dim C33 = gen.BC_HighVentPowerW
 				// Dim C34 = gen.BC_LowVentPowerW
 
-				return (gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff && Run1.TotalW > 0 && Run2.TotalW > 0) || (Run1.TotalW > 0 && Run2.TotalW < 0) ? gen.VEN_VentilationWhenBothHeatingAndACInactive && gen.VEN_VentilationFlowSettingWhenHeatingAndACInactive.ToLower() == "high" ? gen.BC_HighVentPowerW : gen.VEN_VentilationWhenBothHeatingAndACInactive && gen.VEN_VentilationFlowSettingWhenHeatingAndACInactive.ToLower() == "low" ? gen.BC_LowVentPowerW : 0 : 0;
+				return (gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff && Run1.TotalW > 0 && Run2.TotalW > 0) ||
+						(Run1.TotalW > 0 && Run2.TotalW < 0)
+					? gen.VEN_VentilationWhenBothHeatingAndACInactive &&
+					gen.VEN_VentilationFlowSettingWhenHeatingAndACInactive.ToLower() == "high"
+						? gen.BC_HighVentPowerW
+						: gen.VEN_VentilationWhenBothHeatingAndACInactive &&
+						gen.VEN_VentilationFlowSettingWhenHeatingAndACInactive.ToLower() == "low"
+							? gen.BC_LowVentPowerW
+							: 0.SI<Watt>()
+					: 0.SI<Watt>();
 			}
 		}
 
-		public double BaseVentilationW_FuelFiredHeating
+		public Watt BaseVentilationW_FuelFiredHeating
 		{
 			get {
-				return 0;
+				return 0.SI<Watt>();
 			}
 		}
 
@@ -368,7 +402,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				// Dim TLN92 As Double =  tl.HValueVariation
 
 
-				return tl.HValueVariation > 0 ? Math.Min(tl.HValueVariation, gen.BC_MaxPossibleBenefitFromTechnologyList) : Math.Max(tl.HValueVariation, -gen.BC_MaxPossibleBenefitFromTechnologyList);
+				return tl.HValueVariation > 0
+					? Math.Min(tl.HValueVariation, gen.BC_MaxPossibleBenefitFromTechnologyList)
+					: Math.Max(tl.HValueVariation, -gen.BC_MaxPossibleBenefitFromTechnologyList);
 			}
 		}
 
@@ -544,9 +580,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			sb.AppendLine("*******************");
 			sb.AppendLine(vbTab + vbTab + vbTab + "Mechanical" + vbTab + "Elec Cool/Heat" + vbTab + "Elec Vent" + vbTab + "Fuel Fired Heating");
 
-			sb.AppendLine(string.Format("Heating   {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseHeatingW_Mechanical.ToString("0.00"), BaseHeatingW_ElectricalCoolingHeating.ToString("0.00"), BaseHeatingW_ElectricalVentilation.ToString("0.00"), BaseHeatingW_FuelFiredHeating.ToString("0.00")));
-			sb.AppendLine(string.Format("Cooling   {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseCoolingW_Mechanical.ToString("0.00"), BaseCoolingW_ElectricalCoolingHeating.ToString("0.00"), BaseCoolingW_ElectricalVentilation.ToString("0.00"), BaseCoolingW_FuelFiredHeating.ToString("0.00")));
-			sb.AppendLine(string.Format("Ventilate {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseVentilationW_Mechanical.ToString("0.00"), BaseVentilationW_ElectricalCoolingHeating.ToString("0.00"), BaseVentilationW_ElectricalVentilation.ToString("0.00"), BaseVentilationW_FuelFiredHeating.ToString("0.00")));
+			sb.AppendLine(string.Format("Heating   {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseHeatingW_Mechanical.Value().ToString("0.00"), BaseHeatingW_ElectricalCoolingHeating.Value().ToString("0.00"), BaseHeatingW_ElectricalVentilation.Value().ToString("0.00"), BaseHeatingW_FuelFiredHeating.Value().ToString("0.00")));
+			sb.AppendLine(string.Format("Cooling   {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseCoolingW_Mechanical.Value().ToString("0.00"), BaseCoolingW_ElectricalCoolingHeating.Value().ToString("0.00"), BaseCoolingW_ElectricalVentilation.Value().ToString("0.00"), BaseCoolingW_FuelFiredHeating.Value().ToString("0.00")));
+			sb.AppendLine(string.Format("Ventilate {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseVentilationW_Mechanical.Value().ToString("0.00"), BaseVentilationW_ElectricalCoolingHeating.Value().ToString("0.00"), BaseVentilationW_ElectricalVentilation.Value().ToString("0.00"), BaseVentilationW_FuelFiredHeating.Value().ToString("0.00")));
 
 			sb.AppendLine("");
 			sb.AppendLine("Staging Adjusted Values");
@@ -560,7 +596,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			return sb.ToString();
 		}
 
-		private double CalculateElectricalWBase(ISSMGenInputs genInputs, double EnviromentalTemperature, double Solar, double Weight)
+		private Watt CalculateElectricalWBase(ISSMGenInputs genInputs, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight)
 		{
 
 			// MIN(SUM(H94),C54*1000)/C59+SUM(I93:I95)
@@ -575,12 +611,15 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			// Dim I94 = BaseCoolingW_ElectricalVentilation
 			// Dim I95 = BaseVentilationW_ElectricalVentilation
 
-			var ElectricalWBaseCurrentResult = Math.Min(BaseCoolingW_ElectricalCoolingHeating, genInputs.AC_CompressorCapacitykW * 1000) / (double)genInputs.AC_COP + BaseHeatingW_ElectricalVentilation + BaseCoolingW_ElectricalVentilation + BaseVentilationW_ElectricalVentilation;
+			var ElectricalWBaseCurrentResult =
+				VectoMath.Min(BaseCoolingW_ElectricalCoolingHeating, genInputs.AC_CompressorCapacitykW) /
+				genInputs.AC_COP + BaseHeatingW_ElectricalVentilation + BaseCoolingW_ElectricalVentilation +
+				BaseVentilationW_ElectricalVentilation;
 
 			return ElectricalWBaseCurrentResult * Weight;
 		}
 
-		private double CalculateMechanicalWBase(ISSMGenInputs genInputs, double EnviromentalTemperature, double Solar, double Weight)
+		private Watt CalculateMechanicalWBase(ISSMGenInputs genInputs, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight)
 		{
 
 			// =MIN(F94,C54*1000)/C59
@@ -592,12 +631,12 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			// Dim C54 = genInputs.AC_CompressorCapacitykW
 			// Dim C59 = genInputs.AC_COP 
 
-			var MechanicalWBaseCurrentResult = Math.Min(BaseCoolingW_Mechanical, genInputs.AC_CompressorCapacitykW * 1000) / (double)genInputs.AC_COP;
+			var MechanicalWBaseCurrentResult = VectoMath.Min(BaseCoolingW_Mechanical, genInputs.AC_CompressorCapacitykW) / genInputs.AC_COP;
 
 			return MechanicalWBaseCurrentResult * Weight;
 		}
 
-		private double CalculateFuelLPerHBase(ISSMGenInputs genInputs, double EnviromentalTemperature, double Solar, double Weight)
+		private KilogramPerSecond CalculateFuelLPerHBase(ISSMGenInputs genInputs, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight)
 		{
 
 			// =(MIN(ABS(J93/1000),C71)/C37)*(1/(C39*C38))
@@ -611,12 +650,14 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			// Dim C39 = ssmTOOL.HVACConstants.FuelDensity
 			// Dim C38 = genInputs.BC_GCVDieselOrHeatingOil
 
-			var FuelLPerHBaseCurrentResult = (Math.Min(Math.Abs(BaseHeatingW_FuelFiredHeating / 1000), genInputs.AH_FuelFiredHeaterkW) / (double)genInputs.BC_AuxHeaterEfficiency) * (1 / (double)(genInputs.BC_GCVDieselOrHeatingOil * ssmTOOL.HVACConstants.FuelDensityAsGramPerLiter));
+			var FuelLPerHBaseCurrentResult =
+				VectoMath.Min(VectoMath.Abs(BaseHeatingW_FuelFiredHeating).Value().SI<Watt>(), genInputs.AH_FuelFiredHeaterkW) /
+				genInputs.BC_AuxHeaterEfficiency / (genInputs.BC_GCVDieselOrHeatingOil /* * ssmTOOL.HVACConstants.FuelDensity */);
 
 			return FuelLPerHBaseCurrentResult * Weight;
 		}
 
-		private double CalculateElectricalWAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, double EnviromentalTemperature, double Solar, double Weight)
+		private Watt CalculateElectricalWAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight)
 		{
 
 			// =(MIN((H94*(1-H100)),C54*1000)/C59)+(I93*(1-I99))+(I94*(1-I100))+(I95*(1-I101))
@@ -636,12 +677,12 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			var I100 = TechListAdjustedCoolingW_ElectricalVentilation;
 			var I101 = TechListAdjustedVentilationW_ElectricalVentilation;
 
-			var ElectricalWAdjusted = (Math.Min((H94 * (1 - H100)), C54 * 1000) / C59) + (I93 * (1 - I99)) + (I94 * (1 - I100)) + (I95 * (1 - I101));
+			var ElectricalWAdjusted = (VectoMath.Min((H94 * (1 - H100)), C54) / C59) + (I93 * (1 - I99)) + (I94 * (1 - I100)) + (I95 * (1 - I101));
 
 			return ElectricalWAdjusted * Weight;
 		}
 
-		private double CalculateMechanicalWBaseAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, double EnviromentalTemperature, double Solar, double Weight)
+		private Watt CalculateMechanicalWBaseAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight)
 		{
 
 			// =(MIN((F94*(1-F100)),C54*1000)/C59)
@@ -654,12 +695,12 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			var C54 = genInputs.AC_CompressorCapacitykW;
 			var C59 = genInputs.AC_COP;
 
-			var MechanicalWBaseAdjusted = (Math.Min((F94 * (1 - F100)), C54 * 1000) / C59);
+			var MechanicalWBaseAdjusted = (VectoMath.Min((F94 * (1 - F100)), C54 * 1000) / C59);
 
 			return MechanicalWBaseAdjusted * Weight;
 		}
 
-		private double CalculateFuelLPerHBaseAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, double EnviromentalTemperature, double Solar, double Weight)
+		private KilogramPerSecond CalculateFuelLPerHBaseAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight)
 		{
 
 			// =MIN(ABS(IF(AND(M89<0,M90<0),VLOOKUP(MAX(M89:M90),M89:P90,4),0)/1000),C71)/C37*(1/(C39*C38))
@@ -674,12 +715,14 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			// Dim C38 = genInputs.BC_GCVDieselOrHeatingOil
 			// Dim C39 = ssmTOOL.HVACConstants.FuelDensity
 
-			double result = 0;
+			var result = 0.SI<Watt>();
 
-			if (Run1.TotalW < 0 && Run2.TotalW < 0)
-				result = Math.Abs(Run1.TotalW > Run2.TotalW ? Run1.TechListAmendedFuelW : Run2.TechListAmendedFuelW / (double)1000);
+			if (Run1.TotalW < 0 && Run2.TotalW < 0) {
+				result = VectoMath.Abs(Run1.TotalW > Run2.TotalW ? Run1.TechListAmendedFuelW : Run2.TechListAmendedFuelW).Value().SI<Watt>();
+			}
 
-			var FuelLPerHBaseAdjusted = Math.Min(result, genInputs.AH_FuelFiredHeaterkW) / (double)genInputs.BC_AuxHeaterEfficiency * (1 / (double)(genInputs.BC_GCVDieselOrHeatingOil * ssmTOOL.HVACConstants.FuelDensityAsGramPerLiter));
+			var FuelLPerHBaseAdjusted = VectoMath.Min(result, genInputs.AH_FuelFiredHeaterkW) /
+										genInputs.BC_AuxHeaterEfficiency / (genInputs.BC_GCVDieselOrHeatingOil /* * ssmTOOL.HVACConstants.FuelDensity*/) ;
 
 			return FuelLPerHBaseAdjusted * Weight;
 		}
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs
similarity index 53%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs
index 90bb2fe732..fb312e96bf 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs
@@ -1,56 +1,94 @@
 using System;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.Declaration;
+using TUGraz.VectoCore.Models.SimulationComponent.Data;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	// Used by SSMHVAC Class
 	public class SSMGenInputs : ISSMGenInputs
 	{
 		private string _EC_EnviromentalConditions_BatchFile;
 		private IEnvironmentalConditionsMap _EC_EnvironmentalConditionsMap;
+
+		protected internal VehicleData _vehicle;
+
 		private string _vectoDir;
 
 
-		public SSMGenInputs(bool initialiseDefaults = false, string vectoDir = "")
+		//public SSMGenInputs(bool initialiseDefaults = false, string vectoDir = "")
+		//{
+		//	_vectoDir = vectoDir;
+		//	BP_BusModel = "";
+		//	BP_BusFloorType = "";
+		//	EC_EnviromentalConditions_BatchFile = "";
+		//	AC_CompressorType = "";
+		//	VEN_VentilationDuringCooling = "";
+		//	VEN_VentilationDuringHeating = "";
+		//	VEN_VentilationFlowSettingWhenHeatingAndACInactive = "";
+		//	if (initialiseDefaults)
+		//		SetDefaults();
+		//}
+
+		public SSMGenInputs(string vectoDir = "")
 		{
 			_vectoDir = vectoDir;
-			BP_BusModel = "";
-			BP_BusFloorType = "";
-			EC_EnviromentalConditions_BatchFile = "";
-			AC_CompressorType = "";
-			VEN_VentilationDuringCooling = "";
-			VEN_VentilationDuringHeating = "";
-			VEN_VentilationFlowSettingWhenHeatingAndACInactive = "";
-			if (initialiseDefaults)
-				SetDefaults();
+			SetDefaults();
 		}
 
+		public SSMGenInputs(VehicleData vehicle)
+		{
+			_vehicle = vehicle;
+		}
 
 
 		// C4/D4
-		public string BP_BusModel { get; set; }
+		public string BP_BusModel
+		{
+			get { return _vehicle.ModelName; }
+		}
 
 		// C5/D5
-		public double BP_NumberOfPassengers { get; set; }
+		public double BP_NumberOfPassengers
+		{
+			get { return _vehicle.PassengerCount; }
+		}
 
 		// C6/D6
-		public string BP_BusFloorType { get; set; }
+		public FloorType BP_BusFloorType
+		{
+			get { return _vehicle.FloorType; }
+		}
+
+		// C10/D10
+		public bool BP_DoubleDecker { get { return _vehicle.DoubleDecker; } }
+
+		// D12/C12 - ( M )
+		public Meter BP_BusLength { get { return _vehicle.Length; } }
+
+		// D13/C13 - ( M )
+		public Meter BP_BusWidth { get { return _vehicle.Width; } }
+
+		// D14/C14 - ( M )
+		public Meter BP_BusHeight { get { return _vehicle.Height; } }
+
 
 		// D7/C7 - ( M/2 )
-		public double BP_BusFloorSurfaceArea
+		public SquareMeter BP_BusFloorSurfaceArea
 		{
 			get {
-
 				// =IF(AND(C6="low floor",C13<=2.55,C13>=2.5),(2.55*(C12-1.2)),((C12-1.2)*C13))
-				if (BP_BusFloorType == "low floor" && BP_BusWidth <= 2.55 && BP_BusWidth >= 2.5)
-					return Math.Round((2.55 * (BP_BusLength - 1.2)), 6);
-				else
-					return Math.Round(((BP_BusLength - 1.2) * BP_BusWidth), 6);
+				if (BP_BusFloorType == FloorType.LowFloor && BP_BusWidth <= 2.55 && BP_BusWidth >= 2.5) {
+					return 2.55.SI<Meter>() * (BP_BusLength - 1.2.SI<Meter>());
+				}
+
+				return ((BP_BusLength - 1.2.SI<Meter>()) * BP_BusWidth);
 			}
 		}
 
 		// D8/C8 - ( M/2 )
-		public double BP_BusSurfaceAreaM2
+		public SquareMeter BP_BusSurfaceAreaM2
 		{
 			get {
 				// 2 * (C12*C13 + C12*C14 + C13*C14)
@@ -59,7 +97,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		}
 
 		// D9/C9 - ( M/2 )
-		public double BP_BusWindowSurface
+		public SquareMeter BP_BusWindowSurface
 		{
 			get {
 				// =(C40*C12)+C41
@@ -67,27 +105,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			}
 		}
 
-		// C10/D10
-		public bool BP_DoubleDecker { get; set; }
 
 		// D11/C11 - ( M/3 )
-		public double BP_BusVolume
+		public CubicMeter BP_BusVolume
 		{
 			get {
 				// =(C12*C13*C14)
-				return (BP_BusLength * BP_BusWidth * BP_BusHeight);
+				return BP_BusLength * BP_BusWidth * BP_BusHeight;
 			}
 		}
 
-		// D12/C12 - ( M )
-		public double BP_BusLength { get; set; }
-
-		// D13/C13 - ( M )
-		public double BP_BusWidth { get; set; }
-
-		// D14/C14 - ( M )
-		public double BP_BusHeight { get; set; }
-
+		
 
 
 		// C17
@@ -103,41 +131,41 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		}
 
 		// C19 - ( W )
-		public double BC_HeatPerPassengerIntoCabinW
+		public Watt BC_HeatPerPassengerIntoCabinW
 		{
 			get {
 				// =IF(C46<17,50,80)
-				return EC_EnviromentalTemperature < 17 ? 50 : 80;
+				return (EC_EnviromentalTemperature < 17 ? 50 : 80).SI<Watt>();
 			}
 		}
 
 		// C20 - ( oC )
-		public double BC_PassengerBoundaryTemperature { get; set; }
+		public Kelvin BC_PassengerBoundaryTemperature { get; set; }
 
 		// C21 - ( Passenger/Metre Squared )
-		public double BC_PassengerDensityLowFloor
+		public PerSquareMeter BC_PassengerDensityLowFloor
 		{
 			get {
 				// =IF($C$10="No",3,3.7)
-				return BP_DoubleDecker ? 3.7 : 3;
+				return (BP_DoubleDecker ? 3.7 : 3).SI<PerSquareMeter>();
 			}
 		}
 
 		// C22 - ( Passenger/Metre Squared )
-		public double BC_PassengerDensitySemiLowFloor
+		public PerSquareMeter BC_PassengerDensitySemiLowFloor
 		{
 			get {
 				// =IF($C$10="No",2.2,3)
-				return BP_DoubleDecker ? 3 : 2.2;
+				return (BP_DoubleDecker ? 3 : 2.2).SI<PerSquareMeter>();
 			}
 		}
 
 		// C23 - ( Passenger/Metre Squared )
-		public double BC_PassengerDensityRaisedFloor
+		public PerSquareMeter BC_PassengerDensityRaisedFloor
 		{
 			get {
 				// =IF($C$10="No",1.4,2)
-				return BP_DoubleDecker ? 2 : 1.4;
+				return (BP_DoubleDecker ? 2 : 1.4).SI<PerSquareMeter>();
 			}
 		}
 
@@ -146,42 +174,44 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		{
 			get {
 				// =ROUND(IF($D$5<IF(D6="low floor",C21,IF(D6="semi low floor",C22,C23))*D7,$D$5,IF(D6="low floor",C21,IF(D6="semi low floor",C22,C23))*D7),0)
-				var tmp = BP_BusFloorType == "low floor" ? BC_PassengerDensityLowFloor : BP_BusFloorType == "semi low floor" ? BC_PassengerDensitySemiLowFloor : BC_PassengerDensityRaisedFloor * BP_BusFloorSurfaceArea;
-				return Math.Round(BP_NumberOfPassengers < tmp ? BP_NumberOfPassengers : tmp, 0);
+				var tmp = (BP_BusFloorType == FloorType.LowFloor
+					? BC_PassengerDensityLowFloor
+					: BP_BusFloorType == FloorType.SemiLowFloor
+						? BC_PassengerDensitySemiLowFloor
+						: BC_PassengerDensityRaisedFloor) * BP_BusFloorSurfaceArea;
+				return Math.Round(BP_NumberOfPassengers < tmp ? BP_NumberOfPassengers : tmp.Value(), 0);
 			}
 		}
 
 		// C25 - ( W/K/M3 )
-		public double BC_UValues
+		public WattPerKelvinSquareMeter BC_UValues
 		{
 			get {
 				// =IF(D6="low floor",4,IF(D6="semi low floor",3.5,3))
-				return BP_BusFloorType == "low floor" ? 4 : BP_BusFloorType == "semi low floor" ? 3.5 : 3;
+				return (BP_BusFloorType ==FloorType.LowFloor ? 4 : BP_BusFloorType == FloorType.SemiLowFloor ? 3.5 : 3).SI<WattPerKelvinSquareMeter>();
 			}
 		}
 
 		// C26 - ( oC )
-		public double BC_HeatingBoundaryTemperature { get; set; }
+		public Kelvin BC_HeatingBoundaryTemperature { get; set; }
 
 		// C27 - ( oC )
-		public double BC_CoolingBoundaryTemperature { get; set; }
+		public Kelvin BC_CoolingBoundaryTemperature { get; set; }
 
 		// C28 - ( oC )
-		public double BC_TemperatureCoolingTurnsOff
+		public Kelvin BC_TemperatureCoolingTurnsOff
 		{
-			get {
-				return 17;
-			}
+			get { return 17.0.DegCelsiusToKelvin(); }
 		}
 
-		// C29 - ( L/H )
-		public double BC_HighVentilation { get; set; }
+		// C29 - ( L/H )  --- !! 1/h
+		public PerSecond BC_HighVentilation { get; set; }
 
-		// C30 - ( L/H )
-		public double BC_lowVentilation { get; set; }
+		// C30 - ( L/H )   --- !! 1/h
+		public PerSecond BC_lowVentilation { get; set; }
 
 		// C31 - ( M3/H )
-		public double BC_High
+		public CubicMeterPerSecond BC_High
 		{
 			get {
 				// =D11*C29
@@ -190,7 +220,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		}
 
 		// C32 - ( M3/H )
-		public double BC_Low
+		public CubicMeterPerSecond BC_Low
 		{
 			get {
 				// =C30*D11
@@ -199,7 +229,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		}
 
 		// C33 - ( W )
-		public double BC_HighVentPowerW
+		public Watt BC_HighVentPowerW
 		{
 			get {
 				// =C31*C35
@@ -208,7 +238,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		}
 
 		// C34 - ( W )
-		public double BC_LowVentPowerW
+		public Watt BC_LowVentPowerW
 		{
 			get {
 				// =C32*C35
@@ -217,59 +247,54 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		}
 
 		// C35 - ( Wh/M3 )
-		public double BC_SpecificVentilationPower { get; set; }
+		public JoulePerCubicMeter BC_SpecificVentilationPower { get; set; }
 
 		// C37               
 		public double BC_AuxHeaterEfficiency { get; set; }
 
 		// C38 - ( KW/HKG )
-		public double BC_GCVDieselOrHeatingOil { get; set; }
+		public JoulePerKilogramm BC_GCVDieselOrHeatingOil { get; set; }
 
 		// C40 - ( M2/M )
-		public double BC_WindowAreaPerUnitBusLength
+		public SquareMeterPerMeter BC_WindowAreaPerUnitBusLength
 		{
 			get {
 				// =IF($C$10="No",1.5,2.5)
-				return BP_DoubleDecker ? 2.5 : 1.5;
+				return (BP_DoubleDecker ? 2.5 : 1.5).SI<SquareMeterPerMeter>();
 			}
 		}
 
 		// C41 - ( M/2 )
-		public double BC_FrontRearWindowArea
+		public SquareMeter BC_FrontRearWindowArea
 		{
 			get {
 				// =IF($C$10="No",5,8)
-				return BP_DoubleDecker ? 8 : 5;
+				return (BP_DoubleDecker ? 8 : 5).SI<SquareMeter>();
 			}
 		}
 
 		// C42 - ( K )
-		public double BC_MaxTemperatureDeltaForLowFloorBusses { get; set; }
+		public Kelvin BC_MaxTemperatureDeltaForLowFloorBusses { get; set; }
 
 		// C43 - ( Fraction )
 		public double BC_MaxPossibleBenefitFromTechnologyList { get; set; }
 
 
-
 		// C46 - ( oC )
-		public double EC_EnviromentalTemperature { get; set; }
+		public Kelvin EC_EnviromentalTemperature { get; set; }
 
 		// C47 - ( W/M3 )
-		public double EC_Solar { get; set; }
+		public WattPerSquareMeter EC_Solar { get; set; }
 
 		// ( EC_EnviromentalTemperature and  EC_Solar) (Batch Mode)
 		public IEnvironmentalConditionsMap EC_EnvironmentalConditionsMap
 		{
-			get {
-				return _EC_EnvironmentalConditionsMap;
-			}
+			get { return _EC_EnvironmentalConditionsMap; }
 		}
 
 		public string EC_EnviromentalConditions_BatchFile
 		{
-			get {
-				return _EC_EnviromentalConditions_BatchFile;
-			}
+			get { return _EC_EnviromentalConditions_BatchFile; }
 			set {
 				_EC_EnvironmentalConditionsMap = new EnvironmentalConditionsMap(value, _vectoDir);
 				_EC_EnviromentalConditions_BatchFile = value;
@@ -279,20 +304,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		public bool EC_EnviromentalConditions_BatchEnabled { get; set; }
 
 
-
 		// C53 - "Continous/2-stage/3-stage/4-stage
 		public string AC_CompressorType { get; set; }
 
 		// mechanical/electrical
 		public string AC_CompressorTypeDerived
 		{
-			get {
-				return AC_CompressorType == "Continuous" ? "Electrical" : "Mechanical";
-			}
+			get { return AC_CompressorType == "Continuous" ? "Electrical" : "Mechanical"; }
 		}
 
 		// C54 -  ( KW )
-		public double AC_CompressorCapacitykW { get; set; }
+		public Watt AC_CompressorCapacitykW { get; set; }
 
 		// C59
 		public double AC_COP
@@ -303,7 +325,11 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				if ((AC_CompressorType != null)) {
 					cop = AC_CompressorType.ToLower() == "3-stage" ? cop * 1.02 : cop;
 					cop = AC_CompressorType.ToLower() == "4-stage" ? cop * 1.02 : cop;
-					cop = AC_CompressorType.ToLower() == "continuous" ? BP_BusFloorType.ToLower() == "low floor" ? cop * 1.04 : cop * 1.06 : cop;
+					cop = AC_CompressorType.ToLower() == "continuous"
+						? BP_BusFloorType == FloorType.LowFloor
+							? cop * 1.04
+							: cop * 1.06
+						: cop;
 				}
 
 				return Math.Round(cop, 2);
@@ -311,7 +337,6 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		}
 
 
-
 		// C62 - Boolean Yes/No
 		public bool VEN_VentilationOnDuringHeating { get; set; }
 
@@ -331,31 +356,31 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		public string VEN_VentilationDuringCooling { get; set; }
 
 
-
 		// C70 - ( KW )
-		public double AH_EngineWasteHeatkW { get; set; }
+		public Watt AH_EngineWasteHeatkW { get; set; }
 
 		// C71 - ( KW )
-		public double AH_FuelFiredHeaterkW { get; set; }
+		public Watt AH_FuelFiredHeaterkW { get; set; }
 
 		public double AH_FuelEnergyToHeatToCoolant { get; set; }
 
 		public double AH_CoolantHeatTransferredToAirCabinHeater { get; set; }
 
 
-
 		private void SetDefaults()
 		{
-
 			// BUS Parameterisation
 			// ********************
-			BP_BusModel = "DummyBus";
-			BP_NumberOfPassengers = 47.0D;
-			BP_BusFloorType = "raised floor";
-			BP_DoubleDecker = false;
-			BP_BusLength = 10.655D;
-			BP_BusWidth = 2.55D;
-			BP_BusHeight = 2.275D;
+			_vehicle = new VehicleData() {
+				ModelName = "DummyBus",
+				PassengerCount = 47.0,
+				FloorType = FloorType.HighFloor, // "raised floor",
+				DoubleDecker = false,
+				Length = 10.655.SI<Meter>(),
+				Width = 2.55.SI<Meter>(),
+				Height = 2.275.SI<Meter>(),
+			};
+
 			// BP_BusFloorSurfaceArea  : Calculated
 			// BP_BusSurfaceAreaM2 : Calculated
 			// BP_BusWindowSurface    : Calculated
@@ -365,44 +390,49 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			// ******************
 
 			BC_GFactor = 0.95D;
+
 			// BC_SolarClouding As Double :Calculated
 			// BC_HeatPerPassengerIntoCabinW  :Calculated
-			BC_PassengerBoundaryTemperature = 12.0D;
+			BC_PassengerBoundaryTemperature = 12.0.DegCelsiusToKelvin();
+
 			// BC_PassengerDensityLowFloor :Calculated
 			// BC_PassengerDensitySemiLowFloor :Calculated
 			// BC_PassengerDensityRaisedFloor :Calculated
 			// BC_CalculatedPassengerNumber  :Calculated
 			// BC_UValues :Calculated
-			BC_HeatingBoundaryTemperature = 18.0D;
-			BC_CoolingBoundaryTemperature = 23.0D;
+			BC_HeatingBoundaryTemperature = 18.0.DegCelsiusToKelvin();
+			BC_CoolingBoundaryTemperature = 23.0.DegCelsiusToKelvin();
+
 			// BC_CoolingBoundaryTemperature : ReadOnly Static
-			BC_HighVentilation = 20.0D;
-			BC_lowVentilation = 7.0D;
+			BC_HighVentilation = 20.0.SI(Unit.SI.Per.Hour).Cast<PerSecond>();
+			BC_lowVentilation = 7.0.SI(Unit.SI.Per.Hour).Cast<PerSecond>();
+
 			// BC_High  :Calculated
 			// BC_Low  :Calculated
 			// BC_HighVentPowerW  :Calculated
 			// BC_LowVentPowerW  :Calculated
-			BC_SpecificVentilationPower = 0.56D;
+			BC_SpecificVentilationPower = 0.56.SI(Unit.SI.Watt.Hour.Per.Cubic.Meter).Cast<JoulePerCubicMeter>();
+
 			// BC_COP :Calculated
 			BC_AuxHeaterEfficiency = 0.84D;
-			BC_GCVDieselOrHeatingOil = 11.8D;
+			BC_GCVDieselOrHeatingOil = 11.8.SI(Unit.SI.Kilo.Watt.Hour.Per.Kilo.Gramm).Cast<JoulePerKilogramm>();
+
 			// BC_WindowAreaPerUnitBusLength   :Calculated 
 			// BC_FrontRearWindowArea  :Calculated
-			BC_MaxTemperatureDeltaForLowFloorBusses = 3.0D;
+			BC_MaxTemperatureDeltaForLowFloorBusses = 3.0.SI<Kelvin>();
 			BC_MaxPossibleBenefitFromTechnologyList = 0.5D;
 
 			// Environmental Conditions
 			// ************************
-			EC_EnviromentalTemperature = 25.0D;
-			EC_Solar = 400.0D;
+			EC_EnviromentalTemperature = 25.0.DegCelsiusToKelvin();
+			EC_Solar = 400.0.SI<WattPerSquareMeter>();
 			EC_EnviromentalConditions_BatchEnabled = true;
 			EC_EnviromentalConditions_BatchFile = "DefaultClimatic.aenv";
 
 			// AC SYSTEM
 			// *********
 			AC_CompressorType = "2-stage";
-			AC_CompressorCapacitykW = 18.0D;
-
+			AC_CompressorCapacitykW = 18.0.SI(Unit.SI.Kilo.Watt).Cast<Watt>();
 
 			// VENTILATION
 			// ***********
@@ -413,12 +443,12 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			VEN_VentilationDuringHeating = "high";
 			VEN_VentilationDuringCooling = "high";
 
-
 			// AUX HEATER
 			// **********
-			AH_FuelFiredHeaterkW = 30.0D;
+			AH_FuelFiredHeaterkW = 30.0.SI(Unit.SI.Kilo.Watt).Cast<Watt>();
 			AH_FuelEnergyToHeatToCoolant = 0.2;
 			AH_CoolantHeatTransferredToAirCabinHeater = 0.75;
+			AH_EngineWasteHeatkW = 0.SI<Watt>();
 		}
 	}
 }
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs
similarity index 69%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs
index 76fca6a627..d5e63d2c96 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs
@@ -1,8 +1,10 @@
 using System;
 using System.Text;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.Declaration;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 
 	// Used By SSMHVAC Class
@@ -35,7 +37,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				return gen.EC_EnviromentalTemperature > gen.BC_CoolingBoundaryTemperature ? 3 : gen.EC_EnviromentalTemperature < gen.BC_HeatingBoundaryTemperature ? 1 : 2;
 			}
 		}
-		public double TCalc
+		public Kelvin TCalc
 		{
 			get {
 
@@ -46,18 +48,19 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				// C39 = BC_FontAndRearWindowArea
 
 				var gen = ssmTOOL.GenInputs;
-				double returnVal;
-
-				if (runNumber == 1)
-					returnVal = gen.BC_HeatingBoundaryTemperature;
-				else
-					returnVal = gen.BP_BusFloorType == "low floor" ? (gen.EC_EnviromentalTemperature - gen.BC_CoolingBoundaryTemperature) < gen.BC_FrontRearWindowArea ? gen.BC_CoolingBoundaryTemperature : gen.EC_EnviromentalTemperature - 3 : gen.BC_CoolingBoundaryTemperature;
-
-
-				return returnVal;
+				
+				if (runNumber == 1) {
+					return gen.BC_HeatingBoundaryTemperature;
+				}
+
+				return gen.BP_BusFloorType == FloorType.LowFloor
+					? (gen.EC_EnviromentalTemperature - gen.BC_CoolingBoundaryTemperature) < gen.BC_MaxTemperatureDeltaForLowFloorBusses
+						? gen.BC_CoolingBoundaryTemperature
+						: gen.EC_EnviromentalTemperature - 3.SI<Kelvin>()
+					: gen.BC_CoolingBoundaryTemperature;
 			}
 		}
-		public double TemperatureDelta
+		public Kelvin TemperatureDelta
 		{
 			get {
 				// =C43-F79/F80
@@ -68,7 +71,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				return gen.EC_EnviromentalTemperature - TCalc;
 			}
 		}
-		public double QWall
+		public Watt QWall
 		{
 			get {
 				// =I79*D8*C23  or '=I80*D8*C23
@@ -84,7 +87,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				return TemperatureDelta * gen.BP_BusSurfaceAreaM2 * gen.BC_UValues;
 			}
 		}
-		public double WattsPerPass
+		public Watt WattsPerPass
 		{
 			get {
 
@@ -104,7 +107,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				return Math.Min(gen.BP_NumberOfPassengers, gen.BC_CalculatedPassengerNumber) * gen.BC_HeatPerPassengerIntoCabinW;
 			}
 		}
-		public double Solar
+		public Watt Solar
 		{
 			get {
 				// =C44*D9*C15*C16*0.25
@@ -122,7 +125,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				return gen.EC_Solar * gen.BP_BusWindowSurface * gen.BC_GFactor * gen.BC_SolarClouding * 0.25;
 			}
 		}
-		public double TotalW
+		public Watt TotalW
 		{
 			get {
 
@@ -133,15 +136,16 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				return QWall + WattsPerPass + Solar;
 			}
 		}
-		public double TotalKW
-		{
-			get {
-				// =M79 or =M80  / (1000)
+		//public Watt TotalKW
+		//{
+		//	get {
+		//		// =M79 or =M80  / (1000)
 
-				return TotalW / 1000;
-			}
-		}
-		public double FuelW
+		//		return TotalW / 1000;
+		//	}
+		//}
+
+		public Watt FuelW
 		{
 			get {
 				// =IF(AND(N79<0,N79<(C60*-1)),N79-(C60*-1),0)*1000
@@ -151,11 +155,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				// Dim N79  as Double =  TotalKW
 				// Dim C60  As Double = gen.AH_EngineWasteHeatkW
 
-				return (TotalKW < 0 && TotalKW < (gen.AH_EngineWasteHeatkW * -1)) ? TotalKW - (gen.AH_EngineWasteHeatkW * -1) : 0
-								* 1000;
+				return (TotalW < 0 && TotalW < (gen.AH_EngineWasteHeatkW * -1)) ? TotalW - (gen.AH_EngineWasteHeatkW * -1) : 0.SI<Watt>();
 			}
 		}
-		public double TechListAmendedFuelW
+		public Watt TechListAmendedFuelW
 		{
 			get {
 				// =IF(IF(AND((N79*(1-$J$89))<0,(N79*(1-$J$89))<(C60*-1)),(N79*(1-$J$89))-(C60*-1),0)*1000<0,IF(AND((N79*(1-$J$89))<0,(N79*(1-$J$89))<(C60*-1)),(N79*(1-$J$89))-(C60*-1),0)*1000,0)
@@ -164,8 +167,16 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				var TLFFH = ssmTOOL.Calculate.TechListAdjustedHeatingW_FuelFiredHeating;
 				// Dim C60 As Double = gen.AH_EngineWasteHeatkW
 				// Dim N79 As Double = Me.TotalKW
-
-				return ((TotalKW * (1 - TLFFH)) < 0 && (TotalKW * (1 - TLFFH)) < (gen.AH_EngineWasteHeatkW * -1)) ? (TotalKW * (1 - TLFFH)) - (gen.AH_EngineWasteHeatkW * -1) : 0 * 1000 < 0 ? ((TotalKW * (1 - TLFFH)) < 0 && (TotalKW * (1 - TLFFH)) < (gen.AH_EngineWasteHeatkW * -1)) ? (TotalKW * (1 - TLFFH)) - (gen.AH_EngineWasteHeatkW * -1) : 0 * 1000 : 0;
+				//Return IF(IF(((TotalKW * (1 - TLFFH)) < 0 AndAlso(TotalKW * (1 - TLFFH)) < (gen.AH_EngineWasteHeatkW * -1)), _
+				//	(TotalKW * (1 - TLFFH)) - (gen.AH_EngineWasteHeatkW * -1), 0)*1000 < 0, _
+				//IF(((TotalKW * (1 - TLFFH)) < 0 AndAlso(TotalKW * (1 - TLFFH)) < (gen.AH_EngineWasteHeatkW * -1)),(TotalKW * (1 - TLFFH)) - (gen.AH_EngineWasteHeatkW * -1),0)*1000,0)
+
+				return (TotalW * (1 - TLFFH) < 0 && TotalW * (1 - TLFFH) < gen.AH_EngineWasteHeatkW * -1?
+							TotalW * (1 - TLFFH) - gen.AH_EngineWasteHeatkW * -1: 0.SI<Watt>()) < 0
+					? (TotalW * (1 - TLFFH) < 0 && TotalW * (1 - TLFFH) < gen.AH_EngineWasteHeatkW * -1
+							? TotalW * (1 - TLFFH) - gen.AH_EngineWasteHeatkW * -1
+							: 0.SI<Watt>())
+					: 0.SI<Watt>();
 			}
 		}
 
@@ -185,7 +196,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			sb.AppendLine(string.Format("WattsPerPass    " + vbTab + ": {0}", WattsPerPass));
 			sb.AppendLine(string.Format("Solar           " + vbTab + ": {0}", Solar));
 			sb.AppendLine(string.Format("TotalW          " + vbTab + ": {0}", TotalW));
-			sb.AppendLine(string.Format("TotalKW         " + vbTab + ": {0}", TotalKW));
+			sb.AppendLine(string.Format("TotalKW         " + vbTab + ": {0}", TotalW.Value() * 1000));
 			sb.AppendLine(string.Format("Fuel W          " + vbTab + ": {0}", FuelW));
 			sb.AppendLine(string.Format("Fuel Tech Adj   " + vbTab + ": {0}", TechListAmendedFuelW));
 
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs
new file mode 100644
index 0000000000..13467126d0
--- /dev/null
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs
@@ -0,0 +1,399 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using Omu.ValueInjecter;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.InputData.FileIO.JSON;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
+{
+	// Used by frmHVACTool
+	// Replaces Spreadsheet model which does the same calculation
+	// Version of which appears on the form title.
+	public class SSMTOOL : ISSMTOOL
+	{
+		private string filePath;
+		public ISSMGenInputs GenInputs { get; set; }
+		public ISSMTechList TechList { get; set; }
+		public ISSMCalculate Calculate { get; set; }
+		public bool SSMDisabled { get; set; }
+		public IHVACConstants HVACConstants { get; set; }
+
+		// Repeat Warning Flags
+		private bool CompressorCapacityInsufficientWarned;
+		//private bool FuelFiredHeaterInsufficientWarned;
+
+		// Base Values
+		public Watt ElectricalWBase
+		{
+			get {
+				return SSMDisabled ? 0.SI<Watt>() : Calculate.ElectricalWBase; // .SI(Of Watt)()
+			}
+		}
+
+		public Watt MechanicalWBase
+		{
+			get {
+				return SSMDisabled ? 0.SI<Watt>() : Calculate.MechanicalWBase; // .SI(Of Watt)()
+			}
+		}
+
+		public KilogramPerSecond FuelPerHBase
+		{
+			get {
+				return SSMDisabled ? 0.SI<KilogramPerSecond>() : Calculate.FuelPerHBase; // .SI(Of LiterPerHour)()
+			}
+		}
+
+		// Adjusted Values
+		public Watt ElectricalWAdjusted
+		{
+			get {
+				return SSMDisabled ? 0.SI<Watt>() : Calculate.ElectricalWAdjusted; // .SI(Of Watt)()
+			}
+		}
+
+		public Watt MechanicalWBaseAdjusted
+		{
+			get {
+				var mechAdjusted = SSMDisabled ? 0.SI<Watt>() : Calculate.MechanicalWBaseAdjusted;
+
+				if (CompressorCapacityInsufficientWarned == false && (mechAdjusted) / (1000 * GenInputs.AC_COP) > GenInputs.AC_CompressorCapacitykW) {
+					OnMessage(this, "HVAC SSM :AC-Compressor Capacity unable to service cooling, run continues as if capacity was sufficient.", AdvancedAuxiliaryMessageType.Warning);
+					CompressorCapacityInsufficientWarned = true;
+				}
+
+
+				return mechAdjusted; // .SI(Of Watt)()
+			}
+		}
+
+		public KilogramPerSecond FuelPerHBaseAdjusted
+		{
+			get {
+				return SSMDisabled ? 0.SI<KilogramPerSecond>() : Calculate.FuelPerHBaseAdjusted; // .SI(Of LiterPerHour)()
+			}
+		}
+
+		// Constructors
+		public SSMTOOL(string filePath, HVACConstants hvacConstants, bool isDisabled = false, bool useTestValues = false)
+		{
+			this.filePath = filePath;
+			this.SSMDisabled = isDisabled;
+			this.HVACConstants = hvacConstants;
+
+			GenInputs = new SSMGenInputs(Path.GetDirectoryName(filePath));
+			TechList = new SSMTechList(filePath, GenInputs, useTestValues);
+
+			Calculate = new SSMCalculate(this);
+		}
+
+		// Clone values from another object of same type
+		//public void Clone(ISSMTOOL from)
+		//{
+		//	var feedback = string.Empty;
+
+		//	GenInputs.InjectFrom(((SSMTOOL)from).GenInputs);
+
+		//	TechList.Clear();
+
+		//	foreach (var line in from.TechList.TechLines) {
+		//		var newLine = new TechListBenefitLine(this.GenInputs);
+		//		// newLine.InjectFrom()
+		//		newLine.InjectFrom(line);
+		//		TechList.Add(newLine, ref feedback);
+		//	}
+		//}
+
+		// Persistance Functions
+		public bool Save(string filePath)
+		{
+			var returnValue = true;
+			//var settings = new JsonSerializerSettings();
+			//settings.TypeNameHandling = TypeNameHandling.Objects;
+
+			// JSON METHOD
+			try {
+				//var output = JsonConvert.SerializeObject(this, Formatting.Indented, settings);
+
+				//File.WriteAllText(filePath, output);
+
+				var body = new Dictionary<string, object>();
+				body["SSMDisabled"] = SSMDisabled;
+				body["GenInputs"] = SaveGenInputs();
+				body["TechList"] = SaveTechlist();
+
+
+				JSONInputDataFactory.WriteFile(JToken.FromObject(new Dictionary<string, object>() { {"Header", "AHSM"}, { "Body",body } }), filePath);
+
+			} catch (Exception ) {
+
+				// Nothing to do except return false.
+				returnValue = false;
+			}
+
+			return returnValue;
+		}
+
+		private Dictionary<string, object> SaveGenInputs()
+		{
+			var retVal = new Dictionary<string, object>();
+
+			retVal["BC_GFactor"] = GenInputs.BC_GFactor;
+			retVal["BC_PassengerBoundaryTemperature"] = GenInputs.BC_PassengerBoundaryTemperature.AsDegCelsius;
+			retVal["BC_HeatingBoundaryTemperature"] = GenInputs.BC_HeatingBoundaryTemperature.AsDegCelsius;
+			retVal["BC_CoolingBoundaryTemperature"] = GenInputs.BC_CoolingBoundaryTemperature.AsDegCelsius;
+			retVal["BC_HighVentilation"] = GenInputs.BC_HighVentilation.ConvertToPerHour().Value;
+			retVal["BC_lowVentilation"] = GenInputs.BC_lowVentilation.ConvertToPerHour().Value;
+			retVal["BC_SpecificVentilationPower"] = GenInputs.BC_SpecificVentilationPower.ConvertToWattHourPerCubicMeter().Value;
+			retVal["BC_AuxHeaterEfficiency"] = GenInputs.BC_AuxHeaterEfficiency;
+			retVal["BC_GCVDieselOrHeatingOil"] = GenInputs.BC_GCVDieselOrHeatingOil.ConvertToKiloWattHourPerKilogramm().Value;
+			retVal["BC_MaxTemperatureDeltaForLowFloorBusses"] = GenInputs.BC_MaxTemperatureDeltaForLowFloorBusses.AsDegCelsius;
+			retVal["BC_MaxPossibleBenefitFromTechnologyList"] = GenInputs.BC_MaxPossibleBenefitFromTechnologyList;
+			retVal["EC_EnviromentalTemperature"] = GenInputs.EC_EnviromentalTemperature.AsDegCelsius;
+			retVal["EC_Solar"] = GenInputs.EC_Solar.Value();
+			retVal["EC_EnviromentalConditions_BatchFile"] = GenInputs.EC_EnviromentalConditions_BatchFile;
+			retVal["EC_EnviromentalConditions_BatchEnabled"] = GenInputs.EC_EnviromentalConditions_BatchEnabled;
+			retVal["AC_CompressorType"] = GenInputs.AC_CompressorType;
+			retVal["AC_CompressorCapacitykW"] = GenInputs.AC_CompressorCapacitykW.ConvertToKiloWatt().Value;
+			retVal["VEN_VentilationOnDuringHeating"] = GenInputs.VEN_VentilationOnDuringHeating;
+			retVal["VEN_VentilationWhenBothHeatingAndACInactive"] = GenInputs.VEN_VentilationWhenBothHeatingAndACInactive;
+			retVal["VEN_VentilationDuringAC"] = GenInputs.VEN_VentilationDuringAC;
+			retVal["VEN_VentilationFlowSettingWhenHeatingAndACInactive"] = GenInputs.VEN_VentilationFlowSettingWhenHeatingAndACInactive;
+			retVal["VEN_VentilationDuringHeating"] = GenInputs.VEN_VentilationDuringHeating;
+			retVal["VEN_VentilationDuringCooling"] = GenInputs.VEN_VentilationDuringCooling;
+			retVal["AH_EngineWasteHeatkW"] = GenInputs.AH_EngineWasteHeatkW.ConvertToKiloWatt().Value;
+			retVal["AH_FuelFiredHeaterkW"] = GenInputs.AH_FuelFiredHeaterkW.ConvertToKiloWatt().Value;
+			retVal["AH_FuelEnergyToHeatToCoolant"] = GenInputs.AH_FuelEnergyToHeatToCoolant;
+			retVal["AH_CoolantHeatTransferredToAirCabinHeater"] = GenInputs.AH_CoolantHeatTransferredToAirCabinHeater;
+
+			return retVal;
+		}
+
+		private List<object> SaveTechlist()
+		{
+			var retVal = new List<object>();
+
+			foreach (var line in TechList.TechLines) {
+				var tmp = new Dictionary<string, object>();
+				tmp["Units"] = line.Units;
+				tmp["Category"] = line.Category;
+				tmp["BenefitName"] = line.BenefitName;
+				tmp["LowFloorH"] = line.LowFloorH;
+				tmp["LowFloorV"] = line.LowFloorV;
+				tmp["LowFloorC"] = line.LowFloorC;
+				tmp["SemiLowFloorH"] = line.SemiLowFloorH;
+				tmp["SemiLowFloorV"] = line.SemiLowFloorV;
+				tmp["SemiLowFloorC"] = line.SemiLowFloorC;
+				tmp["RaisedFloorH"] = line.RaisedFloorH;
+				tmp["RaisedFloorV"] = line.RaisedFloorV;
+				tmp["RaisedFloorC"] = line.RaisedFloorC;
+				tmp["OnVehicle"] = line.OnVehicle;
+				tmp["ActiveVH"] = line.ActiveVH;
+				tmp["ActiveVV"] = line.ActiveVV;
+				tmp["ActiveVC"] = line.ActiveVC;
+				tmp["LineType"] = line.LineType;
+				retVal.Add(tmp);
+			}
+
+			return retVal;
+		}
+
+		public bool Load(string filePath)
+		{
+			var returnValue = true;
+			//var settings = new JsonSerializerSettings();
+			//SSMTOOL tmpAux; // = New SSMTOOL(filePath, HVACConstants)
+
+			//settings.TypeNameHandling = TypeNameHandling.Objects;
+
+			// JSON METHOD
+			try {
+				var json = JSONInputDataFactory.ReadFile(filePath);
+				var body = (JObject)json["Body"];
+
+				SSMDisabled = body.GetEx<bool>("SSMDisabled");
+				LoadGenInputs((JObject)body["GenInputs"]);
+				LoadTechList((JArray)body["TechList"]);
+				
+
+				//var output = File.ReadAllText(filePath);
+
+
+				//tmpAux = JsonConvert.DeserializeObject<SSMTOOL>(output, settings);
+
+				//tmpAux.TechList.SetSSMGeneralInputs(tmpAux.GenInputs);
+
+				//foreach (TechListBenefitLine tll in tmpAux.TechList.TechLines)
+
+				//	tll.inputSheet = tmpAux.GenInputs;
+
+
+				//// This is where we Assume values of loaded( Deserialized ) object.
+				//Clone(tmpAux);
+			} catch (Exception ) {
+
+				// Nothing to do except return false.
+
+				returnValue = false;
+			}
+
+			return returnValue;
+		}
+
+		private void LoadGenInputs(JObject genInput)
+		{
+			GenInputs.BC_GFactor = genInput.GetEx<double>("BC_GFactor");
+			GenInputs.BC_PassengerBoundaryTemperature = genInput.GetEx<double>("BC_PassengerBoundaryTemperature").DegCelsiusToKelvin();
+			GenInputs.BC_HeatingBoundaryTemperature = genInput.GetEx<double>("BC_HeatingBoundaryTemperature").DegCelsiusToKelvin();
+			GenInputs.BC_CoolingBoundaryTemperature = genInput.GetEx<double>("BC_CoolingBoundaryTemperature").DegCelsiusToKelvin();
+			GenInputs.BC_HighVentilation = genInput.GetEx<double>("BC_HighVentilation").SI(Unit.SI.Per.Hour).Cast<PerSecond>();
+			GenInputs.BC_lowVentilation = genInput.GetEx<double>("BC_lowVentilation").SI(Unit.SI.Per.Hour).Cast<PerSecond>();
+			GenInputs.BC_SpecificVentilationPower = genInput.GetEx<double>("BC_SpecificVentilationPower").SI(Unit.SI.Watt.Hour.Per.Cubic.Meter).Cast<JoulePerCubicMeter>();
+			GenInputs.BC_AuxHeaterEfficiency = genInput.GetEx<double>("BC_AuxHeaterEfficiency");
+			GenInputs.BC_GCVDieselOrHeatingOil = genInput.GetEx<double>("BC_GCVDieselOrHeatingOil").SI(Unit.SI.Kilo.Watt.Hour.Per.Kilo.Gramm).Cast<JoulePerKilogramm>();
+			GenInputs.BC_MaxTemperatureDeltaForLowFloorBusses = genInput.GetEx<double>("BC_MaxTemperatureDeltaForLowFloorBusses").SI<Kelvin>();
+			GenInputs.BC_MaxPossibleBenefitFromTechnologyList = genInput.GetEx<double>("BC_MaxPossibleBenefitFromTechnologyList");
+			GenInputs.EC_EnviromentalTemperature = genInput.GetEx<double>("EC_EnviromentalTemperature").DegCelsiusToKelvin();
+			GenInputs.EC_Solar = genInput.GetEx<double>("EC_Solar").SI<WattPerSquareMeter>();
+			GenInputs.EC_EnviromentalConditions_BatchFile = genInput.GetEx<string>("EC_EnviromentalConditions_BatchFile");
+			GenInputs.EC_EnviromentalConditions_BatchEnabled = genInput.GetEx<bool>("EC_EnviromentalConditions_BatchEnabled");
+			GenInputs.AC_CompressorType = genInput.GetEx<string>("AC_CompressorType");
+			GenInputs.AC_CompressorCapacitykW = genInput.GetEx<double>("AC_CompressorCapacitykW").SI(Unit.SI.Kilo.Watt).Cast<Watt>();
+			GenInputs.VEN_VentilationOnDuringHeating = genInput.GetEx<bool>("VEN_VentilationOnDuringHeating");
+			GenInputs.VEN_VentilationWhenBothHeatingAndACInactive = genInput.GetEx<bool>("VEN_VentilationWhenBothHeatingAndACInactive");
+			GenInputs.VEN_VentilationDuringAC = genInput.GetEx<bool>("VEN_VentilationDuringAC");
+			GenInputs.VEN_VentilationFlowSettingWhenHeatingAndACInactive = genInput.GetEx<string>("VEN_VentilationFlowSettingWhenHeatingAndACInactive");
+			GenInputs.VEN_VentilationDuringHeating = genInput.GetEx<string>("VEN_VentilationDuringHeating");
+			GenInputs.VEN_VentilationDuringCooling = genInput.GetEx<string>("VEN_VentilationDuringCooling");
+			GenInputs.AH_EngineWasteHeatkW = genInput.GetEx<double>("AH_EngineWasteHeatkW").SI(Unit.SI.Kilo.Watt).Cast<Watt>();
+			GenInputs.AH_FuelFiredHeaterkW = genInput.GetEx<double>("AH_FuelFiredHeaterkW").SI(Unit.SI.Kilo.Watt).Cast<Watt>();
+			GenInputs.AH_FuelEnergyToHeatToCoolant = genInput.GetEx<double>("AH_FuelEnergyToHeatToCoolant");
+			GenInputs.AH_CoolantHeatTransferredToAirCabinHeater = genInput.GetEx<double>("AH_CoolantHeatTransferredToAirCabinHeater");
+		}
+
+		private void LoadTechList(JArray tech)
+		{
+			TechList.TechLines.Clear();
+			foreach (var line in tech) {
+				//var line = entry.Value ;
+				var tmp = new TechListBenefitLine(GenInputs, line.GetEx<string>("Units"), line.GetEx<string>("Category"), line.GetEx<string>("BenefitName"),
+					line.GetEx<double>("LowFloorH"), line.GetEx<double>("LowFloorV"), line.GetEx<double>("LowFloorC"),
+					line.GetEx<double>("SemiLowFloorH"), line.GetEx<double>("SemiLowFloorV"), line.GetEx<double>("SemiLowFloorC"),
+					line.GetEx<double>("RaisedFloorH"), line.GetEx<double>("RaisedFloorV"), line.GetEx<double>("RaisedFloorC"),
+					line.GetEx<bool>("OnVehicle"), line.GetEx<string>("LineType").ParseEnum<TechLineType>(), line.GetEx<bool>("ActiveVH"), line.GetEx<bool>("ActiveVV"), line.GetEx<bool>("ActiveVC"));
+				TechList.TechLines.Add(tmp);
+			}
+		}
+
+		// Comparison
+		public bool IsEqualTo(ISSMTOOL source)
+		{
+
+			// In this methods we only want to compare the non Static , non readonly public properties of 
+			// The class's General, User Inputs and  Tech Benefit members.
+
+			return compareGenUserInputs(source) && compareTechListBenefitLines(source);
+		}
+
+		private bool compareGenUserInputs(ISSMTOOL source)
+		{
+			var src = (SSMTOOL)source;
+
+			var returnValue = true;
+
+			var properties = this.GenInputs.GetType().GetProperties();
+
+			foreach (var prop in properties) {
+
+				// If Not prop.GetAccessors.IsReadOnly Then
+				if (prop.CanWrite) {
+					if (!prop.GetValue(this.GenInputs, null/* TODO Change to default(_) if this is not a reference type */).Equals(prop.GetValue(src.GenInputs, null/* TODO Change to default(_) if this is not a reference type */)))
+						returnValue = false;
+				}
+			}
+
+			return returnValue;
+		}
+
+		private bool compareTechListBenefitLines(ISSMTOOL source)
+		{
+			var src = (SSMTOOL)source;
+
+			// Equal numbers of lines check
+			if (this.TechList.TechLines.Count != src.TechList.TechLines.Count)
+				return false;
+
+			foreach (var tl in this.TechList.TechLines.OrderBy(o => o.Category).ThenBy(n => n.BenefitName)) {
+
+				// First Check line exists in other
+				if (src.TechList.TechLines.Where(w => w.BenefitName == tl.BenefitName && w.Category == tl.Category).Count() != 1)
+					return false;
+				else {
+
+					// check are equal
+
+					var testLine = src.TechList.TechLines.First(w => w.BenefitName == tl.BenefitName && w.Category == tl.Category);
+
+					if (!testLine.IsEqualTo(tl))
+						return false;
+				}
+			}
+
+			// All Looks OK
+			return true;
+		}
+
+		// Overrides
+		public override string ToString()
+		{
+			var sb = new StringBuilder();
+
+			sb.AppendLine(Calculate.ToString());
+
+
+			return sb.ToString();
+		}
+
+		// Dynamicly Get Fuel having re-adjusted Engine Heat Waste, this was originally supposed to be Solid State. Late adjustment request 24/3/2015
+		public KilogramPerSecond FuelPerHBaseAsjusted(Watt AverageUseableEngineWasteHeatKW)
+		{
+			if (SSMDisabled)
+				return 0.SI<KilogramPerSecond>();
+
+			// Set Engine Waste Heat
+			GenInputs.AH_EngineWasteHeatkW = AverageUseableEngineWasteHeatKW;
+			var fba = FuelPerHBaseAdjusted;
+
+			// Dim FuelFiredWarning As Boolean = fba * GenInputs.BC_AuxHeaterEfficiency * HVACConstants.FuelDensity * GenInputs.BC_GCVDieselOrHeatingOil * 1000 > (AverageUseableEngineWasteHeatKW + GenInputs.AH_FuelFiredHeaterkW)
+
+			// If Not FuelFiredHeaterInsufficientWarned AndAlso FuelFiredWarning Then
+
+			// FuelFiredHeaterInsufficientWarned = True
+
+			// OnMessage(Me, " HVAC SSM : Fuel fired heater insufficient for heating requirements, run continues assuming it was sufficient.", AdvancedAuxiliaryMessageType.Warning)
+
+			// End If
+
+			return fba;
+		}
+
+		// Events
+		public event MessageEventHandler Message;
+
+		// Raise Message Event.
+		private void OnMessage(object sender, string message, AdvancedAuxiliaryMessageType messageType)
+		{
+			if (message != null) {
+				object ssmtool = this;
+				Message?.Invoke(ref ssmtool, message: message, messageType: messageType);
+			}
+		}
+	}
+}
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs
similarity index 97%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs
index e4fe9e701d..ebe7ca70be 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs
@@ -4,9 +4,9 @@ using System.Globalization;
 using System.IO;
 using System.Linq;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	// Used By SSMTOOL Class.
 	public class SSMTechList : ISSMTechList
@@ -15,7 +15,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		// Private Fields
 		private string filePath;
 		private ISSMGenInputs _ssmInputs;
-		private bool _dirty;
+		//private bool _dirty;
 
 		public List<ITechListBenefitLine> TechLines { get; set; }
 
@@ -96,7 +96,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 								var tbline = new TechListBenefitLine(_ssmInputs, elements[2], elements[0], elements[1], double.Parse(elements[3], CultureInfo.InvariantCulture), double.Parse(elements[4], CultureInfo.InvariantCulture), double.Parse(elements[5], CultureInfo.InvariantCulture), double.Parse(elements[6], CultureInfo.InvariantCulture), double.Parse(elements[7], CultureInfo.InvariantCulture), double.Parse(elements[8], CultureInfo.InvariantCulture), double.Parse(elements[9], CultureInfo.InvariantCulture), double.Parse(elements[10], CultureInfo.InvariantCulture), double.Parse(elements[11], CultureInfo.InvariantCulture), bool.Parse(elements[12]), elements[13].ParseEnum<TechLineType>(), bool.Parse(elements[14]), bool.Parse(elements[15]), bool.Parse(elements[16]));
 
 								TechLines.Add(tbline);
-							} catch (Exception ex) {
+							} catch (Exception ) {
 
 								// Indicate problems
 								returnStatus = false;
@@ -215,7 +215,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 					// Success
 					feedback = "OK";
-					_dirty = true;
+					//_dirty = true;
 					return true;
 				} else {
 
@@ -223,7 +223,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 					feedback = "The system was unable to add the new tech benefit list item.";
 					return false;
 				}
-			} catch (Exception ex) {
+			} catch (Exception ) {
 				feedback = "The system threw an exception and was unable to add the new tech benefit list item.";
 				return false;
 			}
@@ -232,7 +232,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		public void Clear()
 		{
 			if (TechLines.Count > 0)
-				_dirty = true;
+				//_dirty = true;
 
 			TechLines.Clear();
 		}
@@ -247,14 +247,14 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 					if (TechLines.Count == currentCount - 1) {
 						// This succeeded
-						_dirty = true;
+						//_dirty = true;
 						return true;
 					} else {
 						// No Exception, but this failed for some reason.
 						feedback = "The system was unable to remove the item from the list.";
 						return false;
 					}
-				} catch (Exception ex) {
+				} catch (Exception) {
 					feedback = "An exception occured, the removal failed.";
 					return false;
 				}
@@ -284,14 +284,14 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 					if (newItem == fi) {
 						// This succeeded
-						_dirty = true;
+						//_dirty = true;
 						return true;
 					} else {
 						// No Exception, but this failed for some reason.
 						feedback = "The system was unable to remove the item from the list.";
 						return false;
 					}
-				} catch (Exception ex) {
+				} catch (Exception ) {
 					feedback = "An exception occured, the update failed.";
 					return false;
 				}
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs
similarity index 64%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs
index 96ec989bc2..04195427c8 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs
@@ -1,6 +1,7 @@
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.Declaration;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	public enum PowerType
 	{
@@ -14,23 +15,23 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 	public class TechListBenefitLine : ITechListBenefitLine
 	{
-		private float _h, _vh, _vv, _vc, _c;
+		//private float _h, _vh, _vv, _vc, _c;
 		public ISSMGenInputs inputSheet;
 
 		public string Units { get; set; }
 		public string Category { get; set; }
 		public string BenefitName { get; set; }
-		public double LowFloorH { get; set; } = new double();
-		public double LowFloorV { get; set; } = new double();
-		public double LowFloorC { get; set; } = new double();
+		public double LowFloorH { get; set; }
+		public double LowFloorV { get; set; }
+		public double LowFloorC { get; set; }
 
-		public double SemiLowFloorH { get; set; } = new double();
-		public double SemiLowFloorV { get; set; } = new double();
-		public double SemiLowFloorC { get; set; } = new double();
+		public double SemiLowFloorH { get; set; }
+		public double SemiLowFloorV { get; set; }
+		public double SemiLowFloorC { get; set; }
 
-		public double RaisedFloorH { get; set; } = new double();
-		public double RaisedFloorV { get; set; } = new double();
-		public double RaisedFloorC { get; set; } = new double();
+		public double RaisedFloorH { get; set; }
+		public double RaisedFloorV { get; set; }
+		public double RaisedFloorC { get; set; }
 
 		public bool OnVehicle { get; set; }
 		public bool ActiveVH { get; set; }
@@ -48,17 +49,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 					return returnValue;
 
 				switch (inputSheet.BP_BusFloorType) {
-					case "low floor": {
+					case FloorType.LowFloor: {
 						returnValue = LowFloorH;
 						break;
 					}
 
-					case "semi low floor": {
+					case FloorType.SemiLowFloor: {
 						returnValue = SemiLowFloorH;
 						break;
 					}
 
-					case "raised floor": {
+					case FloorType.HighFloor: {
 						returnValue = RaisedFloorH;
 						break;
 					}
@@ -78,17 +79,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 				// Get floor value
 				switch (inputSheet.BP_BusFloorType) {
-					case "low floor": {
+					case FloorType.LowFloor: {
 						floorValue = LowFloorV;
 						break;
 					}
 
-					case "semi low floor": {
+					case FloorType.SemiLowFloor: {
 						floorValue = SemiLowFloorV;
 						break;
 					}
 
-					case "raised floor": {
+					case FloorType.HighFloor: {
 						floorValue = RaisedFloorV;
 						break;
 					}
@@ -112,17 +113,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 				// Get floor value
 				switch (inputSheet.BP_BusFloorType) {
-					case "low floor": {
+					case FloorType.LowFloor: {
 						floorValue = LowFloorV;
 						break;
 					}
 
-					case "semi low floor": {
+					case FloorType.SemiLowFloor: {
 						floorValue = SemiLowFloorV;
 						break;
 					}
 
-					case "raised floor": {
+					case FloorType.HighFloor: {
 						floorValue = RaisedFloorV;
 						break;
 					}
@@ -146,17 +147,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 				// Get floor value
 				switch (inputSheet.BP_BusFloorType) {
-					case "low floor": {
+					case FloorType.LowFloor: {
 						floorValue = LowFloorV;
 						break;
 					}
 
-					case "semi low floor": {
+					case FloorType.SemiLowFloor: {
 						floorValue = SemiLowFloorV;
 						break;
 					}
 
-					case "raised floor": {
+					case FloorType.HighFloor: {
 						floorValue = RaisedFloorV;
 						break;
 					}
@@ -179,17 +180,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 					return returnValue;
 
 				switch (inputSheet.BP_BusFloorType) {
-					case "low floor": {
+					case FloorType.LowFloor: {
 						returnValue = LowFloorC;
 						break;
 					}
 
-					case "semi low floor": {
+					case FloorType.SemiLowFloor: {
 						returnValue = SemiLowFloorC;
 						break;
 					}
 
-					case "raised floor": {
+					case FloorType.HighFloor: {
 						returnValue = RaisedFloorC;
 						break;
 					}
@@ -244,9 +245,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				op1.RaisedFloorH == op2.RaisedFloorH && op1.RaisedFloorV == op2.RaisedFloorV && op1.OnVehicle == op2.OnVehicle &&
 				op1.Units == op2.Units)) {
 				return true;
-			} else {
-				return false;
 			}
+
+			return false;
 		}
 
 		public static bool operator !=(TechListBenefitLine op1, TechListBenefitLine op2)
@@ -257,12 +258,69 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				op1.SemiLowFloorC != op2.SemiLowFloorC || op1.SemiLowFloorH != op2.SemiLowFloorH ||
 				op1.SemiLowFloorV != op2.SemiLowFloorV || op1.RaisedFloorC != op2.RaisedFloorC ||
 				op1.RaisedFloorH != op2.RaisedFloorH || op1.RaisedFloorV != op2.RaisedFloorV || op1.OnVehicle != op2.OnVehicle ||
-				op1.Units != op2.Units))
+				op1.Units != op2.Units)) {
+				return true;
+			}
+
+			return false;
+		}
+
+		#region Equality members
+
+		protected bool Equals(TechListBenefitLine other)
+		{
+			return Equals(inputSheet, other.inputSheet) && string.Equals(Units, other.Units) &&
+					string.Equals(Category, other.Category) && string.Equals(BenefitName, other.BenefitName) &&
+					LowFloorH.Equals(other.LowFloorH) && LowFloorV.Equals(other.LowFloorV) && LowFloorC.Equals(other.LowFloorC) &&
+					SemiLowFloorH.Equals(other.SemiLowFloorH) && SemiLowFloorV.Equals(other.SemiLowFloorV) &&
+					SemiLowFloorC.Equals(other.SemiLowFloorC) && RaisedFloorH.Equals(other.RaisedFloorH) &&
+					RaisedFloorV.Equals(other.RaisedFloorV) && RaisedFloorC.Equals(other.RaisedFloorC) &&
+					OnVehicle == other.OnVehicle && ActiveVH == other.ActiveVH && ActiveVV == other.ActiveVV &&
+					ActiveVC == other.ActiveVC && LineType == other.LineType;
+		}
+
+		public override bool Equals(object obj)
+		{
+			if (ReferenceEquals(null, obj)) {
+				return false;
+			}
+			if (ReferenceEquals(this, obj)) {
 				return true;
-			else
+			}
+			if (obj.GetType() != GetType()) {
 				return false;
+			}
+
+			return Equals((TechListBenefitLine)obj);
 		}
 
+		public override int GetHashCode()
+		{
+			unchecked {
+				var hashCode = (inputSheet != null ? inputSheet.GetHashCode() : 0);
+				hashCode = (hashCode * 397) ^ (Units != null ? Units.GetHashCode() : 0);
+				hashCode = (hashCode * 397) ^ (Category != null ? Category.GetHashCode() : 0);
+				hashCode = (hashCode * 397) ^ (BenefitName != null ? BenefitName.GetHashCode() : 0);
+				hashCode = (hashCode * 397) ^ LowFloorH.GetHashCode();
+				hashCode = (hashCode * 397) ^ LowFloorV.GetHashCode();
+				hashCode = (hashCode * 397) ^ LowFloorC.GetHashCode();
+				hashCode = (hashCode * 397) ^ SemiLowFloorH.GetHashCode();
+				hashCode = (hashCode * 397) ^ SemiLowFloorV.GetHashCode();
+				hashCode = (hashCode * 397) ^ SemiLowFloorC.GetHashCode();
+				hashCode = (hashCode * 397) ^ RaisedFloorH.GetHashCode();
+				hashCode = (hashCode * 397) ^ RaisedFloorV.GetHashCode();
+				hashCode = (hashCode * 397) ^ RaisedFloorC.GetHashCode();
+				hashCode = (hashCode * 397) ^ OnVehicle.GetHashCode();
+				hashCode = (hashCode * 397) ^ ActiveVH.GetHashCode();
+				hashCode = (hashCode * 397) ^ ActiveVV.GetHashCode();
+				hashCode = (hashCode * 397) ^ ActiveVC.GetHashCode();
+				hashCode = (hashCode * 397) ^ (int)LineType;
+				return hashCode;
+			}
+		}
+
+		#endregion
+
 		public void CloneFrom(ITechListBenefitLine source)
 		{
 			this.Units = source.Units;
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs
similarity index 96%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs
index 34971ea499..6da7cfb33a 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs
@@ -1,9 +1,8 @@
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
-
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class M06Impl : AbstractModule, IM6
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs
similarity index 92%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs
index c0ef9161e5..5ae4a86387 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs
@@ -1,9 +1,8 @@
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
-
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class M07Impl : AbstractModule, IM7
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs
similarity index 91%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs
index 91450b4caa..23cfd36fb7 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs
@@ -1,9 +1,8 @@
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
-
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class M08Impl : AbstractModule, IM8
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs
similarity index 93%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs
index 3e169e84c0..5367e676c4 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs
@@ -1,11 +1,11 @@
 using System;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
-
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class M09Impl : AbstractModule, IM9
 	{
@@ -49,7 +49,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
 
 		#region Implementation of IAuxiliaryEvent
 
-		public event AuxiliaryEventEventHandler AuxiliaryEvent;
+		//public event AuxiliaryEventEventHandler AuxiliaryEvent;
 
 		#endregion
 
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs
similarity index 93%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs
index 34568bcd74..870b6ddfe1 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs
@@ -1,10 +1,9 @@
 using System;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
-
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class M10Impl : AbstractModule, IM10
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs
similarity index 95%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs
index f33dbe6889..41059ef31a 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs
@@ -1,9 +1,9 @@
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
-
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class M11Impl : AbstractModule, IM11
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs
similarity index 93%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs
index 560cad0a8d..a03a3f5f30 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs
@@ -1,9 +1,8 @@
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
-
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class M12Impl : AbstractModule, IM12
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs
similarity index 88%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs
index 36275ddaef..4f636fcd02 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs
@@ -1,9 +1,8 @@
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
-
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 
 
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs
similarity index 78%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs
index 0ed0e7d710..c786e2b714 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs
@@ -1,10 +1,9 @@
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 
-
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class M14Impl : AbstractModule, IM14
 	{
@@ -32,7 +31,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl
 			var s3 = s2 * SSM.GenInputs.AH_CoolantHeatTransferredToAirCabinHeater;
 			var s4 = s3 / Signals.CurrentCycleTimeInSeconds.SI<Second>();
 			var s5 = Signals.CurrentCycleTimeInSeconds.SI<Second>(); // ' / 3600
-			var s6 = (s5 * SSM.FuelPerHBaseAsjusted(s4.Value() / 1000).SI(Unit.SI.Liter.Per.Hour)).Cast<Liter>() * Constants.FuelDensity;
+			var s6 = s5 * SSM.FuelPerHBaseAsjusted(s4); // * Constants.FuelDensity;
 			var s7 = M13.WHTCTotalCycleFuelConsumptionGrams + s6;
 			var s8 = (s7 / (Constants.FuelDensity)).Cast<Liter>();
 			_totalCycleFcGrams = s7;
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs
similarity index 95%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs
index 2502c4c62a..b057cbd962 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs
@@ -15,17 +15,17 @@ using System.Globalization;
 using System.IO;
 using System.Linq;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
 {
 	/// <summary>
 	/// 	''' Compressor Flow Rate and Power Map
 	/// 	''' </summary>
 	/// 	''' <remarks></remarks>
-	public class CompressorMap : ICompressorMap, IAuxiliaryEvent
+	public class CompressorMap : ICompressorMap //, IAuxiliaryEvent
 	{
 		private readonly string filePath;
 		private double _averagePowerDemandPerCompressorUnitFlowRateLitresperSec;
@@ -263,7 +263,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
 
 		#region Implementation of IAuxiliaryEvent
 
-		public event AuxiliaryEventEventHandler AuxiliaryEvent;
+		//public event AuxiliaryEventEventHandler AuxiliaryEvent;
 
 		#endregion
 	}
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs
similarity index 95%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs
index 37bac7d7f1..2edcbf7c30 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs
@@ -1,9 +1,10 @@
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
 {
 	public class M03Impl : AbstractModule, IM3_AveragePneumaticLoadDemand
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs
similarity index 88%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs
index c7289b03f3..e0137e9c24 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs
@@ -1,10 +1,10 @@
 using System;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
 {
 	public class M04Impl : AbstractModule, IM4_AirCompressor
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs
similarity index 94%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs
index a847261b78..4e24003563 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs
@@ -13,9 +13,9 @@ using System;
 using System.Collections.Generic;
 using System.Globalization;
 using System.IO;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
 {
 	public class PneumaticActuationsMap : IPneumaticActuationsMAP
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs
similarity index 95%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs
index 753411043f..67b0de133c 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
 {
 	public class PneumaticUserInputsConfig : IPneumaticUserInputsConfig
 	{
diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs
similarity index 96%
rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs
index c377393eb3..cbd79f5a66 100644
--- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
 {
 	public class PneumaticsAuxilliariesConfig : IPneumaticsAuxilliariesConfig
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs
similarity index 87%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs
index 9ae644a922..08b3fc28dd 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
 {
 	// Used by the Combined Alternator Form/Classes to accept user input for the combined alternators efficiency
 	// At different Current Demands
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs
similarity index 71%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs
index 80d81c06fd..615e1d3772 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs
@@ -1,4 +1,4 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
 {
 	// Originally was going to hold more than one value type.
 	public struct AlternatorMapValues
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs
similarity index 88%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs
index ac6d1e76ac..bacd8618ec 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs
@@ -1,4 +1,4 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
 {
 	public class ElectricConstants
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs
similarity index 90%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs
index 8ffccdbe39..c9f51a57cd 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs
@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
 {
 	public class Table4Row
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs
similarity index 87%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs
index a7a7fa87c6..fb5878b0c8 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
 {
 	public interface IAlternatorMap : IAuxiliaryEvent
 	{
@@ -27,7 +27,8 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
 		/// 	Returns the alternator efficiency at given rpm
 		/// 	</summary>
 		/// 	<param name="rpm">alternator rotation speed</param>
-		/// 	<returns>Single</returns>
+		/// <param name="amps"></param>
+		/// <returns>Single</returns>
 		/// 	<remarks></remarks>
 		AlternatorMapValues GetEfficiency(double rpm, Ampere amps);
 	}
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs
similarity index 71%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs
index 48329d6d08..1e7d07d420 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs
@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
 {
 	public interface ICombinedAlternator
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs
similarity index 75%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs
index f375cbbd5e..4c661608b5 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs
@@ -1,4 +1,4 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
 {
 	// Reflects stored data in pesisted CombinedAlternator Map .AALT
 	public interface ICombinedAlternatorMapRow
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs
similarity index 72%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs
index 725f5316bb..45b605ffcb 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs
@@ -1,6 +1,6 @@
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
 {
 	// Used by CombinedAlternator
 	public interface ICombinedAlternatorSignals
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs
new file mode 100644
index 0000000000..3c97ddaeb5
--- /dev/null
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs
@@ -0,0 +1,8 @@
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
+{
+	public enum TechLineType
+	{
+		Normal,
+		HVCActiveSelection
+	}
+}
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs
similarity index 51%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs
index 408b4434ef..57359471b3 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs
@@ -1,11 +1,12 @@
 using System.Collections.Generic;
+using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
 {
 	public interface IEnvironmentalCondition
 	{
-		double GetTemperature();
-		double GetSolar();
+		Kelvin GetTemperature();
+		WattPerSquareMeter GetSolar();
 		double GetWeighting();
 		double GetNormalisedWeighting(List<IEnvironmentalCondition> map);
 	}
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs
similarity index 68%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs
index 6b45aa1633..ef43c2dc9f 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs
@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
 {
 	public interface IEnvironmentalConditionsMap
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs
similarity index 77%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs
index e8ba4fa7ae..928ff8167f 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs
@@ -1,6 +1,6 @@
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
 {
 	public interface IHVACConstants
 	{
@@ -20,6 +20,6 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
 		/// 	<remarks></remarks>
 		KilogramPerCubicMeter FuelDensity { get; }
 
-		double FuelDensityAsGramPerLiter { get; }
+		//double FuelDensityAsGramPerLiter { get; }
 	}
 }
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs
similarity index 91%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs
index e90485e89c..44b335a6c7 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs
@@ -1,4 +1,4 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
 {
 	public interface IHVACSteadyStateModel
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs
similarity index 54%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs
index 2517041bef..acc05f4a01 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs
@@ -1,4 +1,6 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
+using TUGraz.VectoCommon.Utils;
+
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
 {
 	public interface ISSMCalculate
 	{
@@ -6,33 +8,33 @@
 		//ISSMRun Run2 { get; set; }
 
 
-		double ElectricalWBase { get; }
-		double MechanicalWBase { get; }
-		double FuelPerHBase { get; }
+		Watt ElectricalWBase { get; }
+		Watt MechanicalWBase { get; }
+		KilogramPerSecond FuelPerHBase { get; }
 
-		double ElectricalWAdjusted { get; }
-		double MechanicalWBaseAdjusted { get; }
-		double FuelPerHBaseAdjusted { get; }
+		Watt ElectricalWAdjusted { get; }
+		Watt MechanicalWBaseAdjusted { get; }
+		KilogramPerSecond FuelPerHBaseAdjusted { get; }
 
 
 		// BaseValues
 		// - Heating
-		double BaseHeatingW_Mechanical { get; }
-		double BaseHeatingW_ElectricalCoolingHeating { get; }
-		double BaseHeatingW_ElectricalVentilation { get; }
-		double BaseHeatingW_FuelFiredHeating { get; }
+		Watt BaseHeatingW_Mechanical { get; }
+		Watt BaseHeatingW_ElectricalCoolingHeating { get; }
+		Watt BaseHeatingW_ElectricalVentilation { get; }
+		Watt BaseHeatingW_FuelFiredHeating { get; }
 
 		// Cooling                                                    
-		double BaseCoolingW_Mechanical { get; }
-		double BaseCoolingW_ElectricalCoolingHeating { get; }
-		double BaseCoolingW_ElectricalVentilation { get; }
-		double BaseCoolingW_FuelFiredHeating { get; }
+		Watt BaseCoolingW_Mechanical { get; }
+		Watt BaseCoolingW_ElectricalCoolingHeating { get; }
+		Watt BaseCoolingW_ElectricalVentilation { get; }
+		Watt BaseCoolingW_FuelFiredHeating { get; }
 
 		// Cooling
-		double BaseVentilationW_Mechanical { get; }
-		double BaseVentilationW_ElectricalCoolingHeating { get; }
-		double BaseVentilationW_ElectricalVentilation { get; }
-		double BaseVentilationW_FuelFiredHeating { get; }
+		Watt BaseVentilationW_Mechanical { get; }
+		Watt BaseVentilationW_ElectricalCoolingHeating { get; }
+		Watt BaseVentilationW_ElectricalVentilation { get; }
+		Watt BaseVentilationW_FuelFiredHeating { get; }
 
 
 		// TechListBenefits
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs
new file mode 100644
index 0000000000..6bedf4ce2f
--- /dev/null
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs
@@ -0,0 +1,77 @@
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.Declaration;
+
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
+{
+	public interface ISSMGenInputs
+	{
+
+		// Bus Parameterisation	
+		string BP_BusModel { get;  }
+		double BP_NumberOfPassengers { get;  }
+		FloorType BP_BusFloorType { get;  }
+		bool BP_DoubleDecker { get;  }
+		Meter BP_BusLength { get;  }
+		Meter BP_BusWidth { get;  }
+		Meter BP_BusHeight { get;  }
+
+		SquareMeter BP_BusFloorSurfaceArea { get; }
+		SquareMeter BP_BusWindowSurface { get; }
+		SquareMeter BP_BusSurfaceAreaM2 { get; }
+		CubicMeter BP_BusVolume { get; }
+
+		// Boundary Conditions:			
+		double BC_GFactor { get; set; }
+		double BC_SolarClouding { get; }
+		Watt BC_HeatPerPassengerIntoCabinW { get; }
+		Kelvin BC_PassengerBoundaryTemperature { get; set; }
+		PerSquareMeter BC_PassengerDensityLowFloor { get; }
+		PerSquareMeter BC_PassengerDensitySemiLowFloor { get; }
+		PerSquareMeter BC_PassengerDensityRaisedFloor { get; }
+		double BC_CalculatedPassengerNumber { get; }
+		WattPerKelvinSquareMeter BC_UValues { get; }
+		Kelvin BC_HeatingBoundaryTemperature { get; set; }
+		Kelvin BC_CoolingBoundaryTemperature { get; set; }
+		Kelvin BC_TemperatureCoolingTurnsOff { get; }
+		PerSecond BC_HighVentilation { get; set; }
+		PerSecond BC_lowVentilation { get; set; }
+		CubicMeterPerSecond BC_High { get; }
+		CubicMeterPerSecond BC_Low { get; }
+		Watt BC_HighVentPowerW { get; }
+		Watt BC_LowVentPowerW { get; }
+		JoulePerCubicMeter BC_SpecificVentilationPower { get; set; }
+		double BC_AuxHeaterEfficiency { get; set; }
+		JoulePerKilogramm BC_GCVDieselOrHeatingOil { get; set; }
+		SquareMeterPerMeter BC_WindowAreaPerUnitBusLength { get; }
+		SquareMeter BC_FrontRearWindowArea { get; }
+		Kelvin BC_MaxTemperatureDeltaForLowFloorBusses { get; set; }
+		double BC_MaxPossibleBenefitFromTechnologyList { get; set; }
+
+		// EnviromentalConditions				
+		Kelvin EC_EnviromentalTemperature { get; set; }
+		WattPerSquareMeter EC_Solar { get; set; }
+		IEnvironmentalConditionsMap EC_EnvironmentalConditionsMap { get; }
+		string EC_EnviromentalConditions_BatchFile { get; set; }
+		bool EC_EnviromentalConditions_BatchEnabled { get; set; }
+
+		// AC-system				            
+		string AC_CompressorType { get; set; }
+		string AC_CompressorTypeDerived { get; }
+		Watt AC_CompressorCapacitykW { get; set; }
+		double AC_COP { get; }
+
+		// Ventilation				
+		bool VEN_VentilationOnDuringHeating { get; set; }
+		bool VEN_VentilationWhenBothHeatingAndACInactive { get; set; }
+		bool VEN_VentilationDuringAC { get; set; }
+		string VEN_VentilationFlowSettingWhenHeatingAndACInactive { get; set; }
+		string VEN_VentilationDuringHeating { get; set; }
+		string VEN_VentilationDuringCooling { get; set; }
+
+		// Aux. Heater				
+		Watt AH_EngineWasteHeatkW { get; set; }
+		Watt AH_FuelFiredHeaterkW { get; set; }
+		double AH_FuelEnergyToHeatToCoolant { get; set; }
+		double AH_CoolantHeatTransferredToAirCabinHeater { get; set; }
+	}
+}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs
new file mode 100644
index 0000000000..03252aedf9
--- /dev/null
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs
@@ -0,0 +1,18 @@
+using TUGraz.VectoCommon.Utils;
+
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
+{
+	public interface ISSMRun
+	{
+		double HVACOperation { get; }
+		Kelvin TCalc { get; }
+		Kelvin TemperatureDelta { get; }
+		Watt QWall { get; }
+		Watt WattsPerPass { get; }
+		Watt Solar { get; }
+		Watt TotalW { get; }
+		//double TotalKW { get; }
+		Watt FuelW { get; }
+		Watt TechListAmendedFuelW { get; }
+	}
+}
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs
similarity index 57%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs
index c0e58df2b6..af7377ec4c 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs
@@ -1,4 +1,6 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC {
+using TUGraz.VectoCommon.Utils;
+
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC {
 	public interface ISSMTOOL
 	{
 		ISSMGenInputs GenInputs { get; set; }
@@ -7,15 +9,15 @@
 		bool SSMDisabled { get; set; }
 		IHVACConstants HVACConstants { get; set; }
 
-		double ElectricalWBase { get; } // Watt
-		double MechanicalWBase { get; } // Watt
-		double FuelPerHBase { get; } // LiterPerHour
+		Watt ElectricalWBase { get; } // Watt
+		Watt MechanicalWBase { get; } // Watt
+		KilogramPerSecond FuelPerHBase { get; } // LiterPerHour
 
-		double ElectricalWAdjusted { get; } // Watt
-		double MechanicalWBaseAdjusted { get; } // Watt
-		double FuelPerHBaseAdjusted { get; } // LiterPerHour
+		Watt ElectricalWAdjusted { get; } // Watt
+		Watt MechanicalWBaseAdjusted { get; } // Watt
+		KilogramPerSecond FuelPerHBaseAdjusted { get; } // LiterPerHour
 
-		void Clone(ISSMTOOL from);
+		//void Clone(ISSMTOOL from);
 
 		bool Load(string filePath);
 
@@ -29,7 +31,7 @@
 		/// <param name="AverageUseableEngineWasteHeatKW"></param>
 		/// <returns></returns>
 		/// <remarks></remarks>
-		double FuelPerHBaseAsjusted(double AverageUseableEngineWasteHeatKW);
+		KilogramPerSecond FuelPerHBaseAsjusted(Watt AverageUseableEngineWasteHeatKW);
 
 		event MessageEventHandler Message;
 
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs
similarity index 91%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs
index 253e8cfc51..371233c117 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs
@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
 {
 	public interface ISSMTechList
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs
similarity index 90%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs
index e776bea651..778bc5b63d 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs
@@ -1,4 +1,4 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC {
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC {
 	public interface ITechListBenefitLine
 	{
 		string Units { get; set; }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs
new file mode 100644
index 0000000000..4169795e01
--- /dev/null
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs
@@ -0,0 +1,6 @@
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules {
+	public interface IAbstractModule
+	{
+		void ResetCalculations();
+	}
+}
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs
similarity index 95%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs
index 2a7fa8c63e..2ef577b218 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM0_5_SmartAlternatorSetEfficiency : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs
similarity index 93%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs
index 8dd5cd1f4d..e4a96301b6 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM0_NonSmart_AlternatorsSetEfficiency : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs
similarity index 93%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs
index 36c6a950d6..59ab857bc1 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM10 : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs
similarity index 97%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs
index 787fffd74a..c871320d96 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM11 : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs
similarity index 91%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs
index 1252568221..6e6d790f78 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs
@@ -12,7 +12,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM13 : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs
similarity index 67%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs
index bd06c88fef..54e8e26083 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs
@@ -1,6 +1,6 @@
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM14 : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs
similarity index 91%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs
index d04ec8a01c..c462d97c82 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM1_AverageHVACLoadDemand : IAbstractModule
 	{
@@ -42,6 +42,6 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
 		/// 	</summary>
 		/// 	<returns>Litres Per Hour</returns>
 		/// 	<remarks></remarks>
-		LiterPerSecond HVACFuelingLitresPerHour();
+		KilogramPerSecond HVACFuelingLitresPerHour();
 	}
 }
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs
similarity index 90%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs
index 0a427d74bd..fa08bff7b7 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM2_AverageElectricalLoadDemand : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs
similarity index 91%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs
index f45b6cf6ad..caddb6b158 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM3_AveragePneumaticLoadDemand : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs
similarity index 96%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs
index 1248b8a518..19c0e93281 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM4_AirCompressor : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs
similarity index 94%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs
index 50d8998b1b..5747028307 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM5_SmartAlternatorSetGeneration : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs
similarity index 97%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs
index bfbdcd7dfb..08cc7c1cc3 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM6 : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs
similarity index 95%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs
index 95656f3895..11653f6775 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM7 : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs
similarity index 94%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs
index ae97c00319..c56d04b3ed 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs
@@ -12,7 +12,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
 	public interface IM8 : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs
similarity index 93%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs
index d840df6d9e..be52066a63 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs
@@ -11,9 +11,9 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 {
-	public interface IM9 : IAuxiliaryEvent, IAbstractModule
+	public interface IM9 : IAbstractModule // ,IAuxiliaryEvent
 	{
 
 		/// <summary>
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs
similarity index 93%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs
index 6abe470365..4033b51918 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs
@@ -11,7 +11,7 @@
 
 using System;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem
 {
 	public class ActuationsKey
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs
similarity index 91%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs
index 4cee1360c2..b26ad46aea 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs
@@ -11,9 +11,9 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem
 {
-	public interface ICompressorMap : IAuxiliaryEvent
+	public interface ICompressorMap //: IAuxiliaryEvent
 	{
 
 		/// <summary>
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs
similarity index 87%
rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs
index 37cd7dea73..0a7e050059 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs
@@ -10,7 +10,7 @@
 // See the LICENSE.txt for the specific language governing permissions and limitations.
 
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem
 {
 	public interface IPneumaticActuationsMAP
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/Enumerations.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Enumerations.cs
similarity index 60%
rename from VECTOAux/BusAuxiliaries/Interfaces/Enumerations.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Enumerations.cs
index ea4fa8b4fc..9ddadd5960 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/Enumerations.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Enumerations.cs
@@ -1,4 +1,4 @@
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces {
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces {
 	public enum AdvancedAuxiliaryMessageType
 	{
 		Information = 1,
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs
similarity index 92%
rename from VECTOAux/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs
index ce122663cf..e3ba54d8c3 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs
@@ -10,8 +10,9 @@
 // See the LICENSE.txt for the specific language governing permissions and limitations.
 
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces {
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces {
 
 	//public delegate void AuxiliaryEventEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType);
 
@@ -89,13 +90,13 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces {
 		/// <remarks></remarks>
 		ISignals Signals { get; set; }
 
-		/// <summary>
-		/// Configure Auxuliaries ( Launches Config Form )
-		/// </summary>
-		/// <param name="filePath"></param>
-		/// <param name="vectoFilePath"></param>
-		/// <returns></returns>
-		/// <remarks></remarks>
+		///// <summary>
+		///// Configure Auxuliaries ( Launches Config Form )
+		///// </summary>
+		///// <param name="filePath"></param>
+		///// <param name="vectoFilePath"></param>
+		///// <returns></returns>
+		///// <remarks></remarks>
 		//bool Configure(string filePath, string vectoFilePath);
 
 		/// <summary>
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs
similarity index 92%
rename from VECTOAux/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs
index 7d47c4fab4..92956c16ad 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs
@@ -9,7 +9,7 @@
 // 
 // See the LICENSE.txt for the specific language governing permissions and limitations.
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces {
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces {
 	public interface IAuxiliaryEvent
 	{
 		event AuxiliaryEventEventHandler AuxiliaryEvent;
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/IM12.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IM12.cs
similarity index 90%
rename from VECTOAux/BusAuxiliaries/Interfaces/IM12.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IM12.cs
index 1e4390d565..f9017b2072 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/IM12.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IM12.cs
@@ -10,9 +10,9 @@
 // See the LICENSE.txt for the specific language governing permissions and limitations.
 
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces
 {
 	public interface IM12 : IAbstractModule
 	{
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/ISignals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/ISignals.cs
similarity index 98%
rename from VECTOAux/BusAuxiliaries/Interfaces/ISignals.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/ISignals.cs
index 92a2a4a0bd..60a7a74b1c 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/ISignals.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/ISignals.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces {
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces {
 	public interface ISignals
 	{
 		/// <summary>
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/Signals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Signals.cs
similarity index 96%
rename from VECTOAux/BusAuxiliaries/Interfaces/Signals.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Signals.cs
index f10eecce83..ecaad3a2b0 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/Signals.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Signals.cs
@@ -11,7 +11,7 @@
 
 using TUGraz.VectoCommon.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces {
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces {
 	public class Signals : ISignals
 	{
 
diff --git a/VECTOAux/BusAuxiliaries/Interfaces/VectoInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/VectoInputs.cs
similarity index 95%
rename from VECTOAux/BusAuxiliaries/Interfaces/VectoInputs.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/VectoInputs.cs
index 4f6339a4fa..e64b56e220 100644
--- a/VECTOAux/BusAuxiliaries/Interfaces/VectoInputs.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/VectoInputs.cs
@@ -11,8 +11,9 @@
 
 using Newtonsoft.Json;
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces {
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces {
 	public class VectoInputs : IVectoInputs
 	{
 
diff --git a/VECTOAux/BusAuxiliaries/Legacy/cDelaunayMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs
similarity index 99%
rename from VECTOAux/BusAuxiliaries/Legacy/cDelaunayMap.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs
index 7efd9ea13b..f53e202c2b 100644
--- a/VECTOAux/BusAuxiliaries/Legacy/cDelaunayMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs
@@ -54,7 +54,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
 			try {
 				DT = new dTriangulation();
 				lDT = DT.Triangulate(ptList);
-			} catch (Exception ex) {
+			} catch (Exception ) {
 				return false;
 			}
 
@@ -85,7 +85,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
 				try {
 					DT = new dTriangulation();
 					lDTXZ = DT.Triangulate(ptListXZ);
-				} catch (Exception ex) {
+				} catch (Exception ) {
 					return false;
 				}
 
diff --git a/VECTOAux/BusAuxiliaries/Legacy/cFile_V3.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs
similarity index 95%
rename from VECTOAux/BusAuxiliaries/Legacy/cFile_V3.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs
index 15e41ec7f2..ae1cd8155c 100644
--- a/VECTOAux/BusAuxiliaries/Legacy/cFile_V3.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs
@@ -12,9 +12,9 @@
 using System;
 using System.IO;
 using Microsoft.VisualBasic.FileIO;
-using TUGraz.VectoCore.BusAuxiliaries.Util;
+using TUGraz.VectoCore.Models.BusAuxiliaries.Util;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Legacy {
 	public class cFile_V3
 	{
 		private TextFieldParser TxtFldParser;
@@ -59,7 +59,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
 			try {
 				TxtFldParser = new TextFieldParser(Path, System.Text.Encoding.Default);
 				FileOpen = true;
-			} catch (Exception ex) {
+			} catch (Exception ) {
 				return false;
 			}
 			TxtFldParser.TextFieldType = FieldType.Delimited;
@@ -136,7 +136,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
 				}
 				StrWrter = new StreamWriter(File.OpenWrite(Path), FileFormat);
 				FileOpen = true;
-			} catch (Exception ex) {
+			} catch (Exception ) {
 				return false;
 			}
 			StrWrter.AutoFlush = AutoFlush;
diff --git a/VECTOAux/BusAuxiliaries/Legacy/Class1.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs
similarity index 82%
rename from VECTOAux/BusAuxiliaries/Legacy/Class1.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs
index e51920eb4d..b5ca005ad4 100644
--- a/VECTOAux/BusAuxiliaries/Legacy/Class1.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs
@@ -14,8 +14,9 @@ using System.Collections.Generic;
 using System.Globalization;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.BusAuxiliaries.Interfaces;
+using TUGraz.VectoCore.Utils;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Legacy {
 	public class cMAP : IFuelConsumptionMap
 	{
 		private List<float> LnU;
@@ -25,7 +26,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
 		private string sFilePath;
 		private int iMapDim;
 
-		private cDelaunayMap FuelMap;
+		private DelaunayMap FuelMap;
 
 		private void ResetMe()
 		{
@@ -33,7 +34,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
 			LTq = null;
 			LnU = null;
 			iMapDim = -1;
-			FuelMap = new cDelaunayMap();
+			FuelMap = new DelaunayMap("SomeMap");
 		}
 
 		public bool ReadFile(bool ShowMsg = true)
@@ -41,10 +42,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
 			cFile_V3 file;
 			string[] line;
 			float nU;
-			string MsgSrc;
+			//string MsgSrc;
 
 
-			MsgSrc = "Main/ReadInp/MAP";
+			//MsgSrc = "Main/ReadInp/MAP";
 
 			// Reset
 			ResetMe();
@@ -64,9 +65,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
 			file.ReadLine();
 
 			// Initi Lists (before version check so ReadOldFormat works)
-			lFC = new System.Collections.Generic.List<float>();
-			LTq = new System.Collections.Generic.List<float>();
-			LnU = new System.Collections.Generic.List<float>();
+			lFC = new List<float>();
+			LTq = new List<float>();
+			LnU = new List<float>();
 
 			try {
 				while (!file.EndOfFile) {
@@ -95,7 +96,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
 
 					lFC.Add(System.Convert.ToSingle(line[2]));
 				}
-			} catch (Exception ex) {
+			} catch (Exception ) {
 				goto lbEr;
 			}
 
@@ -120,28 +121,29 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
 		{
 			int i;
 
-			string MsgSrc;
+			//string MsgSrc;
 
-			MsgSrc = "MAP/Norm";
+			//MsgSrc = "MAP/Norm";
 
 			// FC Delauney
 			for (i = 0; i <= iMapDim; i++)
-				FuelMap.AddPoints(LnU[i], LTq[i], lFC[i]);
+				FuelMap.AddPoint(LnU[i], LTq[i], lFC[i]);
 
-			return FuelMap.Triangulate();
+			FuelMap.Triangulate();
+			return true;
 		}
 
 
-		public float fFCdelaunay_Intp(float nU, float Tq)
+		public double fFCdelaunay_Intp(float nU, float Tq)
 		{
-			float val;
-
-			val = System.Convert.ToSingle(FuelMap.Intpol(nU, Tq));
+			
+			var val = FuelMap.Interpolate(nU, Tq);
 
-			if (FuelMap.ExtrapolError)
+			if (val == null) {
 				return -10000;
-			else
-				return val;
+			}
+
+			return val.Value;
 		}
 
 
diff --git a/VECTOAux/BusAuxiliaries/Util/FilePathUtils.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Util/FilePathUtils.cs
similarity index 98%
rename from VECTOAux/BusAuxiliaries/Util/FilePathUtils.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/Util/FilePathUtils.cs
index 34385bbcfe..529d1a23ae 100644
--- a/VECTOAux/BusAuxiliaries/Util/FilePathUtils.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Util/FilePathUtils.cs
@@ -2,7 +2,7 @@
 using System.IO;
 using System.Linq;
 
-namespace TUGraz.VectoCore.BusAuxiliaries.Util {
+namespace TUGraz.VectoCore.Models.BusAuxiliaries.Util {
 	public class FilePathUtils
 	{
 
diff --git a/VectoCore/VectoCore/Models/Declaration/FloorType.cs b/VectoCore/VectoCore/Models/Declaration/FloorType.cs
new file mode 100644
index 0000000000..53c5f7b44e
--- /dev/null
+++ b/VectoCore/VectoCore/Models/Declaration/FloorType.cs
@@ -0,0 +1,9 @@
+namespace TUGraz.VectoCore.Models.Declaration {
+	public enum FloorType
+	{
+		Unknown = 0,
+		LowFloor,
+		HighFloor,
+		SemiLowFloor, // no longer required?
+	}
+}
\ No newline at end of file
-- 
GitLab