From f44d495e9329cdd126154d29d38e5a2034813460 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Wed, 30 Oct 2019 17:52:30 +0100
Subject: [PATCH] remove bus database, remove unused signals (alternator),
 cleeanup comments, remove derivedcompressortype, use enum for compressortype

---
 .vs/config/applicationhost.config             | 1030 +++++++++++++++++
 VECTO/BusAuxiliaries/UI/frmAuxiliaryConfig.vb |   40 +-
 .../UI/frmCombinedAlternators.vb              |    4 +-
 VECTO/BusAuxiliaries/UI/frmHVACTool.vb        |   42 +-
 .../IntegrationTests/AuxDemandTest.vb         |   15 +-
 .../Mocks/MockFuel50PC.vb                     |    5 +
 .../VectoAuxiliariesTests/TestFiles/ssm.Ahsm  |    2 +-
 .../AveragePneumaticLoadDemandTests.vb        |   25 +-
 .../UnitTests/BusDatabaseTests.vb             |  228 ----
 .../UnitTests/CombinedAlternatorTests.vb      |   42 +-
 .../UnitTests/ElectricalConsumerTests.vb      |   88 +-
 .../UnitTests/M10Tests.vb                     |    3 +-
 .../UnitTests/M12Tests.vb                     |    3 +-
 .../UnitTests/M14Tests.vb                     |    7 +-
 .../M1_AverageHVACLoadDemandTests.vb          |    8 +-
 .../M2_AverageElectricalLoadTests.vb          |    2 +-
 .../UnitTests/PneumaticActuationsMapTests.vb  |   16 +-
 .../UnitTests/SSMTOOLTests.vb                 |  136 ++-
 .../VectoAuxiliariesTests/UnitTests/Utils.vb  |    5 +-
 .../VectoAuxiliariesTests.vbproj              |    1 -
 ...aticActuationsMap.cs => IActuationsMap.cs} |    2 +-
 .../BusAuxiliaries/IAlternatorMap.cs          |    4 +-
 .../BusAuxiliaries/IAuxiliaryConfig.cs        |    5 +-
 .../BusAuxiliaries/IFuelConsumptionMap.cs     |    1 +
 .../BusAuxiliaries/IFuelProperties.cs         |   24 +
 .../VectoCommon/BusAuxiliaries/ISSMInputs.cs  |   51 +-
 .../BusAuxiliaries/ISSMTechList.cs            |    2 +-
 ...chListBenefitLine.cs => ISSMTechnology.cs} |   10 +-
 .../VectoCommon/BusAuxiliaries/SmartResult.cs |    9 +-
 VectoCommon/VectoCommon/VectoCommon.csproj    |    5 +-
 .../VectoCore/Configuration/Constants.cs      |    1 -
 .../FileIO/JSON/BusAuxiliaryInputData.cs      |   17 +-
 .../FileIO/JSON/JSONComponentInputData.cs     |    1 -
 .../InputData/FileIO/JSON/JSONVehicleData.cs  |    1 -
 .../InputData/FileIO/JSON/SSMInputData.cs     |    7 +-
 .../FileIO/XML/Common/AbstractXMLResource.cs  |    1 -
 .../AbstractCommonComponentType.cs            |    2 -
 .../XMLDeclarationADASDataProvider.cs         |    1 -
 .../XMLDeclarationAngledriveDataProvider.cs   |    3 +-
 .../XMLDeclarationAuxiliariesDataProvider.cs  |    1 -
 .../XMLDeclarationGearboxDataProvider.cs      |    1 -
 .../XMLDeclarationInputDataProvider.cs        |    7 -
 .../Factory/IDeclarationInjectFactory.cs      |    1 -
 .../Interfaces/IXMLDeclarationVehicleData.cs  |    2 -
 .../XMLDeclarationInputDataV10InjectModule.cs |    1 -
 .../XMLDeclarationInputDataV20InjectModule.cs |    1 -
 .../XMLDeclarationInputDataV21InjectModule.cs |    1 -
 .../XMLDeclarationInputDataV22InjectModule.cs |    1 -
 .../XMLDeclarationReaderInjectModule.cs       |    2 -
 .../Reader/Impl/XMLComponentReader.cs         |    1 -
 .../Reader/Impl/XMLDeclarationInputReader.cs  |    1 -
 .../Reader/Impl/XMLJobDataReader.cs           |    3 +-
 .../AbstractCommonComponentType.cs            |    5 -
 .../DataProvider/XMLCyclesDataProvider.cs     |    1 -
 .../DataProvider/XMLDriverAcceleration.cs     |    1 -
 .../XMLEngineeringAuxiliariesDataProvider.cs  |    1 -
 .../XMLEngineeringDriverDataProvider.cs       |    1 -
 .../XMLEngineeringDriverLookAhead.cs          |    1 -
 .../XMLEngineeringEngineDataProvider.cs       |    1 -
 .../XMLEngineeringGearboxDataProvider.cs      |    1 -
 .../XMLEngineeringGearshiftData.cs            |    1 -
 .../XMLEngineeringInputDataProvider.cs        |    1 -
 .../XMLEngineeringJobInputDataProvider.cs     |    1 -
 .../DataProvider/XMLEngineeringOverspeed.cs   |    2 -
 .../XMLEngineeringReaderInjectModule.cs       |    5 -
 .../XMLEngineeringReaderTestOverrides.cs      |    1 -
 .../XMLEngineeringReaderV07InjectModule.cs    |    1 -
 .../XMLEngineeringReaderV10InjectModule.cs    |    4 +-
 .../Reader/IXMLDriverDataReader.cs            |    1 -
 .../FileIO/XML/XMLInputDataNinjectModule.cs   |    3 +-
 .../XMLReports/XMLManufacturerReportReader.cs |    1 -
 ...onsMapReader.cs => ActuationsMapReader.cs} |   10 +-
 .../Reader/ComponentData/AlternatorReader.cs  |   33 -
 .../ComponentData/CompressorMapReader.cs      |    3 +-
 .../ComponentData/ElectricConsumerReader.cs   |    1 -
 .../EnvironmentalContidionsMapReader.cs       |    6 +-
 .../ComponentData/FuelConsumptionMapReader.cs |    1 +
 ...fitsReader.cs => SSMTechnologiesReader.cs} |   14 +-
 .../AbstractSimulationDataAdapter.cs          |    1 -
 .../DeclarationDataAdapter.cs                 |    6 +-
 .../EngineeringVTPModeVectoRunDataFactory.cs  |    3 -
 .../BusAuxiliaries/AdvancedAuxiliaries.cs     |   43 +-
 .../Models/BusAuxiliaries/AuxiliaryConfig.cs  |  164 +--
 .../Impl/Electrics/Alternator.cs              |   37 +-
 .../Impl/Electrics/AlternatorMap.cs           |   15 +-
 .../Impl/Electrics/CombinedAlternator.cs      |   64 +-
 .../Electrics/CombinedAlternatorMapRow.cs     |   29 +-
 .../Electrics/CombinedAlternatorSignals.cs    |   16 -
 .../Impl/Electrics/ElectricalConsumerList.cs  |  117 +-
 .../Electrics/ElectricsUserInputsConfig.cs    |   21 -
 .../Impl/Electrics/M00Impl.cs                 |   15 +-
 .../Impl/Electrics/M02Impl.cs                 |    4 +-
 .../Impl/Electrics/M0_1Impl.cs                |    3 +-
 .../Impl/Electrics/M0_5Impl.cs                |    9 +-
 .../Impl/Electrics/ResultCard.cs              |  110 +-
 .../DownstreamModules/Impl/HVAC/Bus.cs        |  207 ----
 .../Impl/HVAC/BusDatabase.cs                  |  136 ---
 .../Impl/HVAC/BusEngineType.cs                |    9 -
 .../HVAC/EnvironmentalConditionMapEntry.cs    |    5 +-
 .../Impl/HVAC/EnvironmentalConditionsMap.cs   |    9 +-
 .../Impl/HVAC/HVACConstants.cs                |   62 -
 .../Impl/HVAC/HVACUserInputsConfig.cs         |   33 -
 .../DownstreamModules/Impl/HVAC/IBus.cs       |   16 -
 .../Impl/HVAC/IBusDatabase.cs                 |   17 -
 .../DownstreamModules/Impl/HVAC/M01Impl.cs    |   35 +-
 .../Impl/HVAC/SSMCalculate.cs                 |   80 +-
 .../DownstreamModules/Impl/HVAC/SSMInputs.cs  |  131 +--
 .../DownstreamModules/Impl/HVAC/SSMRun.cs     |   36 +-
 .../DownstreamModules/Impl/HVAC/SSMTOOL.cs    |   21 -
 .../Impl/HVAC/SSMTechList.cs                  |  119 +-
 ...echListBenefitLine.cs => SSMTechnology.cs} |   75 +-
 .../DownstreamModules/Impl/M06Impl.cs         |    1 -
 .../DownstreamModules/Impl/M07Impl.cs         |    3 +-
 .../DownstreamModules/Impl/M08Impl.cs         |    9 +-
 .../DownstreamModules/Impl/M09Impl.cs         |   15 +-
 .../DownstreamModules/Impl/M10Impl.cs         |   17 +-
 .../DownstreamModules/Impl/M11Impl.cs         |   22 +-
 .../DownstreamModules/Impl/M12Impl.cs         |   11 +-
 .../DownstreamModules/Impl/M13Impl.cs         |    8 +-
 .../DownstreamModules/Impl/M14Impl.cs         |   22 +-
 ...maticActuationsMap.cs => ActuationsMap.cs} |    4 +-
 .../Impl/Pneumatics/CompressorMap.cs          |    6 +-
 .../Impl/Pneumatics/M03Impl.cs                |   21 +-
 .../Impl/Pneumatics/M04Impl.cs                |    1 -
 .../Pneumatics/PneumaticUserInputsConfig.cs   |   25 -
 .../PneumaticsAuxilliariesConfig.cs           |   22 -
 .../Electrics/IAlternator.cs                  |    6 +-
 .../Electrics/ICombinedAlternatorSignals.cs   |   12 -
 .../DownstreamModules/HVAC/Class1.cs          |    8 -
 .../Interfaces/IAdvancedAuxiliaries.cs        |    3 +-
 .../BusAuxiliaries/Legacy/cDelaunayMap.cs     |  476 --------
 .../Models/BusAuxiliaries/Legacy/cFile_V3.cs  |  175 ---
 .../Models/BusAuxiliaries/Legacy/cMAP.cs      |  194 ----
 .../Models/Declaration/DeclarationData.cs     |   16 +-
 .../VectoCore/Models/Declaration/FuelData.cs  |   60 +-
 .../Models/Declaration/StandardBodies.cs      |    1 -
 .../Models/Declaration/WeightingGroups.cs     |    1 -
 .../Models/Simulation/Impl/ExemptedRun.cs     |    1 -
 .../Simulation/Impl/PowertrainBuilder.cs      |    2 -
 .../SimulationComponent/Data/AuxiliaryData.cs |    1 -
 .../Data/CombustionEngineData.cs              |    3 +-
 .../Data/CrosswindCorrectionCdxALookup.cs     |    1 -
 .../SimulationComponent/Data/DriverData.cs    |    1 -
 .../Data/Engine/FuelConsumptionMap.cs         |   12 +-
 .../Data/Engine/WHRPowerMap.cs                |    1 -
 .../Data/Gearbox/TorqueConverterData.cs       |    1 -
 .../Impl/BusAuxiliariesAdapter.cs             |   11 +-
 .../Impl/CombustionEngine.cs                  |   12 +-
 .../Models/SimulationComponent/Impl/Driver.cs |    1 -
 .../Impl/MeasuredSpeedDrivingCycle.cs         |    1 -
 .../Impl/PTOCycleController.cs                |    1 -
 .../Impl/StopStartCombustionEngine.cs         |    2 +-
 .../Impl/TorqueConverter.cs                   |    1 -
 .../Impl/VTPCombustionEngine.cs               |    5 +-
 .../SimulationComponent/Impl/VTPCycle.cs      |    2 -
 .../VectoCore/Ninject/VectoNinjectModule.cs   |    2 -
 .../VectoCore/OutputData/DeclarationReport.cs |    3 +-
 .../OutputData/FileIO/BusAuxWriter.cs         |    2 +-
 .../OutputData/FileIO/JSONFileWriter.cs       |    8 -
 .../OutputData/FileIO/ShiftPolygonExport.cs   |    1 -
 .../OutputData/IModalDataContainer.cs         |   14 +-
 .../OutputData/ModalDataContainer.cs          |   15 +-
 .../OutputData/SummaryDataContainer.cs        |    3 +-
 .../OutputData/XML/AttributeMappings.cs       |    2 -
 .../XMLEngineeringWriterInjectModule.cs       |    4 -
 .../OutputData/XML/XMLCustomerReport.cs       |    1 -
 .../OutputData/XML/XMLDeclarationReport.cs    |    6 +-
 .../OutputData/XML/XMLDeclarationWriter.cs    |    1 -
 .../OutputData/XML/XMLManufacturerReport.cs   |    1 -
 .../OutputData/XML/XMLMonitoringReport.cs     |    2 -
 .../VectoCore/Utils/DataIntegrityHelper.cs    |    1 -
 VectoCore/VectoCore/Utils/XMLDefinitions.cs   |    2 -
 VectoCore/VectoCore/Utils/XMLValidator.cs     |    4 -
 VectoCore/VectoCore/VectoCore.csproj          |   18 +-
 .../BusAuxiliaries/AuxDemandTest.cs           |    1 +
 .../FuelConsumptionMapTest.cs                 |    1 +
 .../VectoCoreTest/Reports/ModDataTest.cs      |    9 +-
 .../VectoCoreTest/Reports/SumWriterTest.cs    |    5 +-
 .../Utils/MockModalDataContainer.cs           |   13 +-
 .../XML/XMLDeclarationInputTest.cs            |    2 +-
 .../XML/XMLEngineeringInputRefTest.cs         |    2 +-
 .../XML/XMLEngineeringInputSingleTest.cs      |    2 +-
 182 files changed, 1661 insertions(+), 3283 deletions(-)
 create mode 100644 .vs/config/applicationhost.config
 delete mode 100644 VECTOAux/VectoAuxiliariesTests/UnitTests/BusDatabaseTests.vb
 rename VectoCommon/VectoCommon/BusAuxiliaries/{IPneumaticActuationsMap.cs => IActuationsMap.cs} (94%)
 create mode 100644 VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs
 rename VectoCommon/VectoCommon/BusAuxiliaries/{ITechListBenefitLine.cs => ISSMTechnology.cs} (77%)
 rename VectoCore/VectoCore/InputData/Reader/ComponentData/{PneumaticActuationsMapReader.cs => ActuationsMapReader.cs} (84%)
 rename VectoCore/VectoCore/InputData/Reader/ComponentData/{HVACTechBenefitsReader.cs => SSMTechnologiesReader.cs} (86%)
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs
 rename VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/{TechListBenefitLine.cs => SSMTechnology.cs} (76%)
 rename VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/{PneumaticActuationsMap.cs => ActuationsMap.cs} (88%)
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs
 delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs

diff --git a/.vs/config/applicationhost.config b/.vs/config/applicationhost.config
new file mode 100644
index 0000000000..b42cd34a95
--- /dev/null
+++ b/.vs/config/applicationhost.config
@@ -0,0 +1,1030 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    IIS configuration sections.
+
+    For schema documentation, see
+    %IIS_BIN%\config\schema\IIS_schema.xml.
+    
+    Please make a backup of this file before making any changes to it.
+
+    NOTE: The following environment variables are available to be used
+          within this file and are understood by the IIS Express.
+
+          %IIS_USER_HOME% - The IIS Express home directory for the user
+          %IIS_SITES_HOME% - The default home directory for sites
+          %IIS_BIN% - The location of the IIS Express binaries
+          %SYSTEMDRIVE% - The drive letter of %IIS_BIN%
+
+-->
+
+<configuration>
+
+    <!--
+
+        The <configSections> section controls the registration of sections.
+        Section is the basic unit of deployment, locking, searching and
+        containment for configuration settings.
+        
+        Every section belongs to one section group.
+        A section group is a container of logically-related sections.
+        
+        Sections cannot be nested.
+        Section groups may be nested.
+        
+        <section
+            name=""  [Required, Collection Key] [XML name of the section]
+            allowDefinition="Everywhere" [MachineOnly|MachineToApplication|AppHostOnly|Everywhere] [Level where it can be set]
+            overrideModeDefault="Allow"  [Allow|Deny] [Default delegation mode]
+            allowLocation="true"  [true|false] [Allowed in location tags]
+        />
+        
+        The recommended way to unlock sections is by using a location tag:
+        <location path="Default Web Site" overrideMode="Allow">
+            <system.webServer>
+                <asp />
+            </system.webServer>
+        </location>
+
+    -->
+    <configSections>
+        <sectionGroup name="system.applicationHost">
+            <section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+        </sectionGroup>
+
+        <sectionGroup name="system.webServer">
+            <section name="asp" overrideModeDefault="Deny" />
+            <section name="caching" overrideModeDefault="Allow" />
+            <section name="cgi" overrideModeDefault="Deny" />
+            <section name="defaultDocument" overrideModeDefault="Allow" />
+            <section name="directoryBrowse" overrideModeDefault="Allow" />
+            <section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="handlers" overrideModeDefault="Deny" />
+            <section name="httpCompression" overrideModeDefault="Allow" />
+            <section name="httpErrors" overrideModeDefault="Allow" />
+            <section name="httpLogging" overrideModeDefault="Deny" />
+            <section name="httpProtocol" overrideModeDefault="Allow" />
+            <section name="httpRedirect" overrideModeDefault="Allow" />
+            <section name="httpTracing" overrideModeDefault="Deny" />
+            <section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
+            <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
+            <section name="applicationInitialization" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
+            <section name="odbcLogging" overrideModeDefault="Deny" />
+            <sectionGroup name="security">
+                <section name="access" overrideModeDefault="Deny" />
+                <section name="applicationDependencies" overrideModeDefault="Deny" />
+                <sectionGroup name="authentication">
+                    <section name="anonymousAuthentication" overrideModeDefault="Deny" />
+                    <section name="basicAuthentication" overrideModeDefault="Deny" />
+                    <section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" />
+                    <section name="digestAuthentication" overrideModeDefault="Deny" />
+                    <section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" />
+                    <section name="windowsAuthentication" overrideModeDefault="Deny" />
+                </sectionGroup>
+                <section name="authorization" overrideModeDefault="Allow" />
+                <section name="ipSecurity" overrideModeDefault="Deny" />
+                <section name="dynamicIpSecurity" overrideModeDefault="Deny" />
+                <section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+                <section name="requestFiltering" overrideModeDefault="Allow" />
+            </sectionGroup>
+            <section name="serverRuntime" overrideModeDefault="Deny" />
+            <section name="serverSideInclude" overrideModeDefault="Deny" />
+            <section name="staticContent" overrideModeDefault="Allow" />
+            <sectionGroup name="tracing">
+                <section name="traceFailedRequests" overrideModeDefault="Allow" />
+                <section name="traceProviderDefinitions" overrideModeDefault="Deny" />
+            </sectionGroup>
+            <section name="urlCompression" overrideModeDefault="Allow" />
+            <section name="validation" overrideModeDefault="Allow" />
+            <sectionGroup name="webdav">
+                <section name="globalSettings" overrideModeDefault="Deny" />
+                <section name="authoring" overrideModeDefault="Deny" />
+                <section name="authoringRules" overrideModeDefault="Deny" />
+            </sectionGroup>
+            <sectionGroup name="rewrite">
+                <section name="allowedServerVariables" overrideModeDefault="Deny" />
+                <section name="rules" overrideModeDefault="Allow" />
+                <section name="outboundRules" overrideModeDefault="Allow" />
+                <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
+                <section name="providers" overrideModeDefault="Allow" />
+                <section name="rewriteMaps" overrideModeDefault="Allow" />
+            </sectionGroup>
+            <section name="webSocket" overrideModeDefault="Deny" />
+        </sectionGroup>
+    </configSections>
+
+    <configProtectedData>
+        <providers>
+            <add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
+            <add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAAKmFQvWHDEETRz8l2bjZlRxIkwcqTFaCUnCLljn3Q1OkesrhEO9YyLyx4bUhsj1/DyShAv7OAFFhXlrlomaornnk5PLeyO4lIXxaiT33yOFUUgxDx4GSaygkqghVV0tO5yQ/XguUBp2juMfZyztnsNa4pLcz7ZNZQ6p4yn9hxwNs=" />
+            <add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA4WoiRJ8KHwzAG8AgejPxEOO4/2Vhkolbwo/8gZeNdUDSD36m55hWv4uC9tr/MlKdnwRLL0NhT50Gccyftqz5xTZ0dg5FtvQhTw/he1NwexTKbV+I4Zrd+sZUqHZTsr7JiEr6OHGXL70qoISW5G2m9U8wKT3caPiDPNj2aAaYPLo=" />
+        </providers>
+    </configProtectedData>
+
+    <system.applicationHost>
+
+        <applicationPools>
+            <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
+            <add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
+            <add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
+            <add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
+            <add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" />
+            <applicationPoolDefaults managedRuntimeLoader="v4.0" >
+                <processModel/>
+            </applicationPoolDefaults>
+        </applicationPools>
+
+        <!--
+
+          The <listenerAdapters> section defines the protocols with which the
+          Windows Process Activation Service (WAS) binds.
+
+        -->
+        <listenerAdapters>
+            <add name="http" />
+        </listenerAdapters>
+
+        <sites>
+            <site name="WebSite1" id="1" serverAutoStart="true">
+                <application path="/">
+                    <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
+                </application>
+                <bindings>
+                    <binding protocol="http" bindingInformation=":8080:localhost" />
+                </bindings>
+            </site>
+            <siteDefaults>
+                <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
+                <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
+            </siteDefaults>
+            <applicationDefaults applicationPool="Clr4IntegratedAppPool" />
+            <virtualDirectoryDefaults allowSubDirConfig="true" />
+        </sites>
+
+        <webLimits />
+
+    </system.applicationHost>
+
+    <system.webServer>
+
+        <serverRuntime />
+
+        <asp scriptErrorSentToBrowser="true">
+            <cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" />
+            <limits />
+        </asp>
+
+        <caching enabled="true" enableKernelCache="true">
+        </caching>
+
+        <cgi />
+
+        <defaultDocument enabled="true">
+            <files>
+                <add value="Default.htm" />
+                <add value="Default.asp" />
+                <add value="index.htm" />
+                <add value="index.html" />
+                <add value="iisstart.htm" />
+                <add value="default.aspx" />
+            </files>
+        </defaultDocument>
+
+        <directoryBrowse enabled="false" />
+
+        <fastCgi />
+
+        <!--
+
+          The <globalModules> section defines all native-code modules.
+          To enable a module, specify it in the <modules> section.
+
+        -->
+        <globalModules>
+            <add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />
+            <add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" />
+<!--            <add name="FileCacheModule" image="%IIS_BIN%\cachfile.dll" />  -->
+            <add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" />
+<!--            <add name="HttpCacheModule" image="%IIS_BIN%\cachhttp.dll" /> -->
+            <add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" />
+            <add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" />
+            <add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" />
+            <add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" />
+            <add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" />
+            <add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" />
+            <add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" />
+            <add name="StaticFileModule" image="%IIS_BIN%\static.dll" />
+            <add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" />
+            <add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" />
+            <add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" />
+            <add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" />
+            <add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" />
+<!--            <add name="DigestAuthenticationModule" image="%IIS_BIN%\authmd5.dll" /> -->
+            <add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" />
+            <add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" />
+            <add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" />
+            <add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" />
+            <add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" />
+            <add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" />
+<!--            <add name="TracingModule" image="%IIS_BIN%\iisetw.dll" /> -->
+            <add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" />
+            <add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" />
+            <add name="IsapiModule" image="%IIS_BIN%\isapi.dll" />
+            <add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" />
+            <add name="CgiModule" image="%IIS_BIN%\cgi.dll" />
+            <add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" />
+<!--            <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> -->
+            <add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" />
+            <add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" />
+            <add name="WebSocketModule" image="%IIS_BIN%\iiswsock.dll" />
+            <add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" />
+            <add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
+            <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" />
+            <add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
+            <add name="ManagedEngineV4.0_64bit" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
+            <add name="ApplicationInitializationModule" image="%IIS_BIN%\warmup.dll" />
+        </globalModules>
+
+        <httpCompression directory="%TEMP%\iisexpress\IIS Temporary Compressed Files">
+            <scheme name="gzip" dll="%IIS_BIN%\gzip.dll" />
+            <dynamicTypes>
+                <add mimeType="text/*" enabled="true" />
+                <add mimeType="message/*" enabled="true" />
+                <add mimeType="application/javascript" enabled="true" />
+                <add mimeType="application/atom+xml" enabled="true" />
+                <add mimeType="application/xaml+xml" enabled="true" />
+                <add mimeType="*/*" enabled="false" />
+            </dynamicTypes>
+            <staticTypes>
+                <add mimeType="text/*" enabled="true" />
+                <add mimeType="message/*" enabled="true" />
+                <add mimeType="image/svg+xml" enabled="true" />
+                <add mimeType="application/javascript" enabled="true" />
+                <add mimeType="application/atom+xml" enabled="true" />
+                <add mimeType="application/xaml+xml" enabled="true" />
+                <add mimeType="*/*" enabled="false" />
+            </staticTypes>
+        </httpCompression>
+
+        <httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
+            <error statusCode="401" prefixLanguageFilePath="%IIS_BIN%\custerr" path="401.htm" />
+            <error statusCode="403" prefixLanguageFilePath="%IIS_BIN%\custerr" path="403.htm" />
+            <error statusCode="404" prefixLanguageFilePath="%IIS_BIN%\custerr" path="404.htm" />
+            <error statusCode="405" prefixLanguageFilePath="%IIS_BIN%\custerr" path="405.htm" />
+            <error statusCode="406" prefixLanguageFilePath="%IIS_BIN%\custerr" path="406.htm" />
+            <error statusCode="412" prefixLanguageFilePath="%IIS_BIN%\custerr" path="412.htm" />
+            <error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" />
+            <error statusCode="501" prefixLanguageFilePath="%IIS_BIN%\custerr" path="501.htm" />
+            <error statusCode="502" prefixLanguageFilePath="%IIS_BIN%\custerr" path="502.htm" />
+        </httpErrors>
+
+        <httpLogging dontLog="false" />
+
+        <httpProtocol>
+            <customHeaders>
+                <clear />
+                <add name="X-Powered-By" value="ASP.NET" />
+            </customHeaders>
+            <redirectHeaders>
+                <clear />
+            </redirectHeaders>
+        </httpProtocol>
+
+        <httpRedirect enabled="false" />
+
+        <httpTracing>
+        </httpTracing>
+
+        <isapiFilters>
+            <filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" />
+            <filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" />
+            <filter name="ASP.Net_2.0_for_v1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" />
+            <filter name="ASP.Net_4.0_32bit" path="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv4.0" />
+            <filter name="ASP.Net_4.0_64bit" path="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv4.0" />
+        </isapiFilters>
+
+        <odbcLogging />
+
+        <security>
+
+            <access sslFlags="None" />
+
+            <applicationDependencies>
+                <application name="Active Server Pages" groupId="ASP" />
+            </applicationDependencies>
+
+            <authentication>
+
+                <anonymousAuthentication enabled="true" userName="" />
+
+                <basicAuthentication enabled="false" />
+
+                <clientCertificateMappingAuthentication enabled="false" />
+
+                <digestAuthentication enabled="false" />
+
+                <iisClientCertificateMappingAuthentication enabled="false">
+                </iisClientCertificateMappingAuthentication>
+
+                <windowsAuthentication enabled="false">
+                    <providers>
+                        <add value="Negotiate" />
+                        <add value="NTLM" />
+                    </providers>
+                </windowsAuthentication>
+
+            </authentication>
+
+            <authorization>
+                <add accessType="Allow" users="*" />
+            </authorization>
+
+            <ipSecurity allowUnlisted="true" />
+
+            <isapiCgiRestriction notListedIsapisAllowed="true" notListedCgisAllowed="true">
+                <add path="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" />
+                <add path="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" />
+                <add path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" />
+                <add path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" />
+            </isapiCgiRestriction>
+
+            <requestFiltering>
+                <fileExtensions allowUnlisted="true" applyToWebDAV="true">
+                    <add fileExtension=".asa" allowed="false" />
+                    <add fileExtension=".asax" allowed="false" />
+                    <add fileExtension=".ascx" allowed="false" />
+                    <add fileExtension=".master" allowed="false" />
+                    <add fileExtension=".skin" allowed="false" />
+                    <add fileExtension=".browser" allowed="false" />
+                    <add fileExtension=".sitemap" allowed="false" />
+                    <add fileExtension=".config" allowed="false" />
+                    <add fileExtension=".cs" allowed="false" />
+                    <add fileExtension=".csproj" allowed="false" />
+                    <add fileExtension=".vb" allowed="false" />
+                    <add fileExtension=".vbproj" allowed="false" />
+                    <add fileExtension=".webinfo" allowed="false" />
+                    <add fileExtension=".licx" allowed="false" />
+                    <add fileExtension=".resx" allowed="false" />
+                    <add fileExtension=".resources" allowed="false" />
+                    <add fileExtension=".mdb" allowed="false" />
+                    <add fileExtension=".vjsproj" allowed="false" />
+                    <add fileExtension=".java" allowed="false" />
+                    <add fileExtension=".jsl" allowed="false" />
+                    <add fileExtension=".ldb" allowed="false" />
+                    <add fileExtension=".dsdgm" allowed="false" />
+                    <add fileExtension=".ssdgm" allowed="false" />
+                    <add fileExtension=".lsad" allowed="false" />
+                    <add fileExtension=".ssmap" allowed="false" />
+                    <add fileExtension=".cd" allowed="false" />
+                    <add fileExtension=".dsprototype" allowed="false" />
+                    <add fileExtension=".lsaprototype" allowed="false" />
+                    <add fileExtension=".sdm" allowed="false" />
+                    <add fileExtension=".sdmDocument" allowed="false" />
+                    <add fileExtension=".mdf" allowed="false" />
+                    <add fileExtension=".ldf" allowed="false" />
+                    <add fileExtension=".ad" allowed="false" />
+                    <add fileExtension=".dd" allowed="false" />
+                    <add fileExtension=".ldd" allowed="false" />
+                    <add fileExtension=".sd" allowed="false" />
+                    <add fileExtension=".adprototype" allowed="false" />
+                    <add fileExtension=".lddprototype" allowed="false" />
+                    <add fileExtension=".exclude" allowed="false" />
+                    <add fileExtension=".refresh" allowed="false" />
+                    <add fileExtension=".compiled" allowed="false" />
+                    <add fileExtension=".msgx" allowed="false" />
+                    <add fileExtension=".vsdisco" allowed="false" />
+                    <add fileExtension=".rules" allowed="false" />
+                </fileExtensions>
+                <verbs allowUnlisted="true" applyToWebDAV="true" />
+                <hiddenSegments applyToWebDAV="true">
+                    <add segment="web.config" />
+                    <add segment="bin" />
+                    <add segment="App_code" />
+                    <add segment="App_GlobalResources" />
+                    <add segment="App_LocalResources" />
+                    <add segment="App_WebReferences" />
+                    <add segment="App_Data" />
+                    <add segment="App_Browsers" />
+                </hiddenSegments>
+            </requestFiltering>
+
+        </security>
+
+        <serverSideInclude ssiExecDisable="false" />
+
+        <staticContent lockAttributes="isDocFooterFileName">
+            <mimeMap fileExtension=".323" mimeType="text/h323" />
+            <mimeMap fileExtension=".3g2" mimeType="video/3gpp2" />
+            <mimeMap fileExtension=".3gp2" mimeType="video/3gpp2" />
+            <mimeMap fileExtension=".3gp" mimeType="video/3gpp" />
+            <mimeMap fileExtension=".3gpp" mimeType="video/3gpp" />
+            <mimeMap fileExtension=".aac" mimeType="audio/aac" />
+            <mimeMap fileExtension=".aaf" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".aca" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".accdb" mimeType="application/msaccess" />
+            <mimeMap fileExtension=".accde" mimeType="application/msaccess" />
+            <mimeMap fileExtension=".accdt" mimeType="application/msaccess" />
+            <mimeMap fileExtension=".acx" mimeType="application/internet-property-stream" />
+            <mimeMap fileExtension=".adt" mimeType="audio/vnd.dlna.adts" />
+            <mimeMap fileExtension=".adts" mimeType="audio/vnd.dlna.adts" />
+            <mimeMap fileExtension=".afm" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".ai" mimeType="application/postscript" />
+            <mimeMap fileExtension=".aif" mimeType="audio/x-aiff" />
+            <mimeMap fileExtension=".aifc" mimeType="audio/aiff" />
+            <mimeMap fileExtension=".aiff" mimeType="audio/aiff" />
+            <mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" />
+            <mimeMap fileExtension=".application" mimeType="application/x-ms-application" />
+            <mimeMap fileExtension=".art" mimeType="image/x-jg" />
+            <mimeMap fileExtension=".asd" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".asf" mimeType="video/x-ms-asf" />
+            <mimeMap fileExtension=".asi" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".asm" mimeType="text/plain" />
+            <mimeMap fileExtension=".asr" mimeType="video/x-ms-asf" />
+            <mimeMap fileExtension=".asx" mimeType="video/x-ms-asf" />
+            <mimeMap fileExtension=".atom" mimeType="application/atom+xml" />
+            <mimeMap fileExtension=".au" mimeType="audio/basic" />
+            <mimeMap fileExtension=".avi" mimeType="video/msvideo" />
+            <mimeMap fileExtension=".axs" mimeType="application/olescript" />
+            <mimeMap fileExtension=".bas" mimeType="text/plain" />
+            <mimeMap fileExtension=".bcpio" mimeType="application/x-bcpio" />
+            <mimeMap fileExtension=".bin" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".bmp" mimeType="image/bmp" />
+            <mimeMap fileExtension=".c" mimeType="text/plain" />
+            <mimeMap fileExtension=".cab" mimeType="application/vnd.ms-cab-compressed" />
+            <mimeMap fileExtension=".calx" mimeType="application/vnd.ms-office.calx" />
+            <mimeMap fileExtension=".cat" mimeType="application/vnd.ms-pki.seccat" />
+            <mimeMap fileExtension=".cdf" mimeType="application/x-cdf" />
+            <mimeMap fileExtension=".chm" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".class" mimeType="application/x-java-applet" />
+            <mimeMap fileExtension=".clp" mimeType="application/x-msclip" />
+            <mimeMap fileExtension=".cmx" mimeType="image/x-cmx" />
+            <mimeMap fileExtension=".cnf" mimeType="text/plain" />
+            <mimeMap fileExtension=".cod" mimeType="image/cis-cod" />
+            <mimeMap fileExtension=".cpio" mimeType="application/x-cpio" />
+            <mimeMap fileExtension=".cpp" mimeType="text/plain" />
+            <mimeMap fileExtension=".crd" mimeType="application/x-mscardfile" />
+            <mimeMap fileExtension=".crl" mimeType="application/pkix-crl" />
+            <mimeMap fileExtension=".crt" mimeType="application/x-x509-ca-cert" />
+            <mimeMap fileExtension=".csh" mimeType="application/x-csh" />
+            <mimeMap fileExtension=".css" mimeType="text/css" />
+            <mimeMap fileExtension=".csv" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".cur" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".dcr" mimeType="application/x-director" />
+            <mimeMap fileExtension=".deploy" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".der" mimeType="application/x-x509-ca-cert" />
+            <mimeMap fileExtension=".dib" mimeType="image/bmp" />
+            <mimeMap fileExtension=".dir" mimeType="application/x-director" />
+            <mimeMap fileExtension=".disco" mimeType="text/xml" />
+            <mimeMap fileExtension=".dll" mimeType="application/x-msdownload" />
+            <mimeMap fileExtension=".dll.config" mimeType="text/xml" />
+            <mimeMap fileExtension=".dlm" mimeType="text/dlm" />
+            <mimeMap fileExtension=".doc" mimeType="application/msword" />
+            <mimeMap fileExtension=".docm" mimeType="application/vnd.ms-word.document.macroEnabled.12" />
+            <mimeMap fileExtension=".docx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
+            <mimeMap fileExtension=".dot" mimeType="application/msword" />
+            <mimeMap fileExtension=".dotm" mimeType="application/vnd.ms-word.template.macroEnabled.12" />
+            <mimeMap fileExtension=".dotx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.template" />
+            <mimeMap fileExtension=".dsp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".dtd" mimeType="text/xml" />
+            <mimeMap fileExtension=".dvi" mimeType="application/x-dvi" />
+            <mimeMap fileExtension=".dvr-ms" mimeType="video/x-ms-dvr" />
+            <mimeMap fileExtension=".dwf" mimeType="drawing/x-dwf" />
+            <mimeMap fileExtension=".dwp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".dxr" mimeType="application/x-director" />
+            <mimeMap fileExtension=".eml" mimeType="message/rfc822" />
+            <mimeMap fileExtension=".emz" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
+            <mimeMap fileExtension=".eps" mimeType="application/postscript" />
+            <mimeMap fileExtension=".etx" mimeType="text/x-setext" />
+            <mimeMap fileExtension=".evy" mimeType="application/envoy" />
+            <mimeMap fileExtension=".exe" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".exe.config" mimeType="text/xml" />
+            <mimeMap fileExtension=".fdf" mimeType="application/vnd.fdf" />
+            <mimeMap fileExtension=".fif" mimeType="application/fractals" />
+            <mimeMap fileExtension=".fla" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".flr" mimeType="x-world/x-vrml" />
+            <mimeMap fileExtension=".flv" mimeType="video/x-flv" />
+            <mimeMap fileExtension=".gif" mimeType="image/gif" />
+            <mimeMap fileExtension=".gtar" mimeType="application/x-gtar" />
+            <mimeMap fileExtension=".gz" mimeType="application/x-gzip" />
+            <mimeMap fileExtension=".h" mimeType="text/plain" />
+            <mimeMap fileExtension=".hdf" mimeType="application/x-hdf" />
+            <mimeMap fileExtension=".hdml" mimeType="text/x-hdml" />
+            <mimeMap fileExtension=".hhc" mimeType="application/x-oleobject" />
+            <mimeMap fileExtension=".hhk" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".hhp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".hlp" mimeType="application/winhlp" />
+            <mimeMap fileExtension=".hqx" mimeType="application/mac-binhex40" />
+            <mimeMap fileExtension=".hta" mimeType="application/hta" />
+            <mimeMap fileExtension=".htc" mimeType="text/x-component" />
+            <mimeMap fileExtension=".htm" mimeType="text/html" />
+            <mimeMap fileExtension=".html" mimeType="text/html" />
+            <mimeMap fileExtension=".htt" mimeType="text/webviewhtml" />
+            <mimeMap fileExtension=".hxt" mimeType="text/html" />
+            <mimeMap fileExtension=".ico" mimeType="image/x-icon" />
+            <mimeMap fileExtension=".ics" mimeType="text/calendar" />
+            <mimeMap fileExtension=".ief" mimeType="image/ief" />
+            <mimeMap fileExtension=".iii" mimeType="application/x-iphone" />
+            <mimeMap fileExtension=".inf" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".ins" mimeType="application/x-internet-signup" />
+            <mimeMap fileExtension=".isp" mimeType="application/x-internet-signup" />
+            <mimeMap fileExtension=".IVF" mimeType="video/x-ivf" />
+            <mimeMap fileExtension=".jar" mimeType="application/java-archive" />
+            <mimeMap fileExtension=".java" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".jck" mimeType="application/liquidmotion" />
+            <mimeMap fileExtension=".jcz" mimeType="application/liquidmotion" />
+            <mimeMap fileExtension=".jfif" mimeType="image/pjpeg" />
+            <mimeMap fileExtension=".jpb" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".jpe" mimeType="image/jpeg" />
+            <mimeMap fileExtension=".jpeg" mimeType="image/jpeg" />
+            <mimeMap fileExtension=".jpg" mimeType="image/jpeg" />
+            <mimeMap fileExtension=".js" mimeType="application/javascript" />
+            <mimeMap fileExtension=".json" mimeType="application/json" />
+            <mimeMap fileExtension=".jsonld" mimeType="application/ld+json" />
+            <mimeMap fileExtension=".jsx" mimeType="text/jscript" />
+            <mimeMap fileExtension=".latex" mimeType="application/x-latex" />
+            <mimeMap fileExtension=".less" mimeType="text/css" />
+            <mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" />
+            <mimeMap fileExtension=".lpk" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".lsf" mimeType="video/x-la-asf" />
+            <mimeMap fileExtension=".lsx" mimeType="video/x-la-asf" />
+            <mimeMap fileExtension=".lzh" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".m13" mimeType="application/x-msmediaview" />
+            <mimeMap fileExtension=".m14" mimeType="application/x-msmediaview" />
+            <mimeMap fileExtension=".m1v" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".m2ts" mimeType="video/vnd.dlna.mpeg-tts" />
+            <mimeMap fileExtension=".m3u" mimeType="audio/x-mpegurl" />
+            <mimeMap fileExtension=".m4a" mimeType="audio/mp4" />
+            <mimeMap fileExtension=".m4v" mimeType="video/mp4" />
+            <mimeMap fileExtension=".man" mimeType="application/x-troff-man" />
+            <mimeMap fileExtension=".manifest" mimeType="application/x-ms-manifest" />
+            <mimeMap fileExtension=".map" mimeType="text/plain" />
+            <mimeMap fileExtension=".mdb" mimeType="application/x-msaccess" />
+            <mimeMap fileExtension=".mdp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".me" mimeType="application/x-troff-me" />
+            <mimeMap fileExtension=".mht" mimeType="message/rfc822" />
+            <mimeMap fileExtension=".mhtml" mimeType="message/rfc822" />
+            <mimeMap fileExtension=".mid" mimeType="audio/mid" />
+            <mimeMap fileExtension=".midi" mimeType="audio/mid" />
+            <mimeMap fileExtension=".mix" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".mmf" mimeType="application/x-smaf" />
+            <mimeMap fileExtension=".mno" mimeType="text/xml" />
+            <mimeMap fileExtension=".mny" mimeType="application/x-msmoney" />
+            <mimeMap fileExtension=".mov" mimeType="video/quicktime" />
+            <mimeMap fileExtension=".movie" mimeType="video/x-sgi-movie" />
+            <mimeMap fileExtension=".mp2" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".mp3" mimeType="audio/mpeg" />
+            <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
+            <mimeMap fileExtension=".mp4v" mimeType="video/mp4" />
+            <mimeMap fileExtension=".mpa" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".mpe" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".mpeg" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".mpg" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".mpp" mimeType="application/vnd.ms-project" />
+            <mimeMap fileExtension=".mpv2" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".ms" mimeType="application/x-troff-ms" />
+            <mimeMap fileExtension=".msi" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".mso" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".mvb" mimeType="application/x-msmediaview" />
+            <mimeMap fileExtension=".mvc" mimeType="application/x-miva-compiled" />
+            <mimeMap fileExtension=".nc" mimeType="application/x-netcdf" />
+            <mimeMap fileExtension=".nsc" mimeType="video/x-ms-asf" />
+            <mimeMap fileExtension=".nws" mimeType="message/rfc822" />
+            <mimeMap fileExtension=".ocx" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".oda" mimeType="application/oda" />
+            <mimeMap fileExtension=".odc" mimeType="text/x-ms-odc" />
+            <mimeMap fileExtension=".ods" mimeType="application/oleobject" />
+            <mimeMap fileExtension=".oga" mimeType="audio/ogg" />
+            <mimeMap fileExtension=".ogg" mimeType="video/ogg" />
+            <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
+            <mimeMap fileExtension=".one" mimeType="application/onenote" />
+            <mimeMap fileExtension=".onea" mimeType="application/onenote" />
+            <mimeMap fileExtension=".onetoc" mimeType="application/onenote" />
+            <mimeMap fileExtension=".onetoc2" mimeType="application/onenote" />
+            <mimeMap fileExtension=".onetmp" mimeType="application/onenote" />
+            <mimeMap fileExtension=".onepkg" mimeType="application/onenote" />
+            <mimeMap fileExtension=".osdx" mimeType="application/opensearchdescription+xml" />
+            <mimeMap fileExtension=".otf" mimeType="font/otf" />
+            <mimeMap fileExtension=".p10" mimeType="application/pkcs10" />
+            <mimeMap fileExtension=".p12" mimeType="application/x-pkcs12" />
+            <mimeMap fileExtension=".p7b" mimeType="application/x-pkcs7-certificates" />
+            <mimeMap fileExtension=".p7c" mimeType="application/pkcs7-mime" />
+            <mimeMap fileExtension=".p7m" mimeType="application/pkcs7-mime" />
+            <mimeMap fileExtension=".p7r" mimeType="application/x-pkcs7-certreqresp" />
+            <mimeMap fileExtension=".p7s" mimeType="application/pkcs7-signature" />
+            <mimeMap fileExtension=".pbm" mimeType="image/x-portable-bitmap" />
+            <mimeMap fileExtension=".pcx" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".pcz" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".pdf" mimeType="application/pdf" />
+            <mimeMap fileExtension=".pfb" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".pfm" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".pfx" mimeType="application/x-pkcs12" />
+            <mimeMap fileExtension=".pgm" mimeType="image/x-portable-graymap" />
+            <mimeMap fileExtension=".pko" mimeType="application/vnd.ms-pki.pko" />
+            <mimeMap fileExtension=".pma" mimeType="application/x-perfmon" />
+            <mimeMap fileExtension=".pmc" mimeType="application/x-perfmon" />
+            <mimeMap fileExtension=".pml" mimeType="application/x-perfmon" />
+            <mimeMap fileExtension=".pmr" mimeType="application/x-perfmon" />
+            <mimeMap fileExtension=".pmw" mimeType="application/x-perfmon" />
+            <mimeMap fileExtension=".png" mimeType="image/png" />
+            <mimeMap fileExtension=".pnm" mimeType="image/x-portable-anymap" />
+            <mimeMap fileExtension=".pnz" mimeType="image/png" />
+            <mimeMap fileExtension=".pot" mimeType="application/vnd.ms-powerpoint" />
+            <mimeMap fileExtension=".potm" mimeType="application/vnd.ms-powerpoint.template.macroEnabled.12" />
+            <mimeMap fileExtension=".potx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.template" />
+            <mimeMap fileExtension=".ppam" mimeType="application/vnd.ms-powerpoint.addin.macroEnabled.12" />
+            <mimeMap fileExtension=".ppm" mimeType="image/x-portable-pixmap" />
+            <mimeMap fileExtension=".pps" mimeType="application/vnd.ms-powerpoint" />
+            <mimeMap fileExtension=".ppsm" mimeType="application/vnd.ms-powerpoint.slideshow.macroEnabled.12" />
+            <mimeMap fileExtension=".ppsx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slideshow" />
+            <mimeMap fileExtension=".ppt" mimeType="application/vnd.ms-powerpoint" />
+            <mimeMap fileExtension=".pptm" mimeType="application/vnd.ms-powerpoint.presentation.macroEnabled.12" />
+            <mimeMap fileExtension=".pptx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" />
+            <mimeMap fileExtension=".prf" mimeType="application/pics-rules" />
+            <mimeMap fileExtension=".prm" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".prx" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".ps" mimeType="application/postscript" />
+            <mimeMap fileExtension=".psd" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".psm" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".psp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".pub" mimeType="application/x-mspublisher" />
+            <mimeMap fileExtension=".qt" mimeType="video/quicktime" />
+            <mimeMap fileExtension=".qtl" mimeType="application/x-quicktimeplayer" />
+            <mimeMap fileExtension=".qxd" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".ra" mimeType="audio/x-pn-realaudio" />
+            <mimeMap fileExtension=".ram" mimeType="audio/x-pn-realaudio" />
+            <mimeMap fileExtension=".rar" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".ras" mimeType="image/x-cmu-raster" />
+            <mimeMap fileExtension=".rf" mimeType="image/vnd.rn-realflash" />
+            <mimeMap fileExtension=".rgb" mimeType="image/x-rgb" />
+            <mimeMap fileExtension=".rm" mimeType="application/vnd.rn-realmedia" />
+            <mimeMap fileExtension=".rmi" mimeType="audio/mid" />
+            <mimeMap fileExtension=".roff" mimeType="application/x-troff" />
+            <mimeMap fileExtension=".rpm" mimeType="audio/x-pn-realaudio-plugin" />
+            <mimeMap fileExtension=".rtf" mimeType="application/rtf" />
+            <mimeMap fileExtension=".rtx" mimeType="text/richtext" />
+            <mimeMap fileExtension=".scd" mimeType="application/x-msschedule" />
+            <mimeMap fileExtension=".sct" mimeType="text/scriptlet" />
+            <mimeMap fileExtension=".sea" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".setpay" mimeType="application/set-payment-initiation" />
+            <mimeMap fileExtension=".setreg" mimeType="application/set-registration-initiation" />
+            <mimeMap fileExtension=".sgml" mimeType="text/sgml" />
+            <mimeMap fileExtension=".sh" mimeType="application/x-sh" />
+            <mimeMap fileExtension=".shar" mimeType="application/x-shar" />
+            <mimeMap fileExtension=".sit" mimeType="application/x-stuffit" />
+            <mimeMap fileExtension=".sldm" mimeType="application/vnd.ms-powerpoint.slide.macroEnabled.12" />
+            <mimeMap fileExtension=".sldx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slide" />
+            <mimeMap fileExtension=".smd" mimeType="audio/x-smd" />
+            <mimeMap fileExtension=".smi" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".smx" mimeType="audio/x-smd" />
+            <mimeMap fileExtension=".smz" mimeType="audio/x-smd" />
+            <mimeMap fileExtension=".snd" mimeType="audio/basic" />
+            <mimeMap fileExtension=".snp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".spc" mimeType="application/x-pkcs7-certificates" />
+            <mimeMap fileExtension=".spl" mimeType="application/futuresplash" />
+            <mimeMap fileExtension=".spx" mimeType="audio/ogg" />
+            <mimeMap fileExtension=".src" mimeType="application/x-wais-source" />
+            <mimeMap fileExtension=".ssm" mimeType="application/streamingmedia" />
+            <mimeMap fileExtension=".sst" mimeType="application/vnd.ms-pki.certstore" />
+            <mimeMap fileExtension=".stl" mimeType="application/vnd.ms-pki.stl" />
+            <mimeMap fileExtension=".sv4cpio" mimeType="application/x-sv4cpio" />
+            <mimeMap fileExtension=".sv4crc" mimeType="application/x-sv4crc" />
+            <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
+            <mimeMap fileExtension=".svgz" mimeType="image/svg+xml" />
+            <mimeMap fileExtension=".swf" mimeType="application/x-shockwave-flash" />
+            <mimeMap fileExtension=".t" mimeType="application/x-troff" />
+            <mimeMap fileExtension=".tar" mimeType="application/x-tar" />
+            <mimeMap fileExtension=".tcl" mimeType="application/x-tcl" />
+            <mimeMap fileExtension=".tex" mimeType="application/x-tex" />
+            <mimeMap fileExtension=".texi" mimeType="application/x-texinfo" />
+            <mimeMap fileExtension=".texinfo" mimeType="application/x-texinfo" />
+            <mimeMap fileExtension=".tgz" mimeType="application/x-compressed" />
+            <mimeMap fileExtension=".thmx" mimeType="application/vnd.ms-officetheme" />
+            <mimeMap fileExtension=".thn" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".tif" mimeType="image/tiff" />
+            <mimeMap fileExtension=".tiff" mimeType="image/tiff" />
+            <mimeMap fileExtension=".toc" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".tr" mimeType="application/x-troff" />
+            <mimeMap fileExtension=".trm" mimeType="application/x-msterminal" />
+            <mimeMap fileExtension=".ts" mimeType="video/vnd.dlna.mpeg-tts" />
+            <mimeMap fileExtension=".tsv" mimeType="text/tab-separated-values" />
+            <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".tts" mimeType="video/vnd.dlna.mpeg-tts" />
+            <mimeMap fileExtension=".txt" mimeType="text/plain" />
+            <mimeMap fileExtension=".u32" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".uls" mimeType="text/iuls" />
+            <mimeMap fileExtension=".ustar" mimeType="application/x-ustar" />
+            <mimeMap fileExtension=".vbs" mimeType="text/vbscript" />
+            <mimeMap fileExtension=".vcf" mimeType="text/x-vcard" />
+            <mimeMap fileExtension=".vcs" mimeType="text/plain" />
+            <mimeMap fileExtension=".vdx" mimeType="application/vnd.ms-visio.viewer" />
+            <mimeMap fileExtension=".vml" mimeType="text/xml" />
+            <mimeMap fileExtension=".vsd" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".vss" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".vst" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".vsto" mimeType="application/x-ms-vsto" />
+            <mimeMap fileExtension=".vsw" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".vsx" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".vtx" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".wav" mimeType="audio/wav" />
+            <mimeMap fileExtension=".wax" mimeType="audio/x-ms-wax" />
+            <mimeMap fileExtension=".wbmp" mimeType="image/vnd.wap.wbmp" />
+            <mimeMap fileExtension=".wcm" mimeType="application/vnd.ms-works" />
+            <mimeMap fileExtension=".wdb" mimeType="application/vnd.ms-works" />
+            <mimeMap fileExtension=".webm" mimeType="video/webm" />
+            <mimeMap fileExtension=".wks" mimeType="application/vnd.ms-works" />
+            <mimeMap fileExtension=".wm" mimeType="video/x-ms-wm" />
+            <mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" />
+            <mimeMap fileExtension=".wmd" mimeType="application/x-ms-wmd" />
+            <mimeMap fileExtension=".wmf" mimeType="application/x-msmetafile" />
+            <mimeMap fileExtension=".wml" mimeType="text/vnd.wap.wml" />
+            <mimeMap fileExtension=".wmlc" mimeType="application/vnd.wap.wmlc" />
+            <mimeMap fileExtension=".wmls" mimeType="text/vnd.wap.wmlscript" />
+            <mimeMap fileExtension=".wmlsc" mimeType="application/vnd.wap.wmlscriptc" />
+            <mimeMap fileExtension=".wmp" mimeType="video/x-ms-wmp" />
+            <mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" />
+            <mimeMap fileExtension=".wmx" mimeType="video/x-ms-wmx" />
+            <mimeMap fileExtension=".wmz" mimeType="application/x-ms-wmz" />
+            <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
+            <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
+            <mimeMap fileExtension=".wps" mimeType="application/vnd.ms-works" />
+            <mimeMap fileExtension=".wri" mimeType="application/x-mswrite" />
+            <mimeMap fileExtension=".wrl" mimeType="x-world/x-vrml" />
+            <mimeMap fileExtension=".wrz" mimeType="x-world/x-vrml" />
+            <mimeMap fileExtension=".wsdl" mimeType="text/xml" />
+            <mimeMap fileExtension=".wtv" mimeType="video/x-ms-wtv" />
+            <mimeMap fileExtension=".wvx" mimeType="video/x-ms-wvx" />
+            <mimeMap fileExtension=".x" mimeType="application/directx" />
+            <mimeMap fileExtension=".xaf" mimeType="x-world/x-vrml" />
+            <mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" />
+            <mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" />
+            <mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" />
+            <mimeMap fileExtension=".xbm" mimeType="image/x-xbitmap" />
+            <mimeMap fileExtension=".xdr" mimeType="text/plain" />
+            <mimeMap fileExtension=".xht" mimeType="application/xhtml+xml" />
+            <mimeMap fileExtension=".xhtml" mimeType="application/xhtml+xml" />
+            <mimeMap fileExtension=".xla" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xlam" mimeType="application/vnd.ms-excel.addin.macroEnabled.12" />
+            <mimeMap fileExtension=".xlc" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xlm" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xls" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xlsb" mimeType="application/vnd.ms-excel.sheet.binary.macroEnabled.12" />
+            <mimeMap fileExtension=".xlsm" mimeType="application/vnd.ms-excel.sheet.macroEnabled.12" />
+            <mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
+            <mimeMap fileExtension=".xlt" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xltm" mimeType="application/vnd.ms-excel.template.macroEnabled.12" />
+            <mimeMap fileExtension=".xltx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.template" />
+            <mimeMap fileExtension=".xlw" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xml" mimeType="text/xml" />
+            <mimeMap fileExtension=".xof" mimeType="x-world/x-vrml" />
+            <mimeMap fileExtension=".xpm" mimeType="image/x-xpixmap" />
+            <mimeMap fileExtension=".xps" mimeType="application/vnd.ms-xpsdocument" />
+            <mimeMap fileExtension=".xsd" mimeType="text/xml" />
+            <mimeMap fileExtension=".xsf" mimeType="text/xml" />
+            <mimeMap fileExtension=".xsl" mimeType="text/xml" />
+            <mimeMap fileExtension=".xslt" mimeType="text/xml" />
+            <mimeMap fileExtension=".xsn" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".xtp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".xwd" mimeType="image/x-xwindowdump" />
+            <mimeMap fileExtension=".z" mimeType="application/x-compress" />
+            <mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" />
+        </staticContent>
+
+        <tracing>
+
+             <traceProviderDefinitions>
+                <add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}">
+                    <areas>
+                        <clear />
+                        <add name="Authentication" value="2" />
+                        <add name="Security" value="4" />
+                        <add name="Filter" value="8" />
+                        <add name="StaticFile" value="16" />
+                        <add name="CGI" value="32" />
+                        <add name="Compression" value="64" />
+                        <add name="Cache" value="128" />
+                        <add name="RequestNotifications" value="256" />
+                        <add name="Module" value="512" />
+                        <add name="Rewrite" value="1024" />
+                        <add name="FastCGI" value="4096" />
+                        <add name="WebSocket" value="16384" />
+                    </areas>
+                </add>
+                <add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}">
+                    <areas>
+                        <clear />
+                    </areas>
+                </add>
+                <add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}">
+                    <areas>
+                        <clear />
+                    </areas>
+                </add>
+                <add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}">
+                    <areas>
+                        <add name="Infrastructure" value="1" />
+                        <add name="Module" value="2" />
+                        <add name="Page" value="4" />
+                        <add name="AppServices" value="8" />
+                    </areas>
+                </add>
+            </traceProviderDefinitions>
+
+            <traceFailedRequests>
+                <add path="*">
+                    <traceAreas>
+                        <add provider="ASP" verbosity="Verbose" />
+                        <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
+                        <add provider="ISAPI Extension" verbosity="Verbose" />
+                        <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,WebSocket" verbosity="Verbose" />
+                    </traceAreas>
+                    <failureDefinitions statusCodes="200-999" />
+                </add>
+            </traceFailedRequests>
+
+        </tracing>
+
+        <urlCompression />
+
+        <validation />
+        <webdav>
+            <globalSettings>
+                <propertyStores>
+                    <add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%IIS_BIN%\webdav_simple_prop.dll" />
+                </propertyStores>
+                <lockStores>
+                    <add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%IIS_BIN%\webdav_simple_lock.dll" />
+                </lockStores>
+
+            </globalSettings>
+            <authoring>
+                <locks enabled="true" lockStore="webdav_simple_lock" />
+            </authoring>
+            <authoringRules />
+        </webdav>
+        <webSocket />
+        <applicationInitialization />
+
+    </system.webServer>
+    <location path="" overrideMode="Allow">
+        <system.webServer>
+            <modules>
+                <add name="IsapiFilterModule" lockItem="true" />
+                <add name="BasicAuthenticationModule" lockItem="true" />
+                <add name="IsapiModule" lockItem="true" />
+                <add name="HttpLoggingModule" lockItem="true" />
+                <!--
+                <add name="HttpCacheModule" lockItem="true" />
+-->
+                <add name="DynamicCompressionModule" lockItem="true" />
+                <add name="StaticCompressionModule" lockItem="true" />
+                <add name="DefaultDocumentModule" lockItem="true" />
+                <add name="DirectoryListingModule" lockItem="true" />
+
+                <add name="ProtocolSupportModule" lockItem="true" />
+                <add name="HttpRedirectionModule" lockItem="true" />
+                <add name="ServerSideIncludeModule" lockItem="true" />
+                <add name="StaticFileModule" lockItem="true" />
+                <add name="AnonymousAuthenticationModule" lockItem="true" />
+                <add name="CertificateMappingAuthenticationModule" lockItem="true" />
+                <add name="UrlAuthorizationModule" lockItem="true" />
+                <add name="WindowsAuthenticationModule" lockItem="true" />
+                <!--
+                <add name="DigestAuthenticationModule" lockItem="true" />
+-->
+                <add name="IISCertificateMappingAuthenticationModule" lockItem="true" />
+                <add name="WebMatrixSupportModule" lockItem="true" />
+                <add name="IpRestrictionModule" lockItem="true" />
+                <add name="DynamicIpRestrictionModule" lockItem="true" />
+                <add name="RequestFilteringModule" lockItem="true" />
+                <add name="CustomLoggingModule" lockItem="true" />
+                <add name="CustomErrorModule" lockItem="true" />
+                <add name="FailedRequestsTracingModule" lockItem="true" />
+                <add name="CgiModule" lockItem="true" />
+                <add name="FastCgiModule" lockItem="true" />
+                <!--                <add name="WebDAVModule" /> -->
+                <add name="RewriteModule" />
+                <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" />
+                <add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" />
+                <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" />
+                <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
+                <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" />
+                <add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" />
+                <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" />
+                <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" />
+                <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" />
+                <add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" />
+                <add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" />
+                <add name="ConfigurationValidationModule" lockItem="true" />
+                <add name="WebSocketModule" lockItem="true" />
+                <add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />
+                <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" />
+                <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />
+                <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" />
+                <add name="ApplicationInitializationModule" lockItem="true" />
+            </modules>
+            <handlers accessPolicy="Read, Script">
+                <!--                <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> -->
+                <add name="AXD-ISAPI-4.0_64bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_64bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_64bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
+                <add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
+                <add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
+                <add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
+                <add name="aspq-ISAPI-4.0_64bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="cshtm-ISAPI-4.0_64bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="cshtml-ISAPI-4.0_64bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="vbhtm-ISAPI-4.0_64bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="vbhtml-ISAPI-4.0_64bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
+                <add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="xoml-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
+                <add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="rules-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
+                <add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
+                <add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
+                <add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
+                <add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
+                <add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="ScriptResourceIntegrated-4.0" path="*ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />
+                <add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />
+                <add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
+                <add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="svc-ISAPI-2.0-64" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
+                <add name="AXD-ISAPI-2.0-64" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="SimpleHandlerFactory-ISAPI-2.0-64" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="WebServiceHandlerFactory-ISAPI-2.0-64" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0-64" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
+                <add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
+                <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
+                <add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
+                <add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
+                <add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
+                <add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" />
+                <add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" />
+                <add name="ExtensionlessUrl-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="ExtensionlessUrl-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
+                <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
+            </handlers>
+        </system.webServer>
+    </location>
+</configuration>
diff --git a/VECTO/BusAuxiliaries/UI/frmAuxiliaryConfig.vb b/VECTO/BusAuxiliaries/UI/frmAuxiliaryConfig.vb
index 0f8dd00f20..583555ce6d 100644
--- a/VECTO/BusAuxiliaries/UI/frmAuxiliaryConfig.vb
+++ b/VECTO/BusAuxiliaries/UI/frmAuxiliaryConfig.vb
@@ -333,10 +333,10 @@ Public Class frmAuxiliaryConfig
             ErrorProvider.SetError(txtActuationsMap, String.Empty)
         End If
         'Test File is valid
-        Dim actuations As IPneumaticActuationsMAP
+        Dim actuations As IActuationsMap
         Try
 
-            actuations = PneumaticActuationsMapReader.Read(FilePathUtils.ResolveFilePath(aauxPath, txtActuationsMap.Text))
+            actuations = ActuationsMapReader.Read(FilePathUtils.ResolveFilePath(aauxPath, txtActuationsMap.Text))
             'actuations.Initialise()
             ErrorProvider.SetError(txtActuationsMap, String.Empty)
         Catch ex As Exception
@@ -480,14 +480,14 @@ Public Class frmAuxiliaryConfig
         Dim message As String = ""
 
         'Validate abdb -  Bus Database 
-        Dim abdbFile As String = FilePathUtils.ResolveFilePath(aauxPath, txtBusDatabaseFilePath.Text)
-        Dim bdb As New BusDatabase()
-        If bdb.Initialise(abdbFile) Then
-            ErrorProvider.SetError(txtBusDatabaseFilePath, String.Empty)
-        Else
-            result = False
-            ErrorProvider.SetError(Me.txtBusDatabaseFilePath, "Please choose a valid Steady State Model File (*.ABDB")
-        End If
+        'Dim abdbFile As String = FilePathUtils.ResolveFilePath(aauxPath, txtBusDatabaseFilePath.Text)
+        'Dim bdb As New BusDatabase()
+        'If bdb.Initialise(abdbFile) Then
+        '    ErrorProvider.SetError(txtBusDatabaseFilePath, String.Empty)
+        'Else
+        '    result = False
+        '    ErrorProvider.SetError(Me.txtBusDatabaseFilePath, "Please choose a valid Steady State Model File (*.ABDB")
+        'End If
 
 
         'Try ahsm - HVac Steady State Model
@@ -905,7 +905,7 @@ Public Class frmAuxiliaryConfig
 
         If fileExists OrElse newFile Then
 
-            Using frm As New frmCombinedAlternators(absoluteAALTPath, New CombinedAlternatorSignals)
+            Using frm As New frmCombinedAlternators(absoluteAALTPath)
                 'If Dialog result is OK, then take action else bail
                 If frm.ShowDialog() = Windows.Forms.DialogResult.OK Then
                     If suppliedAALTPath.Contains(":\") AndAlso Not String.IsNullOrEmpty(aauxPath) Then
@@ -990,13 +990,13 @@ Public Class frmAuxiliaryConfig
             txtBusDatabaseFilePath.Focus()
             txtBusDatabaseFilePath.Text = GetRelativePath(fbAux.Files(0), Path.GetDirectoryName(auxFile))
 
-            Dim busDB As New BusDatabase()
+            'Dim busDB As New BusDatabase()
 
-            If Not busDB.Initialise(FilePathUtils.ResolveFilePath(aauxPath, txtBusDatabaseFilePath.Text)) Then
+            'If Not busDB.Initialise(FilePathUtils.ResolveFilePath(aauxPath, txtBusDatabaseFilePath.Text)) Then
 
-                MessageBox.Show("Unable to load")
+            '    MessageBox.Show("Unable to load")
 
-            End If
+            'End If
 
             Validate_HVAC()
         End If
@@ -1077,7 +1077,7 @@ Public Class frmAuxiliaryConfig
                     Return
                 End If
             End Using
-            BindingContext(auxConfig.HvacUserInputsConfig).EndCurrentEdit()
+            'BindingContext(auxConfig.HvacUserInputsConfig).EndCurrentEdit()
             Validate_HVAC()
 
         End If
@@ -1441,10 +1441,10 @@ Public Class frmAuxiliaryConfig
         cboAdBlueDosing.DataBindings.Add("Text", auxConfig.PneumaticUserInputsConfig, "AdBlueDosing")
         cboDoors.DataBindings.Add("Text", auxConfig.PneumaticUserInputsConfig, "Doors")
 
-        txtSSMFilePath.DataBindings.Add("Text", auxConfig.HvacUserInputsConfig, "SSMFilePath")
-        txtBusDatabaseFilePath.DataBindings.Add("Text", auxConfig.HvacUserInputsConfig, "BusDatabasePath")
-        chkDisableHVAC.DataBindings.Add("Checked", auxConfig.HvacUserInputsConfig, "SSMDisabled", False,
-                                        DataSourceUpdateMode.OnPropertyChanged)
+        'txtSSMFilePath.DataBindings.Add("Text", auxConfig.HvacUserInputsConfig, "SSMFilePath")
+        'txtBusDatabaseFilePath.DataBindings.Add("Text", auxConfig.HvacUserInputsConfig, "BusDatabasePath")
+        'chkDisableHVAC.DataBindings.Add("Checked", auxConfig.HvacUserInputsConfig, "SSMDisabled", False,
+                                        'DataSourceUpdateMode.OnPropertyChanged)
 
         SetSmartCardEmabledStatus()
     End Sub
diff --git a/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb b/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb
index fe0e249ac7..b2a73eb21f 100644
--- a/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb
+++ b/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb
@@ -15,14 +15,14 @@ Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Elec
 Public Class frmCombinedAlternators
     Private combinedAlt As CombinedAlternator
     Private originalAlt As CombinedAlternator
-    Private altSignals As ICombinedAlternatorSignals
+    
     Protected gbColor As System.Drawing.Color = Color.LightGreen
     Private UserHitCancel As Boolean = False
     Private UserHitSave As Boolean = False
     Private aaltPath As String = ""
 
     'Constructor(s)
-    Public Sub New(aaltPath As String, altSignals As ICombinedAlternatorSignals)
+    Public Sub New(aaltPath As String)
 
         ' This call is required by the designer.
         InitializeComponent()
diff --git a/VECTO/BusAuxiliaries/UI/frmHVACTool.vb b/VECTO/BusAuxiliaries/UI/frmHVACTool.vb
index 22ba9b342e..1f4dd3b53a 100644
--- a/VECTO/BusAuxiliaries/UI/frmHVACTool.vb
+++ b/VECTO/BusAuxiliaries/UI/frmHVACTool.vb
@@ -19,19 +19,19 @@ Public Class frmHVACTool
 	Private captureDiagnostics As Boolean
 	Private busDatabasePath As String
 	Private ahsmFilePath As String
-	Private buses As IBusDatabase
+	'Private buses As IBusDatabase
 	Private ssmTOOL As SSMTOOL
 	Private originalssmTOOL As SSMTOOL
 	Private TabColors As Dictionary(Of TabPage, Color) = New Dictionary(Of TabPage, Color)()
-	Private editTechLine As ITechListBenefitLine = New TechListBenefitLine()
-	Private gvTechListBinding As BindingList(Of ITechListBenefitLine)
+	Private editTechLine As ISSMTechnology = New SSMTechnology()
+	Private gvTechListBinding As BindingList(Of ISSMTechnology)
 	Private DefaultCategories As String() = {"Cooling", "Heating", "Insulation", "Ventiliation"}
 	Private vectoFile As String = String.Empty
 	Private UserHitCancel As Boolean = False
 	Private UserHitSave As Boolean = False
 	Private IsAddingBus As Boolean = False
 	Private IsUpdatingBus As Boolean = False
-	Private busesList As BindingList(Of IBus)
+	'Private busesList As BindingList(Of IBus)
 
 	'Helpers
 	Public Sub UpdateButtonText()
@@ -58,7 +58,7 @@ Public Class frmHVACTool
 
 		Dim _
 			gvTechListBinding As _
-				New BindingList(Of ITechListBenefitLine)(
+				New BindingList(Of ISSMTechnology)(
 					ssmTOOL.TechList.TechLines.OrderBy(Function(o) o.Category).ThenBy(Function(t) t.BenefitName).ToList())
 		Me.gvTechBenefitLines.DataSource = gvTechListBinding
 	End Sub
@@ -1116,9 +1116,9 @@ Public Class frmHVACTool
 				BindGrid()
 
 				'find new row
-				Dim ol As List(Of ITechListBenefitLine) =
+				Dim ol As List(Of ISSMTechnology) =
 						ssmTOOL.TechList.TechLines.OrderBy(Function(x) x.Category).ThenBy(Function(tb) tb.BenefitName).ToList()
-				Dim item As ITechListBenefitLine =
+				Dim item As ISSMTechnology =
 						ol.First(
 							Function(x) _
 									x.Category = GetTechLineFromPanel().Category AndAlso x.BenefitName = GetTechLineFromPanel().BenefitName)
@@ -1188,14 +1188,14 @@ Public Class frmHVACTool
 		ElseIf "Add".Equals(btnNewBus.Tag) Then
 
 			If Validate_GeneralInputsBPEdit() Then
-				Dim newBus As IBus = New Bus(busesList.Count + 1, txtEditBusModel.Text, cmbEditFloorType.Text,
-											cmbEditEngineType.Text, Double.Parse(txtEditBusLength.Text, CultureInfo.InvariantCulture),
-											Double.Parse(txtEditBusWidth.Text, CultureInfo.InvariantCulture),
-											Double.Parse(txtEditBusHeight.Text, CultureInfo.InvariantCulture),
-											Convert.ToInt32(txtEditBusPassengers.Text), chkEditIsDoubleDecker.Checked)
+				'Dim newBus As IBus = New Bus(busesList.Count + 1, txtEditBusModel.Text, cmbEditFloorType.Text,
+				'							cmbEditEngineType.Text, Double.Parse(txtEditBusLength.Text, CultureInfo.InvariantCulture),
+				'							Double.Parse(txtEditBusWidth.Text, CultureInfo.InvariantCulture),
+				'							Double.Parse(txtEditBusHeight.Text, CultureInfo.InvariantCulture),
+				'							Convert.ToInt32(txtEditBusPassengers.Text), chkEditIsDoubleDecker.Checked)
 
-				buses.AddBus(newBus)
-				busesList.Add(newBus)
+				'buses.AddBus(newBus)
+				'busesList.Add(newBus)
 
 				'cboBuses.Enabled = True
 				btnUpdateBusDatabase.Enabled = True
@@ -1218,11 +1218,11 @@ Public Class frmHVACTool
 
 	Private Sub btnUpdateBusDatabase_Click(sender As Object, e As EventArgs) Handles btnUpdateBusDatabase.Click
 
-		If buses.Save(busDatabasePath) Then
-			MessageBox.Show("Buses database file saved successfully")
-		Else
+		'If buses.Save(busDatabasePath) Then
+		'	MessageBox.Show("Buses database file saved successfully")
+		'Else
 			MessageBox.Show("Failed to save buses database file")
-		End If
+		'End If
 	End Sub
 
 	'Private Sub btnEditBus_Click(sender As Object, e As EventArgs) Handles btnEditBus.Click
@@ -1330,7 +1330,7 @@ Public Class frmHVACTool
 	'TechList Helpers
 	Private Sub FillTechLineEditPanel(index As Integer)
 
-		Dim techline As ITechListBenefitLine
+		Dim techline As ISSMTechnology
 		Dim benefitName, category As Object
 		benefitName = gvTechBenefitLines.Rows(index).Cells("BenefitName").Value
 		category = gvTechBenefitLines.Rows(index).Cells("Category").Value
@@ -1357,9 +1357,9 @@ Public Class frmHVACTool
 		chkOnVehicle.Checked = techline.OnVehicle
 	End Sub
 
-	Private Function GetTechLineFromPanel() As ITechListBenefitLine
+	Private Function GetTechLineFromPanel() As ISSMTechnology
 
-		Dim tl As ITechListBenefitLine = New TechListBenefitLine()
+		Dim tl As ISSMTechnology = New SSMTechnology()
 	    tl.BusFloorType = ssmTOOL.SSMInputs.BusParameters.BusFloorType
 
 		tl.Category = StrConv(cboCategory.Text, vbProperCase)
diff --git a/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb b/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb
index 1e3c01ee66..fce6fc5f8a 100644
--- a/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb
+++ b/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb
@@ -6,6 +6,7 @@ Imports TUGraz.VectoCore.InputData.Reader.ComponentData
 Imports TUGraz.VectoCore.Models.BusAuxiliaries
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.Legacy
+Imports TUGraz.VectoCore.Models.Declaration
 
 Namespace IntegrationTests
     <TestFixture>
@@ -31,10 +32,7 @@ Namespace IntegrationTests
             'aux.VectoInputs.Cycle = "Coach"
             'aux.VectoInputs.VehicleWeightKG = vehicleWeight.SI(Of Kilogram)()
             'aux.VectoInputs.FuelDensity = 832.SI(Of KilogramPerCubicMeter)()
-            Dim fuelMap As cMAP = New cMAP()
-            fuelMap.FilePath = engineFCMapFilePath
-            fuelMap.ReadFile(False)
-            fuelMap.Triangulate()
+            Dim fuelMap = FuelConsumptionMapReader.ReadFromFile(engineFCMapFilePath)
 
             'aux.VectoInputs.FuelMap = fuelMap
 
@@ -44,7 +42,7 @@ Namespace IntegrationTests
 
             dim auxConfig = BusAuxiliaryInputData.ReadBusAuxiliaries(auxFilePath, Utils.GetDefaultVehicleData(vehicleWeight.SI(Of Kilogram)))
             CType(auxConfig, AuxiliaryConfig).Cycle = "Coach"
-            aux.Initialise(auxConfig) ', Path.GetDirectoryName(Path.GetFullPath(auxFilePath)) + "\")
+            aux.Initialise(auxConfig, FuelData.Diesel) ', Path.GetDirectoryName(Path.GetFullPath(auxFilePath)) + "\")
 
             aux.Signals.ClutchEngaged = True
             aux.Signals.EngineDrivelinePower = (driveLinePower * 1000).SI(Of Watt)()  'kW
@@ -79,10 +77,7 @@ Namespace IntegrationTests
             'aux.VectoInputs.Cycle = "Coach"
             'aux.VectoInputs.VehicleWeightKG = 12000.SI(Of Kilogram)()
             'aux.VectoInputs.FuelDensity = 832.SI(Of KilogramPerCubicMeter)()
-            Dim fuelMap As cMAP = New cMAP()
-            fuelMap.FilePath = engineFCMapFilePath
-            fuelMap.ReadFile(False)
-            fuelMap.Triangulate()
+            Dim fuelMap = FuelConsumptionMapReader.ReadFromFile(engineFCMapFilePath)
 
             'aux.VectoInputs.FuelMap = fuelMap
 
@@ -94,7 +89,7 @@ Namespace IntegrationTests
             CType(auxCfg, AuxiliaryConfig).Cycle = "Coach"
             CType(auxCfg, AuxiliaryConfig).FuelMap = fuelMap
 
-            CType(aux, AdvancedAuxiliaries).Initialise(auxCfg) ', Path.GetDirectoryName(Path.GetFullPath(auxFilePath)) + "\")
+            CType(aux, AdvancedAuxiliaries).Initialise(auxCfg, FuelData.Diesel) ', Path.GetDirectoryName(Path.GetFullPath(auxFilePath)) + "\")
 
             aux.Signals.ClutchEngaged = True
             aux.Signals.EngineDrivelinePower = (driveLinePower * 1000).SI(Of Watt)() 'kW
diff --git a/VECTOAux/VectoAuxiliariesTests/Mocks/MockFuel50PC.vb b/VECTOAux/VectoAuxiliariesTests/Mocks/MockFuel50PC.vb
index 30267af061..5657bb3950 100644
--- a/VECTOAux/VectoAuxiliariesTests/Mocks/MockFuel50PC.vb
+++ b/VECTOAux/VectoAuxiliariesTests/Mocks/MockFuel50PC.vb
@@ -1,10 +1,13 @@
 
 Imports TUGraz.VectoCommon.BusAuxiliaries
 Imports TUGraz.VectoCommon.Utils
+Imports TUGraz.VectoCore.Models.Declaration
 
 Public Class MockFuel50PC
 	Implements IFuelConsumptionMap
 
+	
+
 	Public Function fFCdelaunay_Intp(nU As Double, Tq As Double) As Double
 
 		Return (nU + Tq) * 0.5
@@ -15,5 +18,7 @@ Public Class MockFuel50PC
 		Implements IFuelConsumptionMap.GetFuelConsumption
 		Return (fFCdelaunay_Intp(angularVelocity.AsRPM, torque.Value()) / 3600 / 1000).SI(Of KilogramPerSecond)()
 	End Function
+
+	
 End Class
 
diff --git a/VECTOAux/VectoAuxiliariesTests/TestFiles/ssm.Ahsm b/VECTOAux/VectoAuxiliariesTests/TestFiles/ssm.Ahsm
index 11858cb29f..6b62be0187 100644
--- a/VECTOAux/VectoAuxiliariesTests/TestFiles/ssm.Ahsm
+++ b/VECTOAux/VectoAuxiliariesTests/TestFiles/ssm.Ahsm
@@ -34,7 +34,7 @@
       "EC_EnviromentalConditions_BatchFile": "",
       "EC_EnviromentalConditions_BatchEnabled": false,
       "AC_InCabinRoomAC_System": true,
-      "AC_CompressorType": "mechanical",
+      "AC_CompressorType": "2-stage",
       "AC_CompressorCapacitykW": 18.0,
       "VEN_VentilationOnDuringHeating": true,
       "VEN_VentilationWhenBothHeatingAndACInactive": true,
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb
index 0570ca99f4..dcd80c932a 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb
@@ -16,7 +16,7 @@ Namespace UnitTests
     Public Class M3_AveragePneumaticLoadDemandTests
         Private _pneumaticUserInputsConfig As IPneumaticUserInputsConfig
         Private _pneumaticAuxillariesConfig As IPneumaticsAuxilliariesConfig
-        Private _pneumaticsActuationsMap As IPneumaticActuationsMAP
+        Private _actuationsMap As IActuationsMap
         Private _pneumaticsCompressorFlowRateMap As ICompressorMap
         Private _vehicleMassKG As Single = 16500
         Private _cycleName As String = "Urban"
@@ -70,7 +70,7 @@ Namespace UnitTests
 
 
             Dim psAuxConfig = DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig
-            Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath)
+            Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath)
                                         
             Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath)
                                         
@@ -93,7 +93,7 @@ Namespace UnitTests
 
             Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig,
                                     PneumaticsAuxilliariesConfig)
-            Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath)
+            Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath)
 
             Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath)
                                        
@@ -120,7 +120,7 @@ Namespace UnitTests
 
             Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig,
                                     PneumaticsAuxilliariesConfig)
-            Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath)
+            Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath)
 
 
             Dim psCompressorMap =CompressorMapReader.ReadFile(_compressorMapPath)
@@ -151,7 +151,7 @@ Namespace UnitTests
 
             Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig,
                                     PneumaticsAuxilliariesConfig)
-            Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath)
+            Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath)
 
             Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath)
                                         
@@ -176,7 +176,7 @@ Namespace UnitTests
 
             Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig,
                                     PneumaticsAuxilliariesConfig)
-            Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath)
+            Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath)
 
             Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath)
                                         
@@ -208,7 +208,7 @@ Namespace UnitTests
 
             Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig,
                                     PneumaticsAuxilliariesConfig)
-            Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath)
+            Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath)
 
             Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath)
                                        
@@ -238,7 +238,7 @@ Namespace UnitTests
 
             Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig,
                                     PneumaticsAuxilliariesConfig)
-            Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath)
+            Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath)
             Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath)
                                        
 
@@ -268,7 +268,7 @@ Namespace UnitTests
 
             Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig,
                                     PneumaticsAuxilliariesConfig)
-            Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath)
+            Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath)
             Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath)
                                        
 
@@ -295,7 +295,7 @@ Namespace UnitTests
 
             Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig,
                                     PneumaticsAuxilliariesConfig)
-            Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath)
+            Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath)
             Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath)
                                         
 
@@ -324,7 +324,7 @@ Namespace UnitTests
 
             Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig,
                                     PneumaticsAuxilliariesConfig)
-            Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath)
+            Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath)
             Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath)
                                         
 
@@ -354,7 +354,7 @@ Namespace UnitTests
 
             Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig,
                                     PneumaticsAuxilliariesConfig)
-            Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath)
+            Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath)
             Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath)
 
             Dim auxConfig As IAuxiliaryConfig = GetAuxConfig(psAuxConfig)
@@ -378,7 +378,6 @@ Namespace UnitTests
             Return New AuxiliaryConfig() with {
                 .PneumaticAuxillariesConfig = psAuxConfig,
                 .PneumaticUserInputsConfig = _defaultInputConfig,
-                .HvacUserInputsConfig = New HVACUserInputsConfig(),
                 .VehicleData = New VehicleData() with {
                     .CurbWeight = _vehicleMassKG.SI(of Kilogram)
                     },
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/BusDatabaseTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/BusDatabaseTests.vb
deleted file mode 100644
index 3be2fcbc47..0000000000
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/BusDatabaseTests.vb
+++ /dev/null
@@ -1,228 +0,0 @@
-
-Imports NUnit.Framework
-Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
-
-
-Namespace UnitTests
-
-<TestFixture()>
-Public Class BusDatabaseTests
-
-
-Private Const GOODMAP              = "TestFiles\testBusDatabase.csv"
-Private Const DUPLICATES           = "TestFiles\testBusDatabaseDuplicates.csv"
-Private Const INSUFFICIENTROWSMAP  = "TestFiles\testBusDatabaseInsufficientRows.csv"
-Private Const INVALIDLENGTHMAP     = "TestFiles\testBusDatabaseInvalidLenght.csv"
-Private Const INVALIDWIDTHMAP      = "TestFiles\testBusDatabaseInvalidWidth.csv"
-Private Const INVALIDHEIGHTMAP     = "TestFiles\testBusDatabaseInvalidHeight.csv"
-Private Const INVALIDPASSEMGERSMAP = "TestFiles\testBusDatabaseInvalidPassengers.csv"
-
-
-<Test()>
-Public Sub BusCreateTest()
-
-            Dim target As IBus = New Bus(1, "IVECO - Arway Intercity 10.6m", "raised floor", "diesel", 10.655, 2.55, 2.275, 47, False)
-
-
-            Assert.IsNotNull(target)
-
-            Assert.AreEqual("IVECO - Arway Intercity 10.6m", target.Model)
-            Assert.AreEqual("raised floor", target.FloorType)
-            Assert.AreEqual("diesel", target.EngineType)
-
-        End Sub
-
-        <Test()>
-        Public Sub IllegalFloorTypeTest()
-
-            Dim target As IBus
-            Assert.That(Sub() target = New Bus(2, "", "raised floor", "diesel", 10.655, 2.55, 2.275, 47, False), Throws.InstanceOf(Of ArgumentException))
-        End Sub
-
-        <Test()>
-        Public Sub IllegalModelTest()
-
-            Dim target As IBus
-            Assert.That(Sub() target = New Bus(3, "ABC", "raised", "diesel", 10.655, 2.55, 2.275, 47, False), Throws.InstanceOf(Of ArgumentException))
-        End Sub
-
-        <Test()>
-        Public Sub IllegalEngineTypeTest()
-
-            Dim target As IBus
-            Assert.That(Sub() target = New Bus(4, "ABC", "raised floor", "vapour", 10.655, 2.55, 2.275, 47, False), Throws.InstanceOf(Of ArgumentException))
-        End Sub
-
-        <Test()>
-        Public Sub IllegalWidthTest()
-
-            Dim target As IBus
-            Assert.That(Sub() target = New Bus(5, "IVECO - Arway Intercity 10.6m", "raised floor", "diesel", 10.655, 0, 2.275, 47, False), Throws.InstanceOf(Of ArgumentException))
-        End Sub
-
-        <Test()>
-        Public Sub IllegalHeightTest()
-
-            Dim target As IBus
-            Assert.That(Sub() target = New Bus(6, "IVECO - Arway Intercity 10.6m", "raised floor", "diesel", 10.655, 2.55, 0, 47, False), Throws.InstanceOf(Of ArgumentException))
-        End Sub
-
-        <Test()>
-        Public Sub IllegalLengthTest()
-
-            Dim target As IBus
-            Assert.That(Sub() target = New Bus(7, "IVECO - Arway Intercity 10.6m", "raised floor", "diesel", 0, 2.55, 2.275, 47, False), Throws.InstanceOf(Of ArgumentException))
-        End Sub
-
-        <Test()>
-        Public Sub IllegalPassengersTest()
-
-            Dim target As IBus
-            Assert.That(Sub() target = New Bus(8, "IVECO - Arway Intercity 10.6m", "raised floor", "diesel", 10.655, 2.55, 2.275, 1, False), Throws.InstanceOf(Of ArgumentException))
-        End Sub
-
-        <Test()>
-        Public Sub InitialiseFromCSVGoodDataTest()
-
-            Dim target As IBusDatabase = New BusDatabase()
-
-            Dim result As Boolean = target.Initialise(GOODMAP)
-
-            Assert.IsTrue(result)
-
-        End Sub
-
-        <Test()>
-        Public Sub InitialiseFromCSVNotEnoughRowsTest()
-
-
-            Dim target As IBusDatabase = New BusDatabase()
-
-            Dim result As Boolean = target.Initialise(INSUFFICIENTROWSMAP)
-
-            Assert.IsFalse(result)
-
-
-        End Sub
-
-        <Test()>
-        Public Sub InitialiseFromCSVInvalidLengthTest()
-
-            Dim target As IBusDatabase = New BusDatabase()
-
-            Dim result As Boolean = target.Initialise(INVALIDLENGTHMAP)
-
-            Assert.IsFalse(result)
-
-        End Sub
-
-        <Test()>
-        Public Sub InitialiseFromCSVInvalidWidthTest()
-
-            Dim target As IBusDatabase = New BusDatabase()
-
-            Dim result As Boolean = target.Initialise(INVALIDWIDTHMAP)
-
-            Assert.IsFalse(result)
-
-        End Sub
-
-        <Test()>
-        Public Sub InitialiseFromCSVInvalidHeightTest()
-
-            Dim target As IBusDatabase = New BusDatabase()
-
-            Dim result As Boolean = target.Initialise(INVALIDHEIGHTMAP)
-
-            Assert.IsFalse(result)
-
-        End Sub
-
-        <Test()>
-        Public Sub InitialiseFromCSVInvalidPassengersTest()
-
-            Dim target As IBusDatabase = New BusDatabase()
-
-            Dim result As Boolean = target.Initialise(INVALIDPASSEMGERSMAP)
-
-            Assert.IsFalse(result)
-
-        End Sub
-
-        <Test()>
-        Public Sub InitialiseFromCSVDuplicatesTest()
-
-            Dim target As IBusDatabase = New BusDatabase()
-
-            Dim result As Boolean = target.Initialise(DUPLICATES)
-
-            Assert.IsFalse(result)
-
-        End Sub
-
-        <Test()>
-        Public Sub FindBusTest()
-
-            Dim target As IBusDatabase = New BusDatabase()
-            Dim result As Boolean = target.Initialise(GOODMAP)
-            Assert.IsTrue(result)
-
-            Dim busList = target.GetBuses("IVECO - Crossway Intercity 10.6m")
-
-            Assert.AreEqual(1, busList.Count())
-
-        End Sub
-
-        <Test()>
-        Public Sub FindMultipleBusesTest()
-
-            Dim target As IBusDatabase = New BusDatabase()
-            Dim result As Boolean = target.Initialise(GOODMAP)
-            Assert.IsTrue(result)
-
-            Dim busList = target.GetBuses("IVECO")
-
-            Assert.AreEqual(28, busList.Count())
-
-        End Sub
-
-        <Test()>
-        Public Sub FindAllBusesTest()
-
-            Dim target As IBusDatabase = New BusDatabase()
-            Dim result As Boolean = target.Initialise(GOODMAP)
-            Assert.IsTrue(result)
-
-            Dim busList = target.GetBuses("")
-
-            Assert.AreEqual(158, busList.Count())
-
-
-        End Sub
-
-        <Test()>
-        Public Sub FindNonExistantBus()
-
-            Dim target As IBusDatabase = New BusDatabase()
-            Dim result As Boolean = target.Initialise(GOODMAP)
-            Assert.IsTrue(result)
-
-            Dim busList = target.GetBuses("ZQZQZQ111ZQZQZQ")
-
-            Assert.AreEqual(0, busList.Count())
-
-        End Sub
-
-
-
-End Class
-
-
-
-
-
-End Namespace
-
-
-
-
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/CombinedAlternatorTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/CombinedAlternatorTests.vb
index b6d9e6ca99..595db1d73d 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/CombinedAlternatorTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/CombinedAlternatorTests.vb
@@ -240,11 +240,9 @@ Namespace UnitTests
 
 
             'Arrange
-            Dim signals As ICombinedAlternatorSignals = New CombinedAlternatorSignals
-
-
+           
             'Act
-            Dim alt As CombinedAlternator = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator)
+            Dim alt = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator)
 
 
 
@@ -268,12 +266,9 @@ Namespace UnitTests
         <Test()>
         Public Sub Alt2TableConstructTest()
 
-
-
-            'Arrange
-
+            
             'Act
-            Dim alt As CombinedAlternator = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator)
+            Dim alt = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator)
 
 
             Dim idx As Integer
@@ -295,13 +290,9 @@ Namespace UnitTests
         <Test()>
         Public Sub Alt3TableConstructTest()
 
-
-            'Arrange
-            Dim signals As ICombinedAlternatorSignals = New CombinedAlternatorSignals
-
-
+            
             'Act
-            Dim alt As CombinedAlternator = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator)
+            Dim alt = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator)
 
 
             Dim idx As Integer
@@ -323,12 +314,8 @@ Namespace UnitTests
         <Test()>
         Public Sub Alt4TableConstructTest()
 
-            'Arrange
-            Dim signals As ICombinedAlternatorSignals = New CombinedAlternatorSignals
-
-
-            'Act
-            Dim alt As CombinedAlternator = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator)
+           'Act
+            Dim alt = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator)
 
 
             Dim idx As Integer
@@ -353,16 +340,10 @@ Namespace UnitTests
         <Test()>
         Public Sub InitialiseCombinedAlternatorMapFromFile()
 
-
-            'Arrange
-            Dim signals As ICombinedAlternatorSignals = New CombinedAlternatorSignals
-
-
             'Act
-            Dim target As CombinedAlternator = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator)
-
-
+            Dim target = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator)
 
+            
             'Assert
 
             Assert.AreEqual(target.Alternators.Count, 4)
@@ -374,9 +355,6 @@ Namespace UnitTests
         <Test()>
         Public Sub InitialiseCombinedAlternatorMapFromDefault()
 
-            'Arrange
-            Dim signals As ICombinedAlternatorSignals = New CombinedAlternatorSignals
-
             'Act
             Dim target = CType( AlternatorReader.ReadMap("TestFiles/CombinedAlternatorDefaultsTest.aalt"), CombinedAlternator)
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb
index 628976e579..a3cc3bd82d 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb
@@ -24,64 +24,64 @@ Namespace UnitTests
 			Assert.IsNotNull(target)
 		End Sub
 
-        '  <Test(), ExpectedException("System.ArgumentException")>
+		'  <Test(), ExpectedException("System.ArgumentException")>
 
-        <Test()>
-        Public Sub ZeroLengthConsumerNameTest()
-            Dim target As ElectricalConsumer
-            Assert.That(Sub() target = New ElectricalConsumer(False, "Doors", "", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
+		<Test()>
+		Public Sub ZeroLengthConsumerNameTest()
+			Dim target As ElectricalConsumer
+			Assert.That(Sub() target = New ElectricalConsumer(False, "Doors", "", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
 
-        End Sub
+		End Sub
 
-        <Test()>
-        Public Sub ZeroLengthCategoryNameTest_ThrowsArgumentException()
-            Dim target As ElectricalConsumer
-            Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
-        End Sub
+		<Test()>
+		Public Sub ZeroLengthCategoryNameTest_ThrowsArgumentException()
+			Dim target As ElectricalConsumer
+			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
+		End Sub
 
 
-        'TooLow     NominalConsumption
-        'TooHigh    NominalConsumption
+		'TooLow     NominalConsumption
+		'TooHigh    NominalConsumption
 
 
-        <Test()>
-        Public Sub ToLow_PhaseIdleTractionOn_ThrowsArgumentException()
-            Dim target As ElectricalConsumer
-            Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), ElectricConstants.PhaseIdleTractionOnMin - 1,
-                                            26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
+		<Test()>
+		Public Sub ToLow_PhaseIdleTractionOn_ThrowsArgumentException()
+			Dim target As ElectricalConsumer
+			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), ElectricConstants.PhaseIdleTractionOnMin - 1,
+											26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
 
-        End Sub
+		End Sub
 
-        <Test()>
-        Public Sub ToHigh_PhaseIdleTractionOn_ThrowsArgumentException()
-            Dim target As ElectricalConsumer
-            Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), ElectricConstants.PhaseIdleTractionMax + 1,
-                                            26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
-        End Sub
+		<Test()>
+		Public Sub ToHigh_PhaseIdleTractionOn_ThrowsArgumentException()
+			Dim target As ElectricalConsumer
+			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), ElectricConstants.PhaseIdleTractionMax + 1,
+											26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
+		End Sub
 
 
-        <Test()>
-        Public Sub ToLowNumberInVehicle_ThrowsArgumentException()
-            Dim target As ElectricalConsumer
-            Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), -1, ""), Throws.InstanceOf(Of ArgumentException))
-        End Sub
+		<Test()>
+		Public Sub ToLowNumberInVehicle_ThrowsArgumentException()
+			Dim target As ElectricalConsumer
+			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), -1, ""), Throws.InstanceOf(Of ArgumentException))
+		End Sub
 
-        'TooLow     PowerNetVoltage
-        <Test()>
-        Public Sub ToLowPowerNetVoltageTest_ThrowsArgumentException()
-            Dim target As ElectricalConsumer
-            Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5,
-                                            (ElectricConstants.PowenetVoltageMin - 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
+		'TooLow     PowerNetVoltage
+		<Test()>
+		Public Sub ToLowPowerNetVoltageTest_ThrowsArgumentException()
+			Dim target As ElectricalConsumer
+			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5,
+											(ElectricConstants.PowenetVoltageMin - 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
 
-        End Sub
+		End Sub
 
-        'TooHigh    PowerNetVoltage
-        <Test()>
-        Public Sub ToHighPowerNetVoltageTest_ThrowsArgumentException()
-            Dim target As ElectricalConsumer
-            Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5,
-                                            (ElectricConstants.PowenetVoltageMax + 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
+		'TooHigh    PowerNetVoltage
+		<Test()>
+		Public Sub ToHighPowerNetVoltageTest_ThrowsArgumentException()
+			Dim target As ElectricalConsumer
+			Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5,
+											(ElectricConstants.PowenetVoltageMax + 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException))
 
-        End Sub
+		End Sub
 	End Class
 End Namespace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb
index 4273710313..308482337b 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb
@@ -2,7 +2,6 @@
 Imports NUnit.Framework
 Imports Moq
 Imports TUGraz.VectoCommon.Utils
-Imports TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
@@ -29,7 +28,7 @@ Namespace UnitTests
 			m9.Setup(Function(x) x.TotalCycleFuelConsumptionCompressorOffContinuously).Returns((y3 / 1000).SI(Of Kilogram))
 
 
-			Dim target As IM10 = New M10Impl(m3.Object, m9.Object, signals)
+			Dim target As IM10 = New M10Impl(m3.Object, m9.Object)
 
 			target.CycleStep(1.SI(Of Second))
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb
index 51846fbfbd..7d1f1d15ac 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb
@@ -3,7 +3,6 @@ Imports NUnit.Framework
 Imports Moq
 Imports TUGraz.VectoCommon.BusAuxiliaries
 Imports TUGraz.VectoCommon.Utils
-Imports TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
@@ -41,7 +40,7 @@ Namespace UnitTests
 			M10Mock.Setup(Function(x) x.AverageLoadsFuelConsumptionInterpolatedForPneumatics).Returns((IP7 / 1000).SI(Of Kilogram))
 
 			'Act
-			Dim target = New M12Impl(M10Mock.Object, m11Mock.Object, sgnlsMock.Object)
+			Dim target = New M12Impl(M10Mock.Object, m11Mock.Object)
 
 			'Assert
 			Assert.AreEqual(target.FuelconsumptionwithsmartElectricsandAveragePneumaticPowerDemand().Value(),
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb
index b024fc7db5..e6516ad05c 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb
@@ -5,6 +5,7 @@ Imports VectoAuxiliaries.Hvac
 Imports NUnit.Framework
 Imports Moq
 Imports TUGraz.VectoCommon.BusAuxiliaries
+Imports TUGraz.VectoCommon.Models
 Imports TUGraz.VectoCommon.Utils
 Imports TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
@@ -12,6 +13,7 @@ Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules
 Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
+Imports TUGraz.VectoCore.Models.Declaration
 
 
 Namespace UnitTests
@@ -120,15 +122,14 @@ Namespace UnitTests
 			Dim hvacSSM As New Mock(Of ISSMTOOL)
 			Dim signals As New Mock(Of ISignals)
 			Dim ssmMock As ISSMTOOL = New SSMToolMock()
-			Dim constants As IHVACConstants = New HVACConstants(835.SI(Of KilogramPerCubicMeter))
 
 			'Moq' Arrangements
 			m13.Setup(Function(x) x.WHTCTotalCycleFuelConsumption).Returns((ip1 / 1000).SI(Of Kilogram))
 			signals.Setup(Function(x) x.CurrentCycleTimeInSeconds).Returns(ip5)
 
-
+            Dim fuel = New FuelData.Entry(FuelType.DieselCI, Nothing, 0.SI(of KilogramPerCubicMeter),1.0, 44800.SI(Unit.SI.Joule.Per.Gramm).Cast(Of JoulePerKilogramm), 44800.SI(Unit.SI.Joule.Per.Gramm).Cast(Of JoulePerKilogramm))
 			'Act
-			Dim m14 As New M14Impl(m13.Object, ssmMock, constants, signals.Object)
+			Dim m14 As New M14Impl(m13.Object, ssmMock, fuel, signals.Object)
 
 			'Assert
             Assert.AreEqual(expectedOut1.SI(Unit.SI.Gramm).Value(), m14.TotalCycleFC.Value(), 0.1)
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb
index d2b96d4605..8179b4fab6 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb
@@ -47,7 +47,7 @@ Namespace UnitTests
             dim auxConfig = Utils.GetAuxTestConfig()
             dim vehicle = auxConfig.VehicleData
             CType(vehicle, VehicleData).Height = 0.SI (of Meter)
-            Dim ssmInput = SSMInputData.ReadFile(_SSMMAP, vehicle, Nothing, HVACTechBenefitsReader.ReadFromFile("TestFiles/TechBenefits.csv"))
+            Dim ssmInput = SSMInputData.ReadFile(_SSMMAP, vehicle, Nothing, SSMTechnologiesReader.ReadFromFile("TestFiles/TechBenefits.csv"))
             ssm = New SSMTOOL(ssmInput)
             
             alternatorMap = AlternatorReader.ReadMap(_GOODMAP)
@@ -55,7 +55,7 @@ Namespace UnitTests
             
 
             'ssm.Load(_SSMMAP)
-            For Each entry As ITechListBenefitLine In ssm.TechList.TechLines
+            For Each entry As ISSMTechnology In ssm.TechList.TechLines
                 entry.OnVehicle = True
             Next
             Dim m01 As IM0_1_AverageElectricLoadDemand = New M0_1Impl(auxConfig)
@@ -67,14 +67,12 @@ Namespace UnitTests
 
             'ssm.Load(_SSMMAP)
 
-            For Each entry As ITechListBenefitLine In ssm.TechList.TechLines
+            For Each entry As ISSMTechnology In ssm.TechList.TechLines
                 entry.OnVehicle = true
             next
 
             Return New M01Impl(m0, alternatorGearEfficiency,
                                compressorGrearEfficiency,
-                               powernetVoltage,
-                               signals,
                                ssm)
         End Function
 
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb
index 801a0999e6..141225a7e9 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb
@@ -65,7 +65,7 @@ Namespace UnitTests
 			'Get Consumers.
 
 
-			Return New M02Impl(m01, m0, 0.8, 26.3.SI(Of Volt), signals)
+			Return New M02Impl(m01, m0, 0.8, 26.3.SI(Of Volt))
 		End Function
 
 #End Region
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticActuationsMapTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticActuationsMapTests.vb
index 6bad771dd0..b04e7f7774 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticActuationsMapTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticActuationsMapTests.vb
@@ -41,7 +41,7 @@ Namespace Pneumatics
         <Test()>
         Public Sub CreateNewTest()
 
-            Dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP)
+            Dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP)
             Assert.IsNotNull(target)
         End Sub
 
@@ -49,7 +49,7 @@ Namespace Pneumatics
         <Test()>
         Public Sub InitialiseGoodMapTest()
 
-            Dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP)
+            Dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP)
             'target.Initialise()
         End Sub
 
@@ -58,7 +58,7 @@ Namespace Pneumatics
         Public Sub InitialiseWrongNumberOfColumnTest()
 
             Assert.That(Sub()
-                dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INCORRECTCOLUMNS)
+                dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INCORRECTCOLUMNS)
             End Sub, Throws.InstanceOf (Of VectoException))
         End Sub
 
@@ -66,7 +66,7 @@ Namespace Pneumatics
         Public Sub InvalidIntegerTest()
 
             Assert.That(Sub()
-                dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDINTEGERVALUE)
+                dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDINTEGERVALUE)
             End Sub, Throws.InstanceOf (Of FormatException))
         End Sub
 
@@ -74,7 +74,7 @@ Namespace Pneumatics
         Public Sub DuplicateKeyTest()
 
             Assert.That(Sub()
-                dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_DUPLICATEKEY)
+                dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_DUPLICATEKEY)
             End Sub, Throws.InstanceOf (Of VectoException),
                         "Duplicate entries in pneumatic actuations map! Brakes / Urban")
         End Sub
@@ -83,7 +83,7 @@ Namespace Pneumatics
         Public Sub EmptyConsumerNameTest()
 
             Assert.That(Sub()
-                dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDCONSUMERNAME)
+                dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDCONSUMERNAME)
             End Sub, Throws.InstanceOf (Of ArgumentException))
         End Sub
 
@@ -91,7 +91,7 @@ Namespace Pneumatics
         Public Sub EmptyCycleNameTest()
 
             Assert.That(Sub()
-                Dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDCYCLENAME)
+                Dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDCYCLENAME)
             End Sub, Throws.InstanceOf (Of ArgumentException))
         End Sub
 
@@ -113,7 +113,7 @@ Namespace Pneumatics
         <TestCase("Kneeling", "Coach", 0)>
         Public Sub ValueLookupTest(key As String, cycle As String, expected As Integer)
 
-            Dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP)
+            Dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP)
 
             'target.Initialise()
             Dim actual As Integer
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
index b7fbeda839..e386483fc9 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
@@ -25,7 +25,7 @@ Namespace UnitTests
 
             Dim src As SSMTOOL = DirectCast(source, SSMTOOL)
 
-            Dim newItem As ITechListBenefitLine = New TechListBenefitLine()
+            Dim newItem As ISSMTechnology = New SSMTechnology()
             newItem.BusFloorType = src.SSMInputs.BusParameters.BusFloorType
 
 
@@ -53,8 +53,7 @@ Namespace UnitTests
 
             Dim feedback As String = String.Empty
 
-            CType( src.TechList, SSMTechList).Clear()
-            Assert.IsTrue(CType( src.TechList, SSMTechList).Add(newItem, feedback))
+            CType(src.TechList, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem})
         End Sub
 
         <OneTimeSetUp>
@@ -93,7 +92,8 @@ Namespace UnitTests
                 '******************
                 Assert.AreEqual(0.95R, target.BoundaryConditions.GFactor)
                 Assert.AreEqual(0.8R, target.BoundaryConditions.SolarClouding(20.0.DegCelsiusToKelvin()))
-                Assert.AreEqual(80, target.BoundaryConditions.HeatPerPassengerIntoCabin(20.0.DegCelsiusToKelvin()).Value())
+                Assert.AreEqual(80,
+                                target.BoundaryConditions.HeatPerPassengerIntoCabin(20.0.DegCelsiusToKelvin()).Value())
                 'Assert.AreEqual(12, target.BoundaryConditions.PassengerBoundaryTemperature.AsDegCelsius)
                 Assert.AreEqual(3.0R, target.BusParameters.PassengerDensityLowFloor.Value())
                 Assert.AreEqual(2.2R, target.BusParameters.PassengerDensitySemiLowFloor.Value())
@@ -110,7 +110,7 @@ Namespace UnitTests
                 Assert.AreEqual(242.3, Math.Round(target.BoundaryConditions.LowVentPower.Value(), 2))
                 Assert.AreEqual(0.56R, target.BoundaryConditions.SpecificVentilationPower.Value()/3600)
                 Assert.AreEqual(0.84, target.BoundaryConditions.AuxHeaterEfficiency)
-                Assert.AreEqual(42700.0 / 3600.0, target.BoundaryConditions.GCVDieselOrHeatingOil.Value()/3600.0/1000.0)
+                Assert.AreEqual(42700.0/3600.0, target.BoundaryConditions.GCVDieselOrHeatingOil.Value()/3600.0/1000.0)
                 'Assert.AreEqual(11.8, target.BoundaryConditions.GCVDieselOrHeatingOil.Value()/3600.0/1000.0)
                 Assert.AreEqual(1.5R, target.BoundaryConditions.WindowAreaPerUnitBusLength.Value())
                 Assert.AreEqual(5, target.BoundaryConditions.FrontRearWindowArea.Value())
@@ -130,7 +130,7 @@ Namespace UnitTests
             If section = "AC-System" Then
                 'AC-SYSTEM
                 '*********
-                Assert.AreEqual("2-stage", target.ACSystem.CompressorType)
+                Assert.AreEqual(ACCompressorType.TwoStage, target.ACSystem.CompressorType)
                 Assert.AreEqual(18, target.ACSystem.CompressorCapacity.Value()/1000.0)
                 Assert.AreEqual(3.5, target.ACSystem.COP)
             End If
@@ -163,7 +163,7 @@ Namespace UnitTests
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
-            target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechList).Items
+            target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechList).Items
 
 
             Assert.IsTrue(target.TechLines.Count > 0)
@@ -176,9 +176,9 @@ Namespace UnitTests
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
-            target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListALLON).Items
+            target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListALLON).Items
 
-            For Each entry As ITechListBenefitLine In target.TechLines
+            For Each entry As ISSMTechnology In target.TechLines
                 entry.OnVehicle = True
             Next
 
@@ -204,7 +204,7 @@ Namespace UnitTests
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
-            target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items
+            target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
 
             'Assert.IsTrue(target.Initialise())
 
@@ -218,9 +218,9 @@ Namespace UnitTests
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
-            target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items
+            target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
 
-            Dim newItem As ITechListBenefitLine = New TechListBenefitLine()
+            Dim newItem As ISSMTechnology = New SSMTechnology()
             newItem.BusFloorType = gen.BusParameters.BusFloorType
 
             'newItem.Units = "fraction"
@@ -245,9 +245,8 @@ Namespace UnitTests
             newItem.ActiveVC = True
             'newItem.LineType = TechLineType.Normal
 
-            Dim feedback As String = String.Empty
 
-            Assert.istrue(CType(target, SSMTechList).Add(newItem, feedback))
+            CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem})
 
 
             Assert.IsTrue(target.TechLines.Count = 1)
@@ -260,9 +259,9 @@ Namespace UnitTests
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
-            target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items
+            target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
 
-            Dim newItem As ITechListBenefitLine = New TechListBenefitLine()
+            Dim newItem As ISSMTechnology = New SSMTechnology()
             newItem.BusFloorType = gen.BusParameters.BusFloorType
 
             'newItem.Units = "fraction"
@@ -289,8 +288,8 @@ Namespace UnitTests
 
             Dim feedback As String = String.Empty
 
-            Assert.istrue(CType(target, SSMTechList).Add(newItem, feedback))
-            Assert.isFalse(CType(target, SSMTechList).Add(newItem, feedback))
+            CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem})
+            CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem})
 
             Assert.IsTrue(target.TechLines.Count = 1)
         End Sub
@@ -302,9 +301,9 @@ Namespace UnitTests
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
-            target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items
+            target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
 
-            Dim newItem As ITechListBenefitLine = New TechListBenefitLine()
+            Dim newItem As ISSMTechnology = New SSMTechnology()
             newItem.BusFloorType = gen.BusParameters.BusFloorType
 
             'newItem.Units = "fraction"
@@ -331,9 +330,9 @@ Namespace UnitTests
 
             Dim feedback As String = String.Empty
 
-            Assert.IsTrue(CType(target, SSMTechList).Add(newItem, feedback))
+            CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem})
             Assert.IsTrue(target.TechLines.Count = 1)
-            CType(target, SSMTechList).Clear()
+            CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)()
             Assert.IsTrue(target.TechLines.Count = 0)
         End Sub
 
@@ -344,9 +343,9 @@ Namespace UnitTests
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
-            target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items
+            target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
 
-            Dim newItem As ITechListBenefitLine = New TechListBenefitLine()
+            Dim newItem As ISSMTechnology = New SSMTechnology()
             newItem.BusFloorType = gen.BusParameters.BusFloorType
 
             'newItem.Units = "fraction"
@@ -371,10 +370,8 @@ Namespace UnitTests
             newItem.ActiveVC = True
             'newItem.LineType = TechLineType.Normal
 
-            Dim feedback As String = String.Empty
-
             'Add
-            Assert.IsTrue(CType(target, SSMTechList).Add(newItem, feedback))
+            CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem})
 
             'Modify
             newItem.LowFloorC = 0.99
@@ -388,9 +385,9 @@ Namespace UnitTests
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
-            target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items
+            target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
 
-            Dim newItem As ITechListBenefitLine = New TechListBenefitLine()
+            Dim newItem As ISSMTechnology = New SSMTechnology()
             newItem.BusFloorType = gen.BusParameters.BusFloorType
 
             'newItem.Units = "fraction"
@@ -415,11 +412,9 @@ Namespace UnitTests
             newItem.ActiveVC = True
             'newItem.LineType = TechLineType.Normal
 
-            Dim feedback As String = String.Empty
-
-            Assert.IsTrue(CType(target, SSMTechList).Add(newItem, feedback))
+            CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem})
             Assert.IsTrue(target.TechLines.Count = 1)
-            Assert.IsTrue(CType(target, SSMTechList).Delete(newItem, feedback))
+            CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)()
             Assert.IsTrue(target.TechLines.Count = 0)
         End Sub
 
@@ -430,9 +425,9 @@ Namespace UnitTests
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
             Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType)
-            target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items
+            target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items
 
-            Dim newItem As ITechListBenefitLine = New TechListBenefitLine()
+            Dim newItem As ISSMTechnology = New SSMTechnology()
             newItem.BusFloorType = gen.BusParameters.BusFloorType
 
             'newItem.Units = "fraction"
@@ -457,9 +452,7 @@ Namespace UnitTests
             newItem.ActiveVC = True
             'newItem.LineType = TechLineType.Normal
 
-            Dim feedback As String = String.Empty
-
-            Assert.IsFalse(CType(target, SSMTechList).Delete(newItem, feedback))
+            CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)()
         End Sub
 
         'TechListLineTests
@@ -468,7 +461,7 @@ Namespace UnitTests
 
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
-            Dim ttl As ITechListBenefitLine = New TechListBenefitLine()
+            Dim ttl As ISSMTechnology = New SSMTechnology()
             ttl.BusFloorType = gen.BusParameters.BusFloorType
 
             Assert.IsNotNull(ttl)
@@ -479,10 +472,10 @@ Namespace UnitTests
 
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
-            Dim ttl1 As ITechListBenefitLine = New TechListBenefitLine()
+            Dim ttl1 As ISSMTechnology = New SSMTechnology()
             ttl1.BusFloorType = gen.BusParameters.BusFloorType
 
-            Dim ttl2 As ITechListBenefitLine = New TechListBenefitLine()
+            Dim ttl2 As ISSMTechnology = New SSMTechnology()
             ttl2.BusFloorType = gen.BusParameters.BusFloorType
 
             Assert.IsTrue(ttl1.IsEqualTo(ttl2))
@@ -510,10 +503,10 @@ Namespace UnitTests
 
             Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing)
 
-            Dim ttl1 As ITechListBenefitLine = New TechListBenefitLine()
+            Dim ttl1 As ISSMTechnology = New SSMTechnology()
             ttl1.BusFloorType = gen.BusParameters.BusFloorType
 
-            Dim ttl2 As ITechListBenefitLine = New TechListBenefitLine()
+            Dim ttl2 As ISSMTechnology = New SSMTechnology()
             ttl2.BusFloorType = gen.BusParameters.BusFloorType
 
             Select Case prop
@@ -568,8 +561,9 @@ Namespace UnitTests
             Dim success As Boolean
 
             Dim dao = New DeclarationDataAdapter()
-            Dim target As SSMTOOL = New SSMTOOL(dao.CreateSSMModelParameters(Utils.GetDefaultVehicleData(), FuelData.Diesel))
-           
+            Dim target As SSMTOOL = New SSMTOOL(dao.CreateSSMModelParameters(Utils.GetDefaultVehicleData(),
+                                                                             FuelData.Diesel))
+
             success = BusAuxWriter.SaveSSMConfig(target.SSMInputs, filePath)
             'success = target.Save(filePath)
             Assert.IsTrue(success)
@@ -582,7 +576,7 @@ Namespace UnitTests
             'Retreive
             'success = target.Load(filePath)
             Try
-                target = New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
+                target = New SSMTOOL(SSMInputData.ReadFile(filePath, utils.GetDefaultVehicleData(),
                                                            DeclarationData.BusAuxiliaries.DefaultEnvironmentalConditions,
                                                            DeclarationData.BusAuxiliaries.SSMTechnologyList))
             Catch
@@ -607,11 +601,11 @@ Namespace UnitTests
             '                                                               DefaultEnvironmentalConditions,
             '                                                            DeclarationData.BusAuxiliaries.SSMTechnologyList)) _
             '', New HVACConstants())
-            Dim ssmTool2 As SSMTOOL =  New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
-                'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
-                '                                                        DeclarationData.BusAuxiliaries.
-                '                                                           DefaultEnvironmentalConditions,
-                '                                                        DeclarationData.BusAuxiliaries.SSMTechnologyList)) _
+            Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
+            'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
+            '                                                        DeclarationData.BusAuxiliaries.
+            '                                                           DefaultEnvironmentalConditions,
+            '                                                        DeclarationData.BusAuxiliaries.SSMTechnologyList)) _
             ', New HVACConstants())
 
 
@@ -624,11 +618,11 @@ Namespace UnitTests
             Const filePath As String = "SSMTOOLTestSaveRetreive.json"
 
 
-            Dim ssmTool1 As SSMTOOL =  New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
-                'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
-                '                                                        DeclarationData.BusAuxiliaries.
-                '                                                           DefaultEnvironmentalConditions,
-                '                                                        DeclarationData.BusAuxiliaries.SSMTechnologyList)) _
+            Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
+            'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
+            '                                                        DeclarationData.BusAuxiliaries.
+            '                                                           DefaultEnvironmentalConditions,
+            '                                                        DeclarationData.BusAuxiliaries.SSMTechnologyList)) _
             ' New HVACConstants())
 
             'Alter somthing
@@ -637,10 +631,10 @@ Namespace UnitTests
                 99.0.DegCelsiusToKelvin()
 
             Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
-                'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
-                '                                                        DeclarationData.BusAuxiliaries.
-                '                                                           DefaultEnvironmentalConditions,
-                '                                                        DeclarationData.BusAuxiliaries.SSMTechnologyList)) _
+            'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
+            '                                                        DeclarationData.BusAuxiliaries.
+            '                                                           DefaultEnvironmentalConditions,
+            '                                                        DeclarationData.BusAuxiliaries.SSMTechnologyList)) _
             ', New HVACConstants())
 
 
@@ -654,7 +648,7 @@ Namespace UnitTests
             Const filePath As String = "SSMTOOLTestSaveRetreive.json"
 
 
-            Dim ssmTool1 As SSMTOOL =  New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
+            Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
             'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
             '                                                            DeclarationData.BusAuxiliaries.
             '                                                               DefaultEnvironmentalConditions,
@@ -680,7 +674,7 @@ Namespace UnitTests
             '                                                            DeclarationData.BusAuxiliaries.
             '                                                               DefaultEnvironmentalConditions,
             '                                                            DeclarationData.BusAuxiliaries.SSMTechnologyList))
-            Dim ssmTool2 As SSMTOOL =  New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
+            Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
             'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
             '                                                            DeclarationData.BusAuxiliaries.
             '                                                               DefaultEnvironmentalConditions,
@@ -698,12 +692,12 @@ Namespace UnitTests
             Const filePath As String = "SSMTOOLTestSaveRetreive.json"
 
 
-            Dim ssmTool1 As SSMTOOL =  New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
+            Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
             'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
             '                                                            DeclarationData.BusAuxiliaries.
             '                                                               DefaultEnvironmentalConditions,
             '                                                            DeclarationData.BusAuxiliaries.SSMTechnologyList))
-            Dim ssmTool2 As SSMTOOL =  New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
+            Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
             'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
             '                                                            DeclarationData.BusAuxiliaries.
             '                                                               DefaultEnvironmentalConditions,
@@ -722,12 +716,12 @@ Namespace UnitTests
             Const filePath As String = "SSMTOOLTestSaveRetreive.json"
 
 
-            Dim ssmTool1 As SSMTOOL =  New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
-                'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
-                '                                                        DeclarationData.BusAuxiliaries.
-                '                                                           DefaultEnvironmentalConditions,
-                '                                                        DeclarationData.BusAuxiliaries.SSMTechnologyList))
-            Dim ssmTool2 As SSMTOOL =  New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
+            Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
+            'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
+            '                                                        DeclarationData.BusAuxiliaries.
+            '                                                           DefaultEnvironmentalConditions,
+            '                                                        DeclarationData.BusAuxiliaries.SSMTechnologyList))
+            Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
             'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
             '                                                            DeclarationData.BusAuxiliaries.
             '                                                               DefaultEnvironmentalConditions,
@@ -749,7 +743,7 @@ Namespace UnitTests
             Const filePath As String = "SSMTOOLTestSaveRetreive.json"
 
 
-            Dim ssmTool1 As SSMTOOL =  New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
+            Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs)
             'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(),
             '                                                            DeclarationData.BusAuxiliaries.
             '                                                               DefaultEnvironmentalConditions,
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb
index 8edd7e16ab..b2967098a8 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb
@@ -111,7 +111,6 @@ Public Class Utils
                 .SmartAirCompression = False,
                 .SmartRegeneration = False  
                 },
-            .HvacUserInputsConfig = New HVACUserInputsConfig(),
             .SSMInputs = New SSMInputs(vehicleData, Nothing, heatingFuel) With {
                 .Technologies = DeclarationData.BusAuxiliaries.SSMTechnologyList,
                 .DefaultConditions = New EnvironmentalConditionMapEntry(25.0.DegCelsiusToKelvin(), 400.SI(Of WattPerSquareMeter), 1.0),
@@ -121,7 +120,7 @@ Public Class Utils
                 .HighVentilation = 20.SI(Unit.SI.Per.Hour).Cast(Of PerSecond),
                 .LowVentilation = 7.SI(Unit.SI.Per.Hour).Cast(Of PerSecond),
                 .SpecificVentilationPower = 0.56.SI(Unit.SI.Watt.Hour.Per.Cubic.Meter).Cast(Of JoulePerCubicMeter),
-                .CompressorType = "2-stage",
+                .CompressorType = ACCompressorType.TwoStage, 
                 .CompressorCapacity = 18.si(Unit.SI.kilo.watt).Cast(of Watt),
                 .AuxHeaterEfficiency =  0.84,
                 .FuelFiredHeaterPower = 30.SI(Unit.SI.kilo.watt).Cast(Of Watt),
@@ -131,7 +130,7 @@ Public Class Utils
             },
             .VehicleData = vehicleData,
             .Signals = signals,
-            .ActuationsMap = PneumaticActuationsMapReader.Read("TestFiles/testPneumaticActuationsMap_GOODMAP.apac"),
+            .ActuationsMap = ActuationsMapReader.Read("TestFiles/testPneumaticActuationsMap_GOODMAP.apac"),
             .Cycle = "TESTCYCLE"
             }
         Return retVal
diff --git a/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj b/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj
index 51cc206d81..c9b938f687 100644
--- a/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj
+++ b/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj
@@ -124,7 +124,6 @@
     <Compile Include="Mocks\M5_Mock.vb" />
     <Compile Include="Mocks\M6_Mock.vb" />
     <Compile Include="Mocks\M7_Mock.vb" />
-    <Compile Include="UnitTests\BusDatabaseTests.vb" />
     <Compile Include="UnitTests\CombinedAlternatorTests.vb" />
     <Compile Include="UnitTests\FilePathUtilityTests.vb" />
     <Compile Include="UnitTests\M0_5_SmartAlternatorSetEfficiencyTests.vb" />
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IPneumaticActuationsMap.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IActuationsMap.cs
similarity index 94%
rename from VectoCommon/VectoCommon/BusAuxiliaries/IPneumaticActuationsMap.cs
rename to VectoCommon/VectoCommon/BusAuxiliaries/IActuationsMap.cs
index f6c9a6b2c5..a283575a0e 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/IPneumaticActuationsMap.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/IActuationsMap.cs
@@ -12,7 +12,7 @@
 
 namespace TUGraz.VectoCommon.BusAuxiliaries
 {
-	public interface IPneumaticActuationsMap
+	public interface IActuationsMap
 	{
 		int GetNumActuations(ActuationsKey key);
 
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IAlternatorMap.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IAlternatorMap.cs
index 17b119ef53..08b7359015 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/IAlternatorMap.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/IAlternatorMap.cs
@@ -20,10 +20,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.El
 		/// 	Returns the alternator efficiency at given rpm
 		/// 	</summary>
 		/// 	<param name="rpm">alternator rotation speed</param>
-		/// <param name="amps"></param>
+		/// <param name="currentDemand"></param>
 		/// <returns>Single</returns>
 		/// 	<remarks></remarks>
-		double GetEfficiency(PerSecond rpm, Ampere amps);
+		double GetEfficiency(PerSecond rpm, Ampere currentDemand);
 
 		string Source { get; }
 	}
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IAuxiliaryConfig.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IAuxiliaryConfig.cs
index e5d869f35e..c7e9627280 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/IAuxiliaryConfig.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/IAuxiliaryConfig.cs
@@ -22,10 +22,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries {
 
 		ISSMInputs SSMInputs { get; }
 
-		IPneumaticActuationsMap ActuationsMap { get; }
-
-		// Hvac
-		IHVACUserInputsConfig HvacUserInputsConfig { get;  }
+		IActuationsMap ActuationsMap { get; }
 
 		bool ConfigValuesAreTheSameAs(IAuxiliaryConfig other);
 
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IFuelConsumptionMap.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IFuelConsumptionMap.cs
index 1f9bfcb441..06b3977d3d 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/IFuelConsumptionMap.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/IFuelConsumptionMap.cs
@@ -11,5 +11,6 @@ namespace TUGraz.VectoCommon.BusAuxiliaries {
 		/// <returns></returns>
 		/// <remarks></remarks>
 		KilogramPerSecond GetFuelConsumption(NewtonMeter torque, PerSecond angularVelocity);
+
 	}
 }
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs
new file mode 100644
index 0000000000..f9f89dbf62
--- /dev/null
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs
@@ -0,0 +1,24 @@
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
+
+namespace TUGraz.VectoCommon.BusAuxiliaries {
+	public interface IFuelProperties
+	{
+		FuelType FuelType { get; }
+
+		TankSystem? TankSystem { get; }
+
+		KilogramPerCubicMeter FuelDensity { get; }
+
+		double CO2PerFuelWeight { get; }
+
+		JoulePerKilogramm LowerHeatingValueVecto { get; }
+
+		JoulePerKilogramm LowerHeatingValueVectoEngine { get; }
+
+		double HeatingValueCorrection { get; }
+
+		string GetLabel();
+	}
+}
\ No newline at end of file
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
index 705882513d..449f169d60 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs
@@ -10,7 +10,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 
 		ISSMBusParameters BusParameters { get; }
 
-		ITechlistBenefitLines Technologies { get; }
+		ISSMTechnologies Technologies { get; }
 
 		ISSMBoundaryConditions BoundaryConditions { get; }
 
@@ -55,7 +55,6 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 		double SolarClouding(Kelvin envTemp);
 
 		Watt HeatPerPassengerIntoCabin(Kelvin envTemp);
-		//Kelvin PassengerBoundaryTemperature { get; }
 		WattPerKelvinSquareMeter UValue { get; }
 		Kelvin HeatingBoundaryTemperature { get; }
 		Kelvin CoolingBoundaryTemperature { get; }
@@ -78,9 +77,6 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 	public interface IEnvironmentalConditions
 	{
 		// EnviromentalConditions				
-		//Kelvin EnviromentalTemperature { get; }
-
-		//WattPerSquareMeter Solar { get; }
 
 		IEnvironmentalConditionsMapEntry DefaultConditions { get; }
 
@@ -94,9 +90,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 	public interface IACSystem
 	{
 		// AC-system				            
-		string CompressorType { get; }
-
-		string CompressorTypeDerived { get; }
+		ACCompressorType CompressorType { get; }
 		Watt CompressorCapacity { get; }
 		double COP { get; }
 	}
@@ -119,6 +113,47 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 		High
 	}
 
+	public enum ACCompressorType
+	{
+		TwoStage,
+		ThreeStage,
+		FourStage,
+		Continuous
+	}
+
+	public static class ACCompressorTypeExtensions
+	{
+		public static ACCompressorType ParseEnum(string txt)
+		{
+			switch (txt) {
+				case "2-stage": return ACCompressorType.TwoStage;
+				case "3-stage": return ACCompressorType.ThreeStage;
+				case "4-stage": return ACCompressorType.FourStage;
+				default: return txt.ParseEnum<ACCompressorType>();
+			}
+		}
+
+		public static string ToString(this ACCompressorType type)
+		{
+			switch (type) {
+				case ACCompressorType.TwoStage: return "2-stage";
+				case ACCompressorType.ThreeStage: return "3-stage";
+				case ACCompressorType.FourStage: return "4-stage";
+				default: return type.ToString();
+			}
+		}
+
+		public static bool IsElectrical(this ACCompressorType type)
+		{
+			return type == ACCompressorType.Continuous;
+		}
+
+		public static bool IsMechanical(this ACCompressorType type)
+		{
+			return type != ACCompressorType.Continuous;
+		}
+	}
+
 	public interface IAuxHeater
 	{
 		// Aux. Heater				
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechList.cs b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechList.cs
index aeb4d9932f..db6ee323f1 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechList.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechList.cs
@@ -4,7 +4,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 {
 	public interface ISSMTechList
 	{
-		IReadOnlyList<ITechListBenefitLine> TechLines { get; set; }
+		IReadOnlyList<ISSMTechnology> TechLines { get; set; }
 
 		//void Clear();
 		//ITechListBenefitLine Find(string category, string benefitName);
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/ITechListBenefitLine.cs b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechnology.cs
similarity index 77%
rename from VectoCommon/VectoCommon/BusAuxiliaries/ITechListBenefitLine.cs
rename to VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechnology.cs
index f79f26f5a9..c7501bad2a 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/ITechListBenefitLine.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechnology.cs
@@ -2,14 +2,14 @@
 
 namespace TUGraz.VectoCommon.BusAuxiliaries {
 
-	public interface ITechlistBenefitLines
+	public interface ISSMTechnologies
 	{
-		IReadOnlyList<ITechListBenefitLine> Items { get; }
+		IReadOnlyList<ISSMTechnology> Items { get; }
 
 		string Source { get; }
 	}
 
-	public interface ITechListBenefitLine
+	public interface ISSMTechnology
 	{
 		FloorType BusFloorType { set; }
 
@@ -39,8 +39,6 @@ namespace TUGraz.VectoCommon.BusAuxiliaries {
 		double VC { get; }
 		double C { get; }
 
-		void CloneFrom(ITechListBenefitLine source);
-
-		bool IsEqualTo(ITechListBenefitLine source);
+		bool IsEqualTo(ISSMTechnology source);
 	}
 }
\ No newline at end of file
diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/SmartResult.cs b/VectoCommon/VectoCommon/BusAuxiliaries/SmartResult.cs
index c64e19615e..75482f08e4 100644
--- a/VectoCommon/VectoCommon/BusAuxiliaries/SmartResult.cs
+++ b/VectoCommon/VectoCommon/BusAuxiliaries/SmartResult.cs
@@ -16,14 +16,11 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
 {
 	public class SmartResult : IComparable<SmartResult>
 	{
-		public Ampere Amps { get; set; }
-		public Ampere SmartAmps { get; set; }
+		public Ampere Amps { get;  }
+		public Ampere SmartAmps { get;  }
 
 		// Constructors
-		public SmartResult()
-		{
-		}
-
+		
 		public SmartResult(Ampere amps, Ampere smartAmps)
 		{
 			Amps = amps;
diff --git a/VectoCommon/VectoCommon/VectoCommon.csproj b/VectoCommon/VectoCommon/VectoCommon.csproj
index 1392ad2555..a45bad7a10 100644
--- a/VectoCommon/VectoCommon/VectoCommon.csproj
+++ b/VectoCommon/VectoCommon/VectoCommon.csproj
@@ -63,16 +63,17 @@
     <Compile Include="BusAuxiliaries\IEnvironmentalConditionsMapEntry.cs" />
     <Compile Include="BusAuxiliaries\IEnvironmentalConditionsMap.cs" />
     <Compile Include="BusAuxiliaries\IFuelConsumptionMap.cs" />
+    <Compile Include="BusAuxiliaries\IFuelProperties.cs" />
     <Compile Include="BusAuxiliaries\IHVACConstants.cs" />
     <Compile Include="BusAuxiliaries\IHVACUserInputsConfig.cs" />
-    <Compile Include="BusAuxiliaries\IPneumaticActuationsMap.cs" />
+    <Compile Include="BusAuxiliaries\IActuationsMap.cs" />
     <Compile Include="BusAuxiliaries\IPneumaticsAuxilliariesConfig.cs" />
     <Compile Include="BusAuxiliaries\IPneumaticUserInputsConfig.cs" />
     <Compile Include="BusAuxiliaries\IResultCard.cs" />
     <Compile Include="BusAuxiliaries\ISignals.cs" />
     <Compile Include="BusAuxiliaries\ISSMInputs.cs" />
     <Compile Include="BusAuxiliaries\ISSMTechList.cs" />
-    <Compile Include="BusAuxiliaries\ITechListBenefitLine.cs" />
+    <Compile Include="BusAuxiliaries\ISSMTechnology.cs" />
     <Compile Include="BusAuxiliaries\IVehicleData.cs" />
     <Compile Include="BusAuxiliaries\SmartResult.cs" />
     <Compile Include="Hashing\IVectoHash.cs" />
diff --git a/VectoCore/VectoCore/Configuration/Constants.cs b/VectoCore/VectoCore/Configuration/Constants.cs
index 0b9bbea430..58d598ffd1 100644
--- a/VectoCore/VectoCore/Configuration/Constants.cs
+++ b/VectoCore/VectoCore/Configuration/Constants.cs
@@ -30,7 +30,6 @@
 */
 
 using System;
-using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
 
 namespace TUGraz.VectoCore.Configuration
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs
index 7b408d3e10..16a878d433 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs
@@ -9,7 +9,6 @@ using TUGraz.VectoCore.Models.BusAuxiliaries;
 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.Declaration;
 
 namespace TUGraz.VectoCore.InputData.FileIO.JSON
@@ -29,14 +28,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			var ec = LoadElectricalConfig((JObject)data["ElectricalUserInputsConfig"], baseDir);
 			var pac = LoadPneumaticsAuxConfig((JObject)data["PneumaticAuxillariesConfig"], baseDir);
 			var puc = LoadPneumaticUserConfig((JObject)data["PneumaticUserInputsConfig"], baseDir);
-			var hvac = LoadHVAC((JObject)data["HvacUserInputsConfig"], baseDir);
 			var env = string.IsNullOrWhiteSpace(data["EnvironmentalConditions"]?.ToString())
 				? DeclarationData.BusAuxiliaries.DefaultEnvironmentalConditions
 				: EnvironmentalContidionsMapReader.ReadFile(data["EnvironmentalConditions"].ToString());
 			var techList = string.IsNullOrWhiteSpace(data["SSMTechologies"]?.ToString())
 				? DeclarationData.BusAuxiliaries.SSMTechnologyList
-				: HVACTechBenefitsReader.ReadFromFile(data["SSMTechologies"].ToString());
-			var actuationsMap = PneumaticActuationsMapReader.Read(Path.Combine(baseDir, data.GetEx<string>("ActuationsMap")));
+				: SSMTechnologiesReader.ReadFromFile(data["SSMTechologies"].ToString());
+			var actuationsMap = ActuationsMapReader.Read(Path.Combine(baseDir, data.GetEx<string>("ActuationsMap")));
 			var ssm = string.IsNullOrWhiteSpace(data["SSMFilePath"]?.ToString()) ?
 				new SSMInputs(vehicleData, "", FuelData.Diesel) {
 					EnvironmentalConditionsMap =  env,
@@ -49,7 +47,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 				ElectricalUserInputsConfig = ec,
 				PneumaticAuxillariesConfig  = pac,
 				PneumaticUserInputsConfig  = puc,
-				HvacUserInputsConfig = hvac,
 				SSMInputs = ssm,
 				ActuationsMap = actuationsMap,
 				VehicleData = vehicleData
@@ -161,15 +158,5 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			pneumaticUserInputsConfig.SmartRegeneration = puData.GetEx<bool>("SmartRegeneration");
 			return pneumaticUserInputsConfig;
 		}
-
-		private static IHVACUserInputsConfig LoadHVAC(JObject hvac, string baseDir)
-		{
-			var hvacUserInputsConfig = new HVACUserInputsConfig();
-
-			//hvacUserInputsConfig.SSMFilePath = hvac.GetEx<string>("SSMFilePath");
-			//hvacUserInputsConfig.BusDatabasePath = hvac.GetEx<string>("BusDatabasePath");
-			//hvacUserInputsConfig.SSMDisabled = hvac.GetEx<bool>("SSMDisabled");
-			return hvacUserInputsConfig;
-		}
 	}
 }
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
index 4da2a5e537..6060c57e68 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
@@ -32,7 +32,6 @@
 using System;
 using System.Collections.Generic;
 using System.IO;
-using System.Linq;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
index ac8292e9e5..4ea386ad0b 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
@@ -34,7 +34,6 @@ using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using Newtonsoft.Json.Linq;
-using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs
index 3503766c3b..ebf718ee30 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
-using System.IO;
+using System.IO;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
@@ -19,7 +18,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			return retVal;
 		}
 
-		public static ISSMInputs ReadFile(string fileName, IVehicleData vehicleData, IEnvironmentalConditionsMap env, ITechlistBenefitLines technologies)
+		public static ISSMInputs ReadFile(string fileName, IVehicleData vehicleData, IEnvironmentalConditionsMap env, ISSMTechnologies technologies)
 		{
 			var json = JSONInputDataFactory.ReadFile(fileName);
 			var body = (JObject)json["Body"];
@@ -57,7 +56,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 				genInput.GetEx<double>("EC_Solar").SI<WattPerSquareMeter>(), 1.0);
 			//retVal.EnviromentalConditions_BatchFile = genInput.GetEx<string>("EC_EnviromentalConditions_BatchFile");
 			//retVal.BatchMode = genInput.GetEx<bool>("EC_EnviromentalConditions_BatchEnabled");
-			retVal.CompressorType = genInput.GetEx<string>("AC_CompressorType");
+			retVal.CompressorType = ACCompressorTypeExtensions.ParseEnum(genInput.GetEx<string>("AC_CompressorType"));
 			retVal.CompressorCapacity = genInput.GetEx<double>("AC_CompressorCapacitykW").SI(Unit.SI.Kilo.Watt).Cast<Watt>();
 			retVal.VentilationOnDuringHeating = genInput.GetEx<bool>("VEN_VentilationOnDuringHeating");
 			retVal.VentilationWhenBothHeatingAndACInactive = genInput.GetEx<bool>("VEN_VentilationWhenBothHeatingAndACInactive");
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Common/AbstractXMLResource.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Common/AbstractXMLResource.cs
index 2e0056a131..60afee78a7 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Common/AbstractXMLResource.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Common/AbstractXMLResource.cs
@@ -1,7 +1,6 @@
 using System.Xml;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Common {
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractCommonComponentType.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractCommonComponentType.cs
index cec5b2c3be..71370defa7 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractCommonComponentType.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractCommonComponentType.cs
@@ -1,11 +1,9 @@
-using System.Collections.Generic;
 using System.Xml;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider {
 	public abstract class AbstractCommonComponentType : AbstractXMLResource
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs
index d3079bbbe9..6347928b5d 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs
@@ -2,7 +2,6 @@
 using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
-using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
 using TUGraz.VectoCore.Utils;
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs
index cea58df100..ad38591df6 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
-using System.Xml;
+using System.Xml;
 using System.Xml.Linq;
 using TUGraz.IVT.VectoXML;
 using TUGraz.VectoCommon.Exceptions;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs
index b683dcae40..694b62482e 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs
@@ -1,5 +1,4 @@
 using System.Collections.Generic;
-using System.Runtime.InteropServices;
 using System.Xml;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs
index 5bc21e05d7..c383068a7f 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs
@@ -5,7 +5,6 @@ using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
-using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader;
 using TUGraz.VectoCore.Utils;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs
index 6912efe88f..05d479ce6e 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs
@@ -29,20 +29,13 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using System;
-using System.IO;
 using System.Xml;
 using System.Xml.Linq;
-using System.Xml.Schema;
-using System.Xml.XPath;
-using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
 using TUGraz.VectoCore.Utils;
 using TUGraz.VectoHashing;
-using XmlDocumentType = TUGraz.VectoCore.Utils.XmlDocumentType;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
 {
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
index 09fc27814a..af097295cc 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
@@ -1,5 +1,4 @@
 using System.Xml;
-using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader;
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationVehicleData.cs
index f112e7534f..28e0538a03 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationVehicleData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationVehicleData.cs
@@ -1,8 +1,6 @@
 using System.Xml;
-using System.Xml.Schema;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs
index 471805d8fa..5d0c184a92 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs
@@ -3,7 +3,6 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules
 {
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs
index db88867af5..198ea92a45 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs
@@ -3,7 +3,6 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules
 {
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs
index 41d1fec433..c319454491 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs
@@ -3,7 +3,6 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules
 {
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs
index 69e4ab3ce8..c164265dd0 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs
@@ -1,7 +1,6 @@
 using Ninject.Modules;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules
 {
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs
index 150912bf0b..11a246d4d2 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs
@@ -2,8 +2,6 @@
 using Ninject.Modules;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader;
-using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Factory;
 using TUGraz.VectoCore.Utils.Ninject;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs
index 11f8053498..8de2abbd6d 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs
@@ -8,7 +8,6 @@ using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
-using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Factory;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs
index f01a6b7b3e..7262a7d542 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs
@@ -5,7 +5,6 @@ using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory;
 using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
-using TUGraz.VectoCore.InputData.FileIO.XML.Engineering;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs
index e0c62e2470..04cbb2d6f0 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Xml;
+using System.Xml;
 using System.Xml.Linq;
 using Ninject;
 using TUGraz.VectoCommon.InputData;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs
index 1ae7fdaade..75cc361312 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs
@@ -1,13 +1,8 @@
 using System.Xml;
-using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
-using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
-using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider
 {
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs
index 8a3840c466..f9eaaa5b3b 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs
@@ -6,7 +6,6 @@ using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.InputData.Impl;
 using TUGraz.VectoCore.Models.Declaration;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs
index 01cdd8c4d3..35452ed9fe 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs
@@ -3,7 +3,6 @@ using TUGraz.IVT.VectoXML;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.InputData.Impl;
 using TUGraz.VectoCore.Utils;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs
index 5187bfdc15..ec66c26b98 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs
@@ -9,7 +9,6 @@ using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.InputData.Impl;
 using TUGraz.VectoCore.Utils;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs
index becb17d3fe..0cc501deab 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs
@@ -1,7 +1,6 @@
 using System.Xml;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
-using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs
index 21a3803714..03dd035377 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs
@@ -5,7 +5,6 @@ using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Utils;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs
index 107a5f47ca..a0af355bae 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs
@@ -41,7 +41,6 @@ using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Utils;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs
index e5e77ce40b..146e113f97 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs
@@ -39,7 +39,6 @@ using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.Utils;
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs
index f306f43cb5..d2938a0dc6 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs
@@ -3,7 +3,6 @@ using System.Xml.Linq;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Utils;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs
index 37601906a3..15be0e45f2 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs
@@ -5,7 +5,6 @@ using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.Utils;
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs
index 356b55c478..8cc8ae0c61 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs
@@ -5,7 +5,6 @@ using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.Utils;
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs
index afeabcf202..70c2375676 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs
@@ -1,11 +1,9 @@
 using System;
 using System.Xml;
 using System.Xml.Linq;
-using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.Utils;
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderInjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderInjectModule.cs
index 3de51b55a6..034f2b7354 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderInjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderInjectModule.cs
@@ -1,12 +1,7 @@
 using Ninject.Extensions.Factory;
 using Ninject.Modules;
-using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Factory;
-using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Impl;
-using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.NinjectModules;
-using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader;
-using TUGraz.VectoCore.Utils;
 using TUGraz.VectoCore.Utils.Ninject;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs
index afbe4b1677..aee361bb36 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs
@@ -2,7 +2,6 @@
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.NinjectModules
 {
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs
index 3f77b20923..85858334ee 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs
@@ -4,7 +4,6 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Impl;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader.Impl;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.NinjectModules
 {
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs
index 9dc5e11aa1..4e24bc7a4e 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs
@@ -1,11 +1,9 @@
-using System;
-using Ninject.Modules;
+using Ninject.Modules;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Impl;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader.Impl;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.NinjectModules
 {
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLDriverDataReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLDriverDataReader.cs
index c939345a3d..643841e2e8 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLDriverDataReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLDriverDataReader.cs
@@ -1,5 +1,4 @@
 using TUGraz.VectoCommon.InputData;
-using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataNinjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataNinjectModule.cs
index f203504ac7..ba724f649b 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataNinjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataNinjectModule.cs
@@ -1,5 +1,4 @@
-using Ninject.Modules;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration;
 using TUGraz.VectoCore.InputData.FileIO.XML.Engineering;
 
 namespace TUGraz.VectoCore.InputData.FileIO.XML
diff --git a/VectoCore/VectoCore/InputData/FileIO/XMLReports/XMLManufacturerReportReader.cs b/VectoCore/VectoCore/InputData/FileIO/XMLReports/XMLManufacturerReportReader.cs
index 21f36416f3..b72c19dd30 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XMLReports/XMLManufacturerReportReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XMLReports/XMLManufacturerReportReader.cs
@@ -33,7 +33,6 @@ using System;
 using System.Collections.Generic;
 using System.Xml;
 using TUGraz.VectoCommon.Hashing;
-using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 
diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/PneumaticActuationsMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/ActuationsMapReader.cs
similarity index 84%
rename from VectoCore/VectoCore/InputData/Reader/ComponentData/PneumaticActuationsMapReader.cs
rename to VectoCore/VectoCore/InputData/Reader/ComponentData/ActuationsMapReader.cs
index 1c9566da33..96d06cd647 100644
--- a/VectoCore/VectoCore/InputData/Reader/ComponentData/PneumaticActuationsMapReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/ActuationsMapReader.cs
@@ -10,21 +10,21 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.Reader.ComponentData
 {
-	public static class PneumaticActuationsMapReader
+	public static class ActuationsMapReader
 	{
 		public static readonly string[] Header = new[] { Fields.ConsumerName, Fields.CycleName, Fields.Actuations };
 
-		public static IPneumaticActuationsMap Read(string fileName)
+		public static IActuationsMap Read(string fileName)
 		{
 			return Create(VectoCSVFile.Read(fileName), Path.GetFullPath(fileName));
 		}
 
-		public static IPneumaticActuationsMap ReadStream(Stream str)
+		public static IActuationsMap ReadStream(Stream str)
 		{
 			return Create(VectoCSVFile.ReadStream(str), null);
 		}
 
-		public static IPneumaticActuationsMap Create(DataTable data, string source)
+		public static IActuationsMap Create(DataTable data, string source)
 		{
 			if (!HeaderIsValid(data.Columns)) {
 				throw new VectoException("Invalid header for pneumatic actuations. expected: {0}, got: {1}",
@@ -41,7 +41,7 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData
 
 				retVal[key] = row.Field<string>(Fields.Actuations).ToInt();
 			}
-			return new PneumaticActuationsMap(retVal, source);
+			return new ActuationsMap(retVal, source);
 		}
 
 		private static bool HeaderIsValid(DataColumnCollection cols)
diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/AlternatorReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/AlternatorReader.cs
index 2031600f51..8dfbf81391 100644
--- a/VectoCore/VectoCore/InputData/Reader/ComponentData/AlternatorReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/AlternatorReader.cs
@@ -1,7 +1,6 @@
 using System;
 using System.Collections.Generic;
 using System.Data;
-using System.Globalization;
 using System.IO;
 using System.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
@@ -102,37 +101,5 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData
 			public const string PulleyRatio = "PulleyRatio";
 		}
 
-		// Helpers
-		public static IList<ICombinedAlternatorMapRow> CreateDefaultMap()
-		{
-			var map = new List<ICombinedAlternatorMapRow>();
-
-			map.Add(new CombinedAlternatorMapRow("Alt1", 2000.RPMtoRad(), 10.SI<Ampere>(), 62, 3.6));
-			map.Add(new CombinedAlternatorMapRow("Alt1", 2000.RPMtoRad(), 27.SI<Ampere>(), 70, 3.6));
-			map.Add(new CombinedAlternatorMapRow("Alt1", 2000.RPMtoRad(), 53.SI<Ampere>(), 30, 3.6));
-
-			map.Add(new CombinedAlternatorMapRow("Alt1", 4000.RPMtoRad(), 10.SI<Ampere>(), 64, 3.6));
-			map.Add(new CombinedAlternatorMapRow("Alt1", 4000.RPMtoRad(), 63.SI<Ampere>(), 74, 3.6));
-			map.Add(new CombinedAlternatorMapRow("Alt1", 4000.RPMtoRad(), 125.SI<Ampere>(), 68, 3.6));
-
-			map.Add(new CombinedAlternatorMapRow("Alt1", 6000.RPMtoRad(), 10.SI<Ampere>(), 53, 3.6));
-			map.Add(new CombinedAlternatorMapRow("Alt1", 6000.RPMtoRad(), 68.SI<Ampere>(), 70, 3.6));
-			map.Add(new CombinedAlternatorMapRow("Alt1", 6000.RPMtoRad(), 136.SI<Ampere>(), 62, 3.6));
-
-			map.Add(new CombinedAlternatorMapRow("Alt2", 2000.RPMtoRad(), 10.SI<Ampere>(), 62, 3));
-			map.Add(new CombinedAlternatorMapRow("Alt2", 2000.RPMtoRad(), 27.SI<Ampere>(), 70, 3));
-			map.Add(new CombinedAlternatorMapRow("Alt2", 2000.RPMtoRad(), 53.SI<Ampere>(), 30, 3));
-
-			map.Add(new CombinedAlternatorMapRow("Alt2", 4000.RPMtoRad(), 10.SI<Ampere>(), 64, 3));
-			map.Add(new CombinedAlternatorMapRow("Alt2", 4000.RPMtoRad(), 63.SI<Ampere>(), 74, 3));
-			map.Add(new CombinedAlternatorMapRow("Alt2", 4000.RPMtoRad(), 125.SI<Ampere>(), 68, 3));
-
-			map.Add(new CombinedAlternatorMapRow("Alt2", 6000.RPMtoRad(), 10.SI<Ampere>(), 53, 3));
-			map.Add(new CombinedAlternatorMapRow("Alt2", 6000.RPMtoRad(), 68.SI<Ampere>(), 70, 3));
-			map.Add(new CombinedAlternatorMapRow("Alt2", 6000.RPMtoRad(), 136.SI<Ampere>(), 62, 3));
-
-			return map;
-		}
-
 	}
 }
diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/CompressorMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/CompressorMapReader.cs
index 9b616f5211..564f483acf 100644
--- a/VectoCore/VectoCore/InputData/Reader/ComponentData/CompressorMapReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/CompressorMapReader.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Collections.Generic;
+using System.Collections.Generic;
 using System.Data;
 using System.IO;
 using System.Linq;
diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricConsumerReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricConsumerReader.cs
index e348d59b3f..2225515973 100644
--- a/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricConsumerReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricConsumerReader.cs
@@ -8,7 +8,6 @@ using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics;
-using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.Reader.ComponentData
diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/EnvironmentalContidionsMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/EnvironmentalContidionsMapReader.cs
index 02d2a6f103..f7dd3ee092 100644
--- a/VectoCore/VectoCore/InputData/Reader/ComponentData/EnvironmentalContidionsMapReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/EnvironmentalContidionsMapReader.cs
@@ -1,8 +1,5 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
+using System.Collections.Generic;
 using System.Data;
-using System.Globalization;
 using System.IO;
 using System.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
@@ -10,7 +7,6 @@ using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Util;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.Reader.ComponentData
diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/FuelConsumptionMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/FuelConsumptionMapReader.cs
index 4e88d36432..89b1f2847d 100644
--- a/VectoCore/VectoCore/InputData/Reader/ComponentData/FuelConsumptionMapReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/FuelConsumptionMapReader.cs
@@ -32,6 +32,7 @@
 using System;
 using System.Data;
 using System.Linq;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/HVACTechBenefitsReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/SSMTechnologiesReader.cs
similarity index 86%
rename from VectoCore/VectoCore/InputData/Reader/ComponentData/HVACTechBenefitsReader.cs
rename to VectoCore/VectoCore/InputData/Reader/ComponentData/SSMTechnologiesReader.cs
index b6fdd703eb..aa3c3ec48b 100644
--- a/VectoCore/VectoCore/InputData/Reader/ComponentData/HVACTechBenefitsReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/SSMTechnologiesReader.cs
@@ -4,14 +4,12 @@ using System.IO;
 using System.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Exceptions;
-using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.Reader.ComponentData
 {
-	public class HVACTechBenefitsReader
+	public class SSMTechnologiesReader
 	{
 		protected static string[] headerCols = new[]
 		{
@@ -22,17 +20,17 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData
 			Fields.ActiveVC, Fields.ActiveVH, Fields.ActiveVV
 		};
 
-		public static ITechlistBenefitLines ReadFromFile(string fileName)
+		public static ISSMTechnologies ReadFromFile(string fileName)
 		{
 			return Create(VectoCSVFile.Read(fileName), fileName);
 		}
 
-		public static ITechlistBenefitLines ReadFromStream(Stream str)
+		public static ISSMTechnologies ReadFromStream(Stream str)
 		{
 			return Create(VectoCSVFile.ReadStream(str), null);
 		}
 
-		public static ITechlistBenefitLines Create(DataTable data, string fileName)
+		public static ISSMTechnologies Create(DataTable data, string fileName)
 		{
 			if (!HeaderIsValid(data.Columns)) {
 				throw new VectoException("invalid header for techlist file. expected: {0} got: {1}",
@@ -40,9 +38,9 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData
 					);
 			}
 
-			var retVal = new List<ITechListBenefitLine>();
+			var retVal = new List<ISSMTechnology>();
 			foreach (DataRow row in data.Rows) {
-				retVal.Add(new TechListBenefitLine()
+				retVal.Add(new SSMTechnology()
 				{
 					Category = row.Field<string>(Fields.Category),
 					BenefitName = row.Field<string>(Fields.BenefitName),
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
index 648b559e00..55fe134f8a 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
@@ -37,7 +37,6 @@ using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
-using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs
index 65d8a48c47..9469d38e77 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs
@@ -203,6 +203,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			var retVal = SetCommonCombustionEngineData(engine, vehicle.TankSystem);
 			retVal.IdleSpeed = VectoMath.Max(mode.IdleSpeed, vehicle.EngineIdleSpeed);
 
+			
+
 			retVal.Fuels = new List<CombustionEngineFuelData>();
 			foreach (var fuel in mode.Fuels) {
 				retVal.Fuels.Add(new CombustionEngineFuelData() {
@@ -604,7 +606,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			};
 		}
 
-		public ISSMInputs CreateSSMModelParameters(IVehicleData vehicleData, FuelData.Entry heatingFuel)
+		public ISSMInputs CreateSSMModelParameters(IVehicleData vehicleData, IFuelProperties heatingFuel)
 		{
 			return new SSMInputs(vehicleData, null, heatingFuel) {
 				Technologies = DeclarationData.BusAuxiliaries.SSMTechnologyList,
@@ -619,7 +621,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 				LowVentilation = Constants.BusAuxiliaries.SteadyStateModel.LowVentilation,
 				SpecificVentilationPower = Constants.BusAuxiliaries.SteadyStateModel.SpecificVentilationPower,
 				// TODO! MQ 2019-19-29 Compressor Type and CompressorCapacity from input data?
-				CompressorType = "2-stage",
+				CompressorType = ACCompressorType.TwoStage, // "2-stage",
 				CompressorCapacity = 18.SI(Unit.SI.Kilo.Watt).Cast<Watt>(),
 
 				AuxHeaterEfficiency = Constants.BusAuxiliaries.SteadyStateModel.AuxHeaterEfficiency,
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactory.cs
index b62a79a22a..d6997c48b2 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactory.cs
@@ -29,16 +29,13 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using System;
 using System.Collections.Generic;
 using System.Linq;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
-using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
 
 namespace TUGraz.VectoCore.InputData.Reader.Impl
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs
index b303d1ff3d..29a2210694 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs
@@ -11,17 +11,14 @@
 
 using System;
 using System.Collections.Generic;
-using System.Windows.Forms;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.InputData.Reader.ComponentData;
 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.Util;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries {
@@ -66,21 +63,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 		private IM13 M13;
 		private IM14 M14;
 
-		//private string vectoDirectory;
-
-		private IHVACConstants hvacConstants;
-
-		// Event Handler top level bubble.
-		// Public Sub VectoEventHandler(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) _
-		// Handles compressorMap.AuxiliaryEvent, alternatorMap.AuxiliaryEvent, ssmTool.Message, ssmToolModule14.Message
-
-		// If Signals.AuxiliaryEventReportingLevel <= messageType Then
-
-		// RaiseEvent AuxiliaryEvent(sender, message, messageType)
-
-		// End If
-		// End Sub
-
+		
 		public void VectoEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType)
 		{
 			//if (Signals.AuxiliaryEventReportingLevel <= messageType) {
@@ -98,14 +81,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 	
 
 		// Initialise Model
-		public void Initialise(IAuxiliaryConfig auxCfg /*string IAuxPath, string vectoFilePath*/)
+		public void Initialise(IAuxiliaryConfig auxCfg, IFuelProperties fuelProperties /*string IAuxPath, string vectoFilePath*/)
 		{
-			//var vectoDirectory = ""; // FilePathUtils.fPATH(vectoFilePath);
-
-			//var auxPath = FilePathUtils.ResolveFilePath(vectoDirectory, IAuxPath);
-
-			hvacConstants = auxCfg.HvacUserInputsConfig.HVACConstants;
-
 			Signals.CurrentCycleTimeInSeconds = 0;
 			auxConfig = auxCfg; //new AuxiliaryConfig(auxPath);
 
@@ -154,13 +131,11 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 
 			M1 = new M01Impl(
 				M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency,
-				auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage,
-				Signals, ssmTool);
+				auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, ssmTool);
 
 
 			M2 = new M02Impl(m0_1, M0,
-				auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage,
-				Signals);
+				auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage);
 
 			
 			M3 = new M03Impl(auxConfig, compressorMap, actuationsMap, Signals);
@@ -171,11 +146,11 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 			M7 = new M07Impl(M5, M6, Signals);
 			M8 = new M08Impl(M1, M6, M7, Signals);
 			M9 = new M09Impl(M1, M4, M6, M8, fuelMap, auxConfig.PneumaticAuxillariesConfig, Signals);
-			M10 = new M10Impl(M3, M9, Signals);
+			M10 = new M10Impl(M3, M9);
 			M11 = new M11Impl(M1, M3, M6, M8, fuelMap, Signals);
-			M12 = new M12Impl(M10, M11, Signals);
+			M12 = new M12Impl(M10, M11);
 			M13 = new M13Impl(M10, M11, M12, Signals);
-			M14 = new M14Impl(M13, ssmToolModule14, hvacConstants, Signals);
+			M14 = new M14Impl(M13, ssmToolModule14, fuelProperties, Signals);
 
 			//compressorMap.AuxiliaryEvent += VectoEventHandler;
 			//alternatorMap.AuxiliaryEvent += VectoEventHandler;
@@ -232,10 +207,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 			}
 		}
 
-		public bool RunStart(IAuxiliaryConfig auxCfg)
+		public bool RunStart(IAuxiliaryConfig auxCfg, IFuelProperties fuelProperties)
 		{
 			try {
-				Initialise(auxCfg);
+				Initialise(auxCfg, fuelProperties);
 			} catch (Exception ) {
 				return false;
 			}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs
index cc44a7e862..17b82ffbb2 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs
@@ -10,14 +10,8 @@
 // See the LICENSE.txt for the specific language governing permissions and limitations.
 
 using System;
-using System.Collections.Generic;
-using System.Deployment.Internal;
 using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
-using TUGraz.VectoCore.InputData.FileIO.JSON;
-using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 	[Serializable()]
@@ -32,12 +26,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 
 		public IPneumaticsAuxilliariesConfig PneumaticAuxillariesConfig { get; internal set; }
 
-		// Hvac
-		public IHVACUserInputsConfig HvacUserInputsConfig { get; internal set; }
-
 		public ISSMInputs SSMInputs { get; internal set; }
 
-		public IPneumaticActuationsMap ActuationsMap { get; internal set; }
+		public IActuationsMap ActuationsMap { get; internal set; }
 
 		public string Cycle { get; internal set; }
 
@@ -89,8 +80,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 					thisConsumer.ConsumerName != otherConsumer.ConsumerName ||
 					thisConsumer.NominalConsumptionAmps != otherConsumer.NominalConsumptionAmps ||
 					thisConsumer.NumberInActualVehicle != otherConsumer.NumberInActualVehicle ||
-					thisConsumer.PhaseIdle_TractionOn != otherConsumer.PhaseIdle_TractionOn) // ||
-					//thisConsumer.TotalAvgConumptionAmps() != otherConsumer.TotalAvgConumptionAmps())
+					thisConsumer.PhaseIdle_TractionOn != otherConsumer.PhaseIdle_TractionOn) 
 				{
 					return false;
 				}
@@ -105,54 +95,16 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 			if (!ElectricalUserInputsConfig.ResultCardIdle.Equals(other.ElectricalUserInputsConfig.ResultCardIdle)) {
 				return false;
 			}
-			//if (ElectricalUserInputsConfig.ResultCardIdle.Results.Count !=
-			//	other.ElectricalUserInputsConfig.ResultCardIdle.Results.Count) {
-			//	return false;
-			//}
-
-			//for (i = 0; i <= ElectricalUserInputsConfig.ResultCardIdle.Results.Count - 1; i++) {
-			//	if (ElectricalUserInputsConfig.ResultCardIdle.Results[i].Amps !=
-			//		other.ElectricalUserInputsConfig.ResultCardIdle.Results[i].Amps ||
-			//		ElectricalUserInputsConfig.ResultCardIdle.Results[i].SmartAmps !=
-			//		other.ElectricalUserInputsConfig.ResultCardIdle.Results[i].SmartAmps) {
-			//		return false;
-			//	}
-			//}
 
 			// ResultCardOverrun
 			if (!ElectricalUserInputsConfig.ResultCardOverrun.Equals(other.ElectricalUserInputsConfig.ResultCardOverrun)) {
 				return false;
 			}
-			//if (ElectricalUserInputsConfig.ResultCardOverrun.Results.Count !=
-			//	other.ElectricalUserInputsConfig.ResultCardOverrun.Results.Count) {
-			//	return false;
-			//}
-
-			//for (i = 0; i <= ElectricalUserInputsConfig.ResultCardOverrun.Results.Count - 1; i++) {
-			//	if (ElectricalUserInputsConfig.ResultCardOverrun.Results[i].Amps !=
-			//		other.ElectricalUserInputsConfig.ResultCardOverrun.Results[i].Amps ||
-			//		ElectricalUserInputsConfig.ResultCardOverrun.Results[i].SmartAmps !=
-			//		other.ElectricalUserInputsConfig.ResultCardOverrun.Results[i].SmartAmps) {
-			//		return false;
-			//	}
-			//}
 
 			// ResultCardTraction
 			if (!ElectricalUserInputsConfig.ResultCardTraction.Equals(other.ElectricalUserInputsConfig.ResultCardTraction)) {
 				return false;
 			}
-			//if (ElectricalUserInputsConfig.ResultCardTraction.Results.Count !=
-			//	other.ElectricalUserInputsConfig.ResultCardTraction.Results.Count)
-			//	return false;
-
-			//for (i = 0; i <= ElectricalUserInputsConfig.ResultCardTraction.Results.Count - 1; i++) {
-			//	if (ElectricalUserInputsConfig.ResultCardTraction.Results[i].Amps !=
-			//		other.ElectricalUserInputsConfig.ResultCardTraction.Results[i].Amps ||
-			//		ElectricalUserInputsConfig.ResultCardTraction.Results[i].SmartAmps !=
-			//		other.ElectricalUserInputsConfig.ResultCardTraction.Results[i].SmartAmps) {
-			//		return false;
-			//	}
-			//}
 
 			// SmartElectrical
 			if (ElectricalUserInputsConfig.SmartElectrical != other.ElectricalUserInputsConfig.SmartElectrical) {
@@ -240,17 +192,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 			return true;
 		}
 
-		//private bool CompareHVACConfig(IAuxiliaryConfig other)
-		//{
-		//	if (HvacUserInputsConfig.SSMFilePath != other.HvacUserInputsConfig.SSMFilePath)
-		//		return false;
-		//	if (HvacUserInputsConfig.BusDatabasePath != other.HvacUserInputsConfig.BusDatabasePath)
-		//		return false;
-		//	if (HvacUserInputsConfig.SSMDisabled != other.HvacUserInputsConfig.SSMDisabled)
-		//		return false;
-
-		//	return true;
-		//}
 
 		public bool ConfigValuesAreTheSameAs(IAuxiliaryConfig other)
 		{
@@ -282,106 +223,5 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries {
 			return base.GetHashCode();
 		}
 
-		// Persistance Functions
-
-
-
-
-		// Persistance Helpers
-		//public void AssumeValuesOfOther(AuxiliaryConfig other)
-		//{
-		//	CloneElectricaConfiguration(other);
-		//	ClonePneumaticsAuxiliariesConfig(other);
-		//	ClonePneumaticsUserInputsConfig(other);
-		//	CloneHVAC(other);
-		//}
-
-		//private void CloneElectricaConfiguration(AuxiliaryConfig other)
-		//{
-		//	// AlternatorGearEfficiency
-		//	ElectricalUserInputsConfig.AlternatorGearEfficiency = other.ElectricalUserInputsConfig.AlternatorGearEfficiency;
-
-		//	// AlternatorMap
-		//	ElectricalUserInputsConfig.AlternatorMap = other.ElectricalUserInputsConfig.AlternatorMap;
-
-		//	// DoorActuationTimeSecond
-		//	ElectricalUserInputsConfig.DoorActuationTimeSecond = other.ElectricalUserInputsConfig.DoorActuationTimeSecond;
-
-		//	// Electrical Consumer list
-		//	ElectricalUserInputsConfig.ElectricalConsumers.Items.Clear();
-		//	foreach (var otherConsumer in other.ElectricalUserInputsConfig.ElectricalConsumers.Items) {
-		//		var newConsumer = new ElectricalConsumer(
-		//			otherConsumer.BaseVehicle, otherConsumer.Category, otherConsumer.ConsumerName, otherConsumer.NominalConsumptionAmps,
-		//			otherConsumer.PhaseIdle_TractionOn, otherConsumer.PowerNetVoltage, otherConsumer.NumberInActualVehicle,
-		//			otherConsumer.Info);
-
-		//		ElectricalUserInputsConfig.ElectricalConsumers.Items.Add(newConsumer);
-		//	}
-
-		//	// PowerNetVoltage
-		//	ElectricalUserInputsConfig.PowerNetVoltage = other.ElectricalUserInputsConfig.PowerNetVoltage;
-
-		//	// ResultCardIdle
-		//	ElectricalUserInputsConfig.ResultCardIdle.Results.Clear();
-		//	foreach (var result in other.ElectricalUserInputsConfig.ResultCardIdle.Results)
-		//		ElectricalUserInputsConfig.ResultCardIdle.Results.Add(new SmartResult(result.Amps, result.SmartAmps));
-
-		//	// ResultCardOverrun
-		//	ElectricalUserInputsConfig.ResultCardOverrun.Results.Clear();
-		//	foreach (var result in other.ElectricalUserInputsConfig.ResultCardOverrun.Results)
-		//		ElectricalUserInputsConfig.ResultCardOverrun.Results.Add(new SmartResult(result.Amps, result.SmartAmps));
-
-		//	// ResultCardTraction
-		//	ElectricalUserInputsConfig.ResultCardTraction.Results.Clear();
-		//	foreach (var result in other.ElectricalUserInputsConfig.ResultCardTraction.Results)
-		//		ElectricalUserInputsConfig.ResultCardTraction.Results.Add(new SmartResult(result.Amps, result.SmartAmps));
-
-		//	// SmartElectrical
-		//	ElectricalUserInputsConfig.SmartElectrical = other.ElectricalUserInputsConfig.SmartElectrical;
-		//}
-
-		//private void ClonePneumaticsAuxiliariesConfig(AuxiliaryConfig other)
-		//{
-		//	PneumaticAuxillariesConfig.AdBlueNIperMinute = other.PneumaticAuxillariesConfig.AdBlueNIperMinute;
-		//	PneumaticAuxillariesConfig.AirControlledSuspensionNIperMinute =
-		//		other.PneumaticAuxillariesConfig.AirControlledSuspensionNIperMinute;
-		//	PneumaticAuxillariesConfig.BrakingNoRetarderNIperKG = other.PneumaticAuxillariesConfig.BrakingNoRetarderNIperKG;
-		//	PneumaticAuxillariesConfig.BrakingWithRetarderNIperKG = other.PneumaticAuxillariesConfig.BrakingWithRetarderNIperKG;
-		//	PneumaticAuxillariesConfig.BreakingPerKneelingNIperKGinMM =
-		//		other.PneumaticAuxillariesConfig.BreakingPerKneelingNIperKGinMM;
-		//	PneumaticAuxillariesConfig.DeadVolBlowOutsPerLitresperHour =
-		//		other.PneumaticAuxillariesConfig.DeadVolBlowOutsPerLitresperHour;
-		//	PneumaticAuxillariesConfig.DeadVolumeLitres = other.PneumaticAuxillariesConfig.DeadVolumeLitres;
-		//	PneumaticAuxillariesConfig.NonSmartRegenFractionTotalAirDemand =
-		//		other.PneumaticAuxillariesConfig.NonSmartRegenFractionTotalAirDemand;
-		//	PneumaticAuxillariesConfig.PerDoorOpeningNI = other.PneumaticAuxillariesConfig.PerDoorOpeningNI;
-		//	PneumaticAuxillariesConfig.PerStopBrakeActuationNIperKG =
-		//		other.PneumaticAuxillariesConfig.PerStopBrakeActuationNIperKG;
-		//	PneumaticAuxillariesConfig.SmartRegenFractionTotalAirDemand =
-		//		other.PneumaticAuxillariesConfig.SmartRegenFractionTotalAirDemand;
-		//	PneumaticAuxillariesConfig.OverrunUtilisationForCompressionFraction =
-		//		other.PneumaticAuxillariesConfig.OverrunUtilisationForCompressionFraction;
-		//}
-
-		//private void ClonePneumaticsUserInputsConfig(AuxiliaryConfig other)
-		//{
-		//	PneumaticUserInputsConfig.ActuationsMap = other.PneumaticUserInputsConfig.ActuationsMap;
-		//	PneumaticUserInputsConfig.AdBlueDosing = other.PneumaticUserInputsConfig.AdBlueDosing;
-		//	PneumaticUserInputsConfig.AirSuspensionControl = other.PneumaticUserInputsConfig.AirSuspensionControl;
-		//	PneumaticUserInputsConfig.CompressorGearEfficiency = other.PneumaticUserInputsConfig.CompressorGearEfficiency;
-		//	PneumaticUserInputsConfig.CompressorGearRatio = other.PneumaticUserInputsConfig.CompressorGearRatio;
-		//	PneumaticUserInputsConfig.CompressorMap = other.PneumaticUserInputsConfig.CompressorMap;
-		//	PneumaticUserInputsConfig.Doors = other.PneumaticUserInputsConfig.Doors;
-		//	PneumaticUserInputsConfig.KneelingHeightMillimeters = other.PneumaticUserInputsConfig.KneelingHeightMillimeters;
-		//	PneumaticUserInputsConfig.RetarderBrake = other.PneumaticUserInputsConfig.RetarderBrake;
-		//	PneumaticUserInputsConfig.SmartAirCompression = other.PneumaticUserInputsConfig.SmartAirCompression;
-		//	PneumaticUserInputsConfig.SmartRegeneration = other.PneumaticUserInputsConfig.SmartRegeneration;
-		//}
-
-		//private void CloneHVAC(AuxiliaryConfig other)
-		//{
-		//	//HvacUserInputsConfig.HVACConstants = other.HvacUserInputsConfig.HVACConstants;
-
-		//}
 	}
 }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs
index f2e3185630..084339ff30 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs
@@ -10,7 +10,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 	// Model based on CombinedALTS_V02_Editable.xlsx
 	public class Alternator : IAlternator
 	{
-		private ICombinedAlternatorSignals signals;
+		//private ICombinedAlternatorSignals signals;
 
 		// D6
 		public string AlternatorName { get; set; }
@@ -31,38 +31,31 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 		public List<Table4Row> RangeTable { get; set; } = new List<Table4Row>();
 
 		// S9
-		public PerSecond SpindleSpeed
-		{
-			get { return signals.CrankRPM * PulleyRatio; }
-		}
+		//public PerSecond SpindleSpeed
+		//{
+		//	get { return signals.CrankRPM * PulleyRatio; }
+		//}
 
 		// S10
-		public double Efficiency
+		public double GetEfficiency(PerSecond crankSpeed, Ampere currentDemand)
 		{
-			get {
-				// First build RangeTable, table 4
+			// First build RangeTable, table 4
 				InitialiseRangeTable();
-				CalculateRangeTable();
+				CalculateRangeTable(currentDemand);
 
 				// Calculate ( Interpolate ) Efficiency
 				var range = RangeTable.Select(s => new AltUserInput<PerSecond>(s.RPM, s.Efficiency)).ToList();
 
-				return Alternator.Iterpolate(range, SpindleSpeed);
-			}
+				return Iterpolate(range, crankSpeed * PulleyRatio);
+			
 		}
 
 
 		// Constructors
 		public Alternator() { }
 
-		public Alternator(ICombinedAlternatorSignals isignals, List<ICombinedAlternatorMapRow> inputs)
+		public Alternator(List<ICombinedAlternatorMapRow> inputs)
 		{
-			if (isignals == null) {
-				throw new ArgumentException("Alternator - ISignals supplied is nothing");
-			}
-
-			signals = isignals;
-
 			AlternatorName = inputs.First().AlternatorName;
 			PulleyRatio = inputs.First().PulleyRatio;
 
@@ -115,7 +108,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			return retVal;
 		}
 
-		private void CalculateRangeTable()
+		private void CalculateRangeTable(Ampere currentDemand)
 		{
 			// M10=Row0-Rpm - N10=Row0-Eff
 			// M11=Row1-Rpm - N11=Row1-Eff
@@ -128,15 +121,15 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			// EFFICIENCY
 
 			// 2000
-			var N12 = Alternator.Iterpolate(InputTable2000, signals.CurrentDemandAmps);
+			var N12 = Iterpolate(InputTable2000, currentDemand);
 			RangeTable[2].Efficiency = N12;
 
 			// 4000
-			var N13 = Alternator.Iterpolate(InputTable4000, signals.CurrentDemandAmps);
+			var N13 = Iterpolate(InputTable4000, currentDemand);
 			RangeTable[3].Efficiency = N13;
 
 			// 6000
-			var N14 = Alternator.Iterpolate(InputTable6000, signals.CurrentDemandAmps);
+			var N14 = Iterpolate(InputTable6000, currentDemand);
 			RangeTable[4].Efficiency = N14;
 
 			// Row0 & Row1 Efficiency  =IF(N13>N12,0,MAX(N12:N14)) - Example Alt 1 N13=
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/AlternatorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/AlternatorMap.cs
index 23a705e2e6..31fc8df7e0 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/AlternatorMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/AlternatorMap.cs
@@ -11,9 +11,7 @@
 
 using System;
 using System.Collections.Generic;
-using System.IO;
 using System.Linq;
-using System.Text;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
@@ -149,15 +147,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 
 		private void GetMapRanges()
 		{
-			;/* 
-Input: 
-
-			_yRange = (From coords As MapPoint In _map Order By coords.Y Select coords.Y Distinct).ToList()
- */
-			;/* 
-Input: 
-			_xRange = (From coords As MapPoint In _map Order By coords.x Select coords.x Distinct).ToList()
- */
 			_yRange = _map.Select(x => x.Y).Distinct().OrderBy(x => x).ToList();
 			_xRange = _map.Select(x => x.X).Distinct().OrderBy(x => x).ToList();
 
@@ -239,9 +228,9 @@ Input:
 		}
 
 		// Get Alternator Efficiency
-		public double GetEfficiency(PerSecond rpm, Ampere amps)
+		public double GetEfficiency(PerSecond rpm, Ampere currentDemand)
 		{
-			return GetValue(rpm, amps);
+			return GetValue(rpm, currentDemand);
 		}
 
 		
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs
index adb69723be..faff9a18d0 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs
@@ -1,6 +1,5 @@
 using System;
 using System.Collections.Generic;
-using System.Globalization;
 using System.IO;
 using System.Linq;
 using System.Text;
@@ -8,7 +7,6 @@ using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Util;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
@@ -16,7 +14,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 	{
 		public List<IAlternator> Alternators { get; set; } = new List<IAlternator>();
 		
-		private ICombinedAlternatorSignals altSignals;
 		private ISignals Signals;
 		private double AverageAlternatorsEfficiency;
 
@@ -26,7 +23,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			Source = source;
 			Signals = signals;
 
-			altSignals = new CombinedAlternatorSignals();
+			
 
 			Initialise(alternatorData);
 
@@ -54,21 +51,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 		public string Source { get; }
 
 		// Interface Implementation
-		public double GetEfficiency(PerSecond CrankRPM, Ampere Amps)
+		public double GetEfficiency(PerSecond crankSpeed, Ampere currentDemand)
 		{
-			altSignals.CrankRPM = CrankRPM;
-			altSignals.CurrentDemandAmps = (Amps.Value() / (double)Alternators.Count).SI<Ampere>();
-
-			;
-
-			//if (Signals == null/* || Signals.RunningCalc*/) { 
-				// If running calc cycle get efficiency from interpolation function
-				var alternatorMapValues = Alternators.Average(a => a.Efficiency) / 100.0;
-			//} else {
-			//	// If running Pre calc cycle get an average of inputs
 			
-			//	alternatorMapValues = AverageAlternatorsEfficiency;
-			//}
+			var currentDemandSingle = (currentDemand.Value() / Alternators.Count).SI<Ampere>();
+
+			var alternatorMapValues = Alternators.Average(a => a.GetEfficiency(crankSpeed, currentDemandSingle)) / 100.0;
 
 			if (alternatorMapValues <= 0) {
 				alternatorMapValues = 0.01;
@@ -85,24 +73,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			Alternators.Clear();
 			
 			foreach (var alt in map.GroupBy(g => g.AlternatorName)) {
-				Alternators.Add(new Alternator(altSignals, alt.ToList()));
+				Alternators.Add(new Alternator(alt.ToList()));
 			}
 		}
 
 		
-
-		//event Interfaces.AuxiliaryEventEventHandler IAuxiliaryEvent.AuxiliaryEvent
-		//{
-		//	add {
-		//		//throw new NotImplementedException();
-		//	}
-
-		//	remove {
-		//		//throw new NotImplementedException();
-		//	}
-		//}
-
-		
+	
 		// Grid Management
 		private bool AddNewAlternator(List<ICombinedAlternatorMapRow> list, ref string feeback)
 		{
@@ -115,7 +91,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 				return false;
 			}
 
-			IAlternator alternator = new Alternator(altSignals, list.ToList());
+			IAlternator alternator = new Alternator(list.ToList());
 
 			Alternators.Add(alternator);
 
@@ -196,8 +172,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			}
 
 			// Add Model Source
-			sb.AppendLine("[MODELSOURCE]");
-			sb.Append(ToString());
+			sb.AppendLine("# [MODELSOURCE]");
+			sb.Append(ToString().Split(new [] {Environment.NewLine}, StringSplitOptions.None).Select(x => "# " + x));
 
 			// Write the stream cotnents to a new file named "AllTxtFiles.txt" 
 			using (var outfile = new StreamWriter(aaltPath)) {
@@ -246,26 +222,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 				}
 			}
 
-			// sb.AppendLine("")
-			// sb.AppendLine("********* COMBINED EFFICIENCY VALUES **************")
-			// sb.AppendLine("")
-			// sb.AppendLine(vbTab + "RPM VALUES")
-			// sb.AppendLine("AMPS" + vbTab + "500" + vbTab + "1500" + vbTab + "2500" + vbTab + "3500" + vbTab + "4500" + vbTab + "5500" + vbTab + "6500" + vbTab + "7500")
-			// For a As Single = 1 To Alternators.Count * 50
-
-			// sb.Append(a.ToString("0") + vbTab)
-			// For Each r As Single In {500, 1500, 2500, 3500, 4500, 5500, 6500, 7500}
-
-			// Dim eff As Single = GetEfficiency(r, a).Efficiency
-
-			// sb.Append(eff.ToString("0.000") + vbTab)
-
-			// Next
-			// sb.AppendLine("")
-
-			// Next
-
-
 			return sb.ToString();
 		}
 
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs
index df38ef9245..7de6125650 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs
@@ -1,7 +1,6 @@
 using System;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
@@ -10,27 +9,25 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 
 	public class CombinedAlternatorMapRow : ICombinedAlternatorMapRow
 	{
-		public string AlternatorName { get; set; }
-		public PerSecond RPM { get; set; }
-		public Ampere Amps { get; set; }
-		public double Efficiency { get; set; }
-		public double PulleyRatio { get; set; }
+		public string AlternatorName { get; }
+		public PerSecond RPM { get; }
+		public Ampere Amps { get; }
+		public double Efficiency { get; }
+		public double PulleyRatio { get; }
 
-		// Constructors
-		public CombinedAlternatorMapRow()
+		public CombinedAlternatorMapRow(
+			string alternatorName, PerSecond rpm, Ampere amps, double efficiency, double pulleyRatio)
 		{
-		}
-
-		public CombinedAlternatorMapRow(string alternatorName, PerSecond rpm, Ampere amps, double efficiency, double pulleyRatio)
-		{
-
 			// Sanity Check
-			if (alternatorName.Trim().Length == 0)
+			if (alternatorName.Trim().Length == 0) {
 				throw new ArgumentException("Alternator name cannot be zero length");
-			if (efficiency < 0 | efficiency > 100)
+			}
+			if (efficiency < 0 | efficiency > 100) {
 				throw new ArgumentException("Alternator Efficiency must be between 0 and 100");
-			if (pulleyRatio <= 0)
+			}
+			if (pulleyRatio <= 0) {
 				throw new ArgumentException("Alternator Pully ratio must be a positive number");
+			}
 
 			// Assignments
 			AlternatorName = alternatorName;
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs
deleted file mode 100644
index 3da6a42949..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
-
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
-{
-	// Used by the CombinedAlternator class and any other related classes.
-	public class CombinedAlternatorSignals : ICombinedAlternatorSignals
-	{
-		public PerSecond CrankRPM { get; set; }
-
-		public Ampere CurrentDemandAmps { get; set; }
-
-		// Number of alternators in the Combined Alternator
-		public int NumberOfAlternators { get; set; }
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs
index 02dfbebf62..04f5963463 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs
@@ -10,13 +10,8 @@
 // See the LICENSE.txt for the specific language governing permissions and limitations.
 
 
-using System;
 using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
-using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Configuration;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
@@ -31,90 +26,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			_items = consumer;
 		}
 
-		//public ElectricalConsumerList(Volt powernetVoltage, double doorDutyCycle_ZeroToOne)
-		//{
-		//	//_powernetVoltage = powernetVoltage;
-
-		//	//if (createDefaultList)
-		//	//	_items = GetDefaultConsumerList();
-
-
-		//	DoorDutyCycleFraction = 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 vehicle", 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 IReadOnlyList<IElectricalConsumer> Items
@@ -123,32 +34,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 				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)
-		//{
-		//	return excludeOnBase
-		//		? Items.Where(x => x.BaseVehicle == false)
-		//				.Sum(consumer => consumer.TotalAvgConumptionAmps(DoorDutyCycleFraction))
-		//		: Items.Sum(x => x.TotalAvgConumptionAmps(DoorDutyCycleFraction));
-
-		//	//Aggregate item In Items Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction))
-		//}
+		
 	}
 }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs
index 31e57c6175..56213464a3 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs
@@ -9,10 +9,8 @@
 // 
 // See the LICENSE.txt for the specific language governing permissions and limitations.
 
-using System.Collections.Generic;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
@@ -34,24 +32,5 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 
 		public bool SmartElectrical { get; set; }
 
-		
-		//public ElectricsUserInputsConfig(bool setToDefaults = false, VectoInputs vectoInputs = null/* TODO Change to default(_) if this is not a reference type */)
-		//{
-		//	if (setToDefaults)
-		//		SetPropertiesToDefaults(vectoInputs);
-		//}
-
-		//public void SetPropertiesToDefaults()
-		//{
-		//	DoorActuationTimeSecond = 4.SI<Second>();
-		//	StoredEnergyEfficiency = 0.935;
-		//	AlternatorGearEfficiency = 0.92;
-		//	//PowerNetVoltage = vectoInputs.PowerNetVoltage;
-		//	ResultCardIdle = new ResultCard(new List<SmartResult>());
-		//	ResultCardOverrun = new ResultCard(new List<SmartResult>());
-		//	ResultCardTraction = new ResultCard(new List<SmartResult>());
-		//	SmartElectrical = false;
-		//	AlternatorMap = new List<ICombinedAlternatorMapRow>();
-		//}
 	}
 }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs
index aef5bd79bb..18518c0154 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs
@@ -1,7 +1,6 @@
 using System;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-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;
@@ -10,19 +9,13 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 {
 	public class M00Impl : AbstractModule, IM0_NonSmart_AlternatorsSetEfficiency
 	{
-		protected Ampere _getHVACElectricalPowerDemandAmps;
-		protected double _alternatorsEfficiency;
 		protected IAlternatorMap _alternatorEfficiencyMap;
 		protected Volt _powernetVoltage;
 		protected ISignals _signals;
-		protected ISSMTOOL _steadyStateModelHVAC;
 		protected Watt _ElectricalPowerW;
-		protected Watt _MechanicalPowerW;
-		protected KilogramPerSecond _FuelingLPerH;
 		private IM0_1_AverageElectricLoadDemand _m0_1;
 
-		public M00Impl(
-			IM0_1_AverageElectricLoadDemand m0_1, IAlternatorMap alternatorEfficiencyMap, Volt powernetVoltage,
+		public M00Impl(IM0_1_AverageElectricLoadDemand m0_1, IAlternatorMap alternatorEfficiencyMap, Volt powernetVoltage,
 			ISignals signals, ISSMTOOL ssmHvac)
 		{
 			if (m0_1 == null) {
@@ -49,13 +42,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 
 			_signals = signals;
 
-			_steadyStateModelHVAC = ssmHvac;
-
 			_ElectricalPowerW = ssmHvac.ElectricalWAdjusted;
-
-			_MechanicalPowerW = ssmHvac.MechanicalWBaseAdjusted;
-
-			_FuelingLPerH = ssmHvac.FuelPerHBaseAdjusted;
 		}
 
 		#region Implementation of IM0_NonSmart_AlternatorsSetEfficiency
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs
index c14bae8f5e..d6a921ef44 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs
@@ -1,7 +1,5 @@
 using System;
-using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
@@ -16,7 +14,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 
 		public M02Impl(
 			IM0_1_AverageElectricLoadDemand m0_1, IM0_NonSmart_AlternatorsSetEfficiency m0, double altPulleyEfficiency,
-			Volt powerNetVoltage, ISignals signals)
+			Volt powerNetVoltage)
 		{
 			if (m0_1 == null) {
 				throw new ArgumentException("Electrical Consumer List must be supplied");
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_1Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_1Impl.cs
index 85f6edc4c2..ad41ff5261 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_1Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_1Impl.cs
@@ -4,7 +4,6 @@ using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics
 {
@@ -40,7 +39,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 			}
 		}
 
-		private double GetDoorActuationTimeFraction(IPneumaticActuationsMap actuations, string cycle)
+		private double GetDoorActuationTimeFraction(IActuationsMap actuations, string cycle)
 
 		{
 			var actuationsKey = new ActuationsKey(Constants.BusAuxiliaries.BrakeAndDoorsActuationKey , cycle);
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs
index 783e72f32f..9560b56251 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs
@@ -1,7 +1,6 @@
 using System;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics;
 
@@ -62,18 +61,16 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 
 		private Ampere HvacPlusNonBaseCurrents()
 		{
-			//'Stored Energy Efficience removed from V8.0 21/4/15 by Mike Preston  //tb
 			return _m0.GetHVACElectricalPowerDemandAmps + _m0_1.GetTotalAverageDemandAmpsWithoutBaseLoad;
-			//_electricalConsumables.GetTotalAverageDemandAmps(true);  //'/ElectricConstants.StoredEnergyEfficiency)
 		}
 
 		public Ampere SmartIdleCurrent
 		{
 			get {
-				var hvac_Plus_None_Base = HvacPlusNonBaseCurrents();
-				var smart_idle_current = _resultCardIdle.GetSmartCurrentResult(hvac_Plus_None_Base);
+				var hvacPlusNoneBase = HvacPlusNonBaseCurrents();
+				var smartIdleCurrent = _resultCardIdle.GetSmartCurrentResult(hvacPlusNoneBase);
 
-				return smart_idle_current; 
+				return smartIdleCurrent; 
 			}
 		}
 
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs
index d1aad6bd94..472cd57ba2 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs
@@ -58,116 +58,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric
 		private Ampere GetOrInterpolate(Ampere amps)
 		{
 			// TODO: MQ 2019-10-29 - simplify?
-			Ampere pre;
-			Ampere post;
-			Ampere dAmps;
-			Ampere dSmartAmps;
-			double smartAmpsSlope;
-			Ampere smartAmps;
-
-			var maxKey = _results.Max().Amps;
-			var minKey = _results.Min().Amps;
-
-			var compareKey = new SmartResult(amps, 0.SI<Ampere>());
-
-			// Is on boundary check
-			if (_results.Contains(compareKey))
-				return _results.OrderBy(x => x.Amps).First(x => x.Amps == compareKey.Amps).SmartAmps;
-
-			// Is over map - Extrapolate
-			if (amps > maxKey) {
-				// get the entries before and after the supplied key
-				pre = (from a in _results
-						orderby a.Amps
-						where a.Amps < maxKey
-						select a).Last().Amps;
-				post = maxKey;
-
-				// get the delta values 
-				dAmps = post - pre;
-				dSmartAmps = (from da in _results
-							orderby da.Amps
-							where da.Amps == post
-							select da).First().SmartAmps - (from da in _results
-															orderby da.Amps
-															where da.Amps == pre
-															select da).First().SmartAmps;
-
-				// calculate the slopes
-				smartAmpsSlope = dSmartAmps / dAmps;
-
-				// calculate the new values
-				smartAmps = ((amps - post) * smartAmpsSlope) + (from da in _results
-																orderby da.Amps
-																where da.Amps == post
-																select da).First().SmartAmps;
-
-				return smartAmps;
-			}
 
-			// Is under map - Extrapolate
-			if (amps < minKey) {
-				// get the entries before and after the supplied key
-				// Post is the first entry and pre is the penultimate to first entry
-				post = minKey;
-				pre = (from k in _results
-						orderby k.Amps
-						where k.Amps > minKey
-						select k).First().Amps;
-
-				// get the delta values 
-				dAmps = post - pre;
-				dSmartAmps = (from da in _results
-							orderby da.Amps
-							where da.Amps == post
-							select da).First().SmartAmps - (from da in _results
-															orderby da.Amps
-															where da.Amps == pre
-															select da).First().SmartAmps;
-
-				// calculate the slopes
-				smartAmpsSlope = dSmartAmps / dAmps;
-
-				// calculate the new values
-				smartAmps = ((amps - post) * smartAmpsSlope) + (from da in _results
-																orderby da.Amps
-																where da.Amps == post
-																select da).First().SmartAmps;
-
-				return smartAmps;
-			}
+			var s = _results.GetSection(x => amps > x.Amps);
+			return VectoMath.Interpolate(s.Item1.Amps, s.Item2.Amps, s.Item1.SmartAmps, s.Item2.SmartAmps, amps);
 
-			// Is Inside map - Interpolate
-
-			// get the entries before and after the supplied rpm
-			pre = (from m in _results
-					orderby m.Amps
-					where m.Amps < amps
-					select m).Last().Amps;
-			post = (from m in _results
-					where m.Amps > amps
-					select m).First().Amps;
-
-			// get the delta values for rpm and the map values
-			dAmps = post - pre;
-			dSmartAmps = (from da in _results
-						orderby da.Amps
-						where da.Amps == post
-						select da).First().SmartAmps - (from da in _results
-														orderby da.Amps
-														where da.Amps == pre
-														select da).First().SmartAmps;
-
-			// calculate the slopes
-			smartAmpsSlope = dSmartAmps / dAmps;
-
-			// calculate the new values
-			smartAmps = ((amps - post) * smartAmpsSlope) + (from da in _results
-															orderby da.Amps
-															where da.Amps == post
-															select da).First().SmartAmps;
-
-			return smartAmps;
 		}
 
 		public override bool Equals(object other)
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs
deleted file mode 100644
index a4c4491311..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs
+++ /dev/null
@@ -1,207 +0,0 @@
-using System;
-
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
-{
-	public class Bus : IBus
-	{
-
-		// Private Property Backing
-		private int _id;
-		private string _model;
-		private string _floorType;
-		private string _engineType;
-		private double _lengthInMetres;
-		private double _widthInMetres;
-		private double _heightInMetres;
-		private int _registeredPassengers;
-		private bool _isDoubleDecker;
-
-		public int Id
-		{
-			get {
-				return _id;
-			}
-		}
-
-		public string Model
-		{
-			get {
-				return _model;
-			}
-			set {
-				if (!ModelOK(value))
-					throw new ArgumentException("Model argument is invalid");
-				_model = value;
-			}
-		}
-
-		public string FloorType
-		{
-			get {
-				return _floorType;
-			}
-			set {
-				if (!FloorTypeOK(value))
-					throw new ArgumentException("Model argument is invalid");
-				_floorType = value;
-			}
-		}
-
-		public string EngineType
-		{
-			get {
-				return _engineType;
-			}
-			set {
-				if (!EngineOK(value))
-					throw new ArgumentException("EngineType argument is invalid");
-				_engineType = value;
-			}
-		}
-
-		public double LengthInMetres
-		{
-			get {
-				return _lengthInMetres;
-			}
-			set {
-				if (!DimensionOK(value))
-					throw new ArgumentException("Invalid Length");
-				_lengthInMetres = value;
-			}
-		}
-
-		public double WidthInMetres
-		{
-			get {
-				return _widthInMetres;
-			}
-			set {
-				if (!DimensionOK(value))
-					throw new ArgumentException("Invalid Width");
-				_widthInMetres = value;
-			}
-		}
-
-		public double HeightInMetres
-		{
-			get {
-				return _heightInMetres;
-			}
-			set {
-				if (!DimensionOK(value))
-					throw new ArgumentException("Invalid Height");
-				_heightInMetres = value;
-			}
-		}
-
-		public int RegisteredPassengers
-		{
-			get {
-				return _registeredPassengers;
-			}
-			set {
-				if (!PassengersOK(value))
-					throw new ArgumentException("Invalid Number Of Passengers");
-				_registeredPassengers = value;
-			}
-		}
-
-		public bool IsDoubleDecker
-		{
-			get {
-				return _isDoubleDecker;
-			}
-			set {
-				_isDoubleDecker = value;
-			}
-		}
-
-		// Constructors
-		public Bus(int _id, string _model, string _floorType, string _engineType, double _lengthInMetres, double _widthInMetres, double _heightInMetres, int _registeredPassengers, bool _doubleDecker)
-		{
-
-
-			// Validity checks.
-			if (!ModelOK(_model))
-				throw new ArgumentException("Model argument is invalid");
-			if (!FloorTypeOK(_floorType))
-				throw new ArgumentException("Model argument is invalid");
-			if (!EngineOK(_engineType))
-				throw new ArgumentException("EngineType argument is invalid");
-			if (!DimensionOK(_lengthInMetres))
-				throw new ArgumentException("Invalid Length");
-			if (!DimensionOK(_widthInMetres))
-				throw new ArgumentException("Invalid Width");
-			if (!DimensionOK(_heightInMetres))
-				throw new ArgumentException("Invalid Height");
-			if (!PassengersOK(_registeredPassengers))
-				throw new ArgumentException("Invalid Number Of Passengers");
-
-
-			// Set Private Members
-			this._id = _id;
-			this._model = _model;
-			this._floorType = _floorType;
-			this._engineType = _engineType;
-			this._lengthInMetres = _lengthInMetres;
-			this._widthInMetres = _widthInMetres;
-			this._heightInMetres = _heightInMetres;
-			this._registeredPassengers = _registeredPassengers;
-			this._isDoubleDecker = _doubleDecker;
-		}
-
-		// Construction Validators Helpers                                     
-		private bool ModelOK(string model)
-		{
-			model = model.ToLower();
-
-			if (model == null || model.Trim().Length == 0)
-				return false;
-
-			return true;
-		}
-
-		private bool FloorTypeOK(string floorType)
-		{
-			floorType = floorType.ToLower();
-
-			if (floorType == null || floorType.Trim().Length == 0)
-				return false;
-
-			if (floorType != "raised floor" && floorType != "low floor" && floorType != "semi low floor")
-				return false;
-
-			return true;
-		}
-
-		private bool EngineOK(string engine)
-		{
-			engine = engine.ToLower();
-
-			if (engine == null || engine.Trim().Length == 0)
-				return false;
-
-			if (engine != "diesel" && engine != "gas" && engine != "hybrid")
-				return false;
-
-			return true;
-		}
-
-		private bool DimensionOK(double dimension)
-		{
-			return dimension > 0.5;
-		}
-
-		private bool PassengersOK(int registeredPassengers)
-		{
-			return registeredPassengers > 1;
-		}
-
-		// To String function
-		public override string ToString()
-		{
-			return string.Format("{0},{1},{2},{3},{4},{5},{6},{7}", _model, _floorType, _engineType, _lengthInMetres, _widthInMetres, _heightInMetres, _registeredPassengers, _isDoubleDecker);
-		}
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs
deleted file mode 100644
index b1275fb68c..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs
+++ /dev/null
@@ -1,136 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.IO;
-using System.Linq;
-using System.Text;
-
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
-{
-	public class BusDatabase : IBusDatabase
-	{
-		private List<IBus> buses = new List<IBus>();
-		private List<IBus> selectListBuses = new List<IBus>();
-
-		public bool AddBus(IBus bus)
-		{
-			var result = true;
-
-			try {
-				buses.Add(bus);
-			} catch (Exception ) {
-				result = false;
-			}
-
-			return result;
-		}
-
-		public List<IBus> GetBuses(string busModel, bool AsSelectList = false)
-		{
-			if (AsSelectList) {
-				selectListBuses = new List<IBus>();
-				selectListBuses = buses.Where(v => v.Model == "" || v.Model.ToLower().Contains(busModel.ToLower())).ToList();
-				selectListBuses.Insert(0, new Bus(0, "<Select>", "low floor", "gas", 1, 1, 1, 2, false));
-				return selectListBuses;
-			}
-
-			return buses.Where(v => v.Model == "" || v.Model.ToLower().Contains(busModel.ToLower())).ToList();
-		}
-
-		public bool Initialise(string filepath)
-		{
-			var returnStatus = true;
-
-			if (File.Exists(filepath)) {
-				using (var sr = new StreamReader(filepath)) {
-					// get array og lines fron csv
-					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.Length < 2) {
-						return false;
-					}
-
-					var firstline = true;
-
-					var id = 1;
-
-					foreach (var line in lines) {
-						if (!firstline) {
-
-							// split the line
-							var elements = line.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
-							// 7 or 8 entries per line required
-							if ((elements.Length != 7 && elements.Length != 8))
-								throw new ArgumentException("Incorrect number of values in csv file");
-
-							// Bus
-							try {
-								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 ) {
-
-								// Indicate problems
-								returnStatus = false;
-							}
-
-							id = id + 1;
-						} else {
-							firstline = false;
-						}
-					}
-				}
-			} else {
-				returnStatus = false;
-			}
-
-			var uniqueBuses = buses.Select(b => b.Model).Distinct().Count();
-			if (buses.Count != uniqueBuses) {
-				returnStatus = false;
-			}
-
-			return returnStatus;
-		}
-
-		public bool UpdateBus(int id, IBus bus)
-		{
-			var result = true;
-
-			try {
-				var existingBus = buses.Single(b => b.Id == id);
-
-				existingBus.Model = bus.Model;
-				existingBus.RegisteredPassengers = bus.RegisteredPassengers;
-				existingBus.FloorType = bus.FloorType;
-				existingBus.LengthInMetres = bus.LengthInMetres;
-				existingBus.WidthInMetres = bus.WidthInMetres;
-				existingBus.HeightInMetres = bus.HeightInMetres;
-				existingBus.IsDoubleDecker = bus.IsDoubleDecker;
-			} catch (Exception ) {
-				result = false;
-			}
-
-			return result;
-		}
-
-		public bool Save(string filepath)
-		{
-			var result = true;
-			var output = new StringBuilder();
-
-			try {
-				output.AppendLine("Bus Model,Type,engine Type,length in m,wide in m,height in m,registered passengers,double decker");
-
-				foreach (var bus in buses)
-					output.AppendLine(bus.ToString());
-
-				File.WriteAllText(filepath, output.ToString());
-			} catch (Exception ) {
-				result = false;
-			}
-
-			return result;
-		}
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs
deleted file mode 100644
index 3ba51da9fe..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
-{
-	public enum BusEngineType
-	{
-		Diesal = 1,
-		Gas = 2,
-		Hybrid = 3
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionMapEntry.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionMapEntry.cs
index 706709e99f..647a794c95 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionMapEntry.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionMapEntry.cs
@@ -1,8 +1,5 @@
-using System.Collections.Generic;
-using System.Linq;
-using TUGraz.VectoCommon.BusAuxiliaries;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs
index 6033b3aa0c..38fa000244 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs
@@ -1,13 +1,6 @@
-using System;
-using System.Collections.Generic;
+using System.Collections.Generic;
 using System.Collections.ObjectModel;
-using System.Globalization;
-using System.IO;
-using System.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
-using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Util;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs
deleted file mode 100644
index 4a77815e71..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs
+++ /dev/null
@@ -1,62 +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 Newtonsoft.Json;
-using TUGraz.VectoCommon.BusAuxiliaries;
-using TUGraz.VectoCommon.Utils;
-
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
-{
-	public class HVACConstants : IHVACConstants
-	{
-		[JsonProperty("FuelDensity")]
-		private readonly double _fuelDensity;
-		[JsonProperty("DieselGCVJperGram")]
-		private readonly double _dieselGcvJperGram = 44800;
-
-		public HVACConstants()
-		{
-			// TODO:!! MQ 2019-10-21: Use Fuel config from VECTO Declaration Data!
-
-			_fuelDensity = 835; // .SI(Of KilogramPerCubicMeter)()
-		}
-
-		public HVACConstants(KilogramPerCubicMeter fuelDensitySingle)
-		{
-			_fuelDensity = fuelDensitySingle.Value();
-		}
-
-
-		[JsonIgnore]
-		public JoulePerKilogramm DieselGCVJperGram
-		{
-			get {
-				return _dieselGcvJperGram.SI(Unit.SI.Joule.Per.Gramm).Cast<JoulePerKilogramm>();
-			}
-		}
-
-		[JsonIgnore()]
-		public KilogramPerCubicMeter FuelDensity
-		{
-			get {
-				return _fuelDensity.SI<KilogramPerCubicMeter>();
-			}
-		}
-
-		[JsonIgnore()]
-		public double FuelDensityAsGramPerLiter
-		{
-			get {
-				return _fuelDensity * 1000;
-			}
-		}
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs
deleted file mode 100644
index e2aeba16e5..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs
+++ /dev/null
@@ -1,33 +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 TUGraz.VectoCommon.BusAuxiliaries;
-
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
-{
-	public class HVACUserInputsConfig : IHVACUserInputsConfig
-	{
-		public HVACUserInputsConfig()
-		{
-			HVACConstants = new HVACConstants();
-		}
-
-		//public ISSMInputs SSMInputs { get; internal set; }
-
-		public IHVACConstants HVACConstants { get; }
-
-		//public string SSMFilePath { get; set; }
-
-		//public string BusDatabasePath { get; set; }
-
-		//public bool SSMDisabled { get; set; }
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs
deleted file mode 100644
index 2d8e8154b3..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
-{
-	public interface IBus
-	{
-		int Id { get; }
-
-		string Model { get; set; }
-		string FloorType { get; set; }
-		string EngineType { get; set; }
-		double LengthInMetres { get; set; }
-		double WidthInMetres { get; set; }
-		double HeightInMetres { get; set; }
-		int RegisteredPassengers { get; set; }
-		bool IsDoubleDecker { get; set; }
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs
deleted file mode 100644
index 61839df27a..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System.Collections.Generic;
-
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
-{
-	public interface IBusDatabase
-	{
-		bool AddBus(IBus bus);
-
-		List<IBus> GetBuses(string busModel, bool AsSelectList = false);
-
-		bool Initialise(string busFileCSV);
-
-		bool UpdateBus(int id, IBus bus);
-
-		bool Save(string filepath);
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs
index f134c09b72..062bc7b787 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs
@@ -1,7 +1,5 @@
 using System;
-using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-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;
@@ -13,15 +11,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		protected IM0_NonSmart_AlternatorsSetEfficiency _m0;
 		protected Double _alternatorGearEfficiency;
 		protected Double _compressorGearEfficiency;
-		protected ISignals _signals;
-		protected Volt _powernetVoltage;
-		protected ISSMTOOL _steadyStateModel;
-
+		
 		protected Watt _ElectricalPowerW;
 		protected Watt _MechanicalPowerW;
 		protected KilogramPerSecond _FuelingLPerH;
 
-		public M01Impl(IM0_NonSmart_AlternatorsSetEfficiency m0, double altGearEfficiency, double compressorGearEfficiency, Volt powernetVoltage, ISignals signals, ISSMTOOL ssm)
+		public M01Impl(IM0_NonSmart_AlternatorsSetEfficiency m0, double altGearEfficiency, double compressorGearEfficiency, ISSMTOOL ssm)
 		{
 			//'Sanity Check - Illegal operations without all params.
 			if (m0 == null) {
@@ -30,23 +25,11 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 			if (altGearEfficiency < ElectricConstants.AlternatorPulleyEfficiencyMin ||
 				altGearEfficiency > ElectricConstants.AlternatorPulleyEfficiencyMax) {
-				throw new ArgumentException(
-					string.Format
-					(
-						"Gear efficiency must be between {0} and {1}",
+				throw new ArgumentException(string.Format("Gear efficiency must be between {0} and {1}",
 						ElectricConstants.AlternatorPulleyEfficiencyMin, ElectricConstants.AlternatorPulleyEfficiencyMax));
 			}
-			if (signals == null) {
-				throw new Exception("Signals object as supplied is null");
-			}
-
-			if (powernetVoltage < ElectricConstants.PowenetVoltageMin || powernetVoltage > ElectricConstants.PowenetVoltageMax) {
-				throw new ArgumentException(
-					string.Format(
-						"PowenetVoltage supplied must be in the range {0} to {1}", ElectricConstants.PowenetVoltageMin,
-						ElectricConstants.PowenetVoltageMax));
-			}
-
+			
+			
 			if (ssm == null ) {
 				throw new ArgumentException("Steady State model was not supplied");
 			}
@@ -58,14 +41,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			//'Assign
 			_m0 = m0;
 			_alternatorGearEfficiency = altGearEfficiency;
-			_signals = signals;
+			
 
 			_compressorGearEfficiency = compressorGearEfficiency;
-			_powernetVoltage = powernetVoltage;
-
-
-			_steadyStateModel = ssm;
-
+			
 			_ElectricalPowerW = ssm.ElectricalWAdjusted;
 			_MechanicalPowerW = ssm.MechanicalWBaseAdjusted;
 			_FuelingLPerH = ssm.FuelPerHBaseAdjusted; // ' SI(Of LiterPerHour)()
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs
index 93e741bd8b..c788f3c219 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs
@@ -170,16 +170,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 
 		// Base Values
-		public Watt BaseHeatingW_Mechanical
-		{
-			get { return 0.SI<Watt>(); }
-		}
-
-		public Watt BaseHeatingW_ElectricalCoolingHeating
-		{
-			get { return 0.SI<Watt>(); }
-		}
-
+		
 		public Watt BaseHeatingW_ElectricalVentilation(Kelvin environmentalTemperature, WattPerSquareMeter solar)
 		{
 			
@@ -248,7 +239,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 			return environmentalTemperature < gen.BoundaryConditions.TemperatureCoolingTurnsOff
 				? 0.SI<Watt>()
-				: gen.ACSystem.CompressorTypeDerived.ToLower() == "electrical"
+				: gen.ACSystem.CompressorType.IsElectrical()
 					? 0.SI<Watt>()
 					: run1TotalW > 0 && run2TotalW > 0
 						? VectoMath.Min(run1TotalW, run2TotalW)
@@ -271,7 +262,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			var run2TotalW = Run2.TotalW(environmentalTemperature, solar);
 			return environmentalTemperature < gen.BoundaryConditions.TemperatureCoolingTurnsOff
 				? 0.SI<Watt>()
-				: gen.ACSystem.CompressorTypeDerived.ToLower() == "electrical"
+				: gen.ACSystem.CompressorType.IsElectrical()
 					? run1TotalW > 0 && run2TotalW > 0
 						? VectoMath.Min(run1TotalW, run2TotalW)
 						: 0.SI<Watt>()
@@ -306,21 +297,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				: 0.SI<Watt>();
 		}
 
-		public Watt BaseCoolingW_FuelFiredHeating
-		{
-			get { return 0.SI<Watt>(); }
-		}
-
-		public Watt BaseVentilationW_Mechanical
-		{
-			get { return 0.SI<Watt>(); }
-		}
-
-		public Watt BaseVentilationW_ElectricalCoolingHeating
-		{
-			get { return 0.SI<Watt>(); }
-		}
-
 		public Watt BaseVentilationW_ElectricalVentilation(Kelvin environmentalTemperature, WattPerSquareMeter solar)
 		{
 			
@@ -354,22 +330,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			
 		}
 
-		public Watt BaseVentilationW_FuelFiredHeating
-		{
-			get { return 0.SI<Watt>(); }
-		}
-
+		
 		// Adjusted Values
-		public double TechListAdjustedHeatingW_Mechanical
-		{
-			get { return default(Double); }
-		}
-
-		public double TechListAdjustedHeatingW_ElectricalCoolingHeating
-		{
-			get { return default(Double); }
-		}
-
+		
 		public double TechListAdjustedHeatingW_ElectricalVentilation
 		{
 			get {
@@ -424,14 +387,14 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				//			Math.Max(If(gen.AC_CompressorType.ToLower() = "mechanical", tl.CValueVariation, 0),
 				//					-gen.BC_MaxPossibleBenefitFromTechnologyList))
 
-				result = (gen.ACSystem.CompressorType.ToLower() == "mechanical"
+				result = (gen.ACSystem.CompressorType.IsMechanical()
 							? tl.CValueVariation
 							: 0) > 0
 					? Math.Min(
-						gen.ACSystem.CompressorType.ToLower() == "mechanical" ? tl.CValueVariation : 0,
+						gen.ACSystem.CompressorType.IsMechanical() ? tl.CValueVariation : 0,
 						gen.BoundaryConditions.MaxPossibleBenefitFromTechnologyList)
 					: Math.Max(
-						gen.ACSystem.CompressorType.ToLower() == "mechanical" ? tl.CValueVariation : 0,
+						gen.ACSystem.CompressorType.IsMechanical() ? tl.CValueVariation : 0,
 						-gen.BoundaryConditions.MaxPossibleBenefitFromTechnologyList);
 
 				return result;
@@ -451,14 +414,14 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				// Dim C43 As Double   =  gen.BC_MaxPossibleBenefitFromTechnologyList
 				// Dim C53 As string   =  gen.AC_CompressorType
 
-				result = gen.ACSystem.CompressorType.ToLower() == "mechanical"
+				result = gen.ACSystem.CompressorType.IsMechanical()
 					? 0
 					: tl.CValueVariation > 0
 						? Math.Min(
-							gen.ACSystem.CompressorType.ToLower() == "mechanical" ? 0 : tl.CValueVariation,
+							gen.ACSystem.CompressorType.IsMechanical() ? 0 : tl.CValueVariation,
 							gen.BoundaryConditions.MaxPossibleBenefitFromTechnologyList)
 						: Math.Max(
-							gen.ACSystem.CompressorType.ToLower() == "mechanical" ? 0 : tl.CValueVariation,
+							gen.ACSystem.CompressorType.IsMechanical() ? 0 : tl.CValueVariation,
 							-gen.BoundaryConditions.MaxPossibleBenefitFromTechnologyList);
 
 				return result;
@@ -482,20 +445,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			}
 		}
 
-		public double TechListAdjustedCoolingW_FuelFiredHeating
-		{
-			get { return 0; }
-		}
-
-		public double TechListAdjustedVentilationW_Mechanical
-		{
-			get { return default(Double); }
-		}
-
-		public double TechListAdjustedVentilationW_ElectricalCoolingHeating
-		{
-			get { return default(Double); }
-		}
+		
 
 		public double TechListAdjustedVentilationW_ElectricalVentilation
 		{
@@ -514,12 +464,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			}
 		}
 
-		public double TechListAdjustedVentilationW_FuelFiredHeating
-		{
-			get { return 0; }
-		}
-
-
 		// Provides Diagnostic Information for the user which can be displayed on the form.
 		// Based on the inputs generated, can be used to cross reference the Excel Model with the
 		// Outputs generated here.
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs
index ac4045d463..2b7d6e234f 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs
@@ -1,13 +1,9 @@
 using System;
-using System.Collections.Generic;
 using System.Linq;
-using System.Runtime.InteropServices.WindowsRuntime;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 using TUGraz.VectoCore.Models.Declaration;
-using TUGraz.VectoCore.Models.SimulationComponent.Data;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
@@ -15,11 +11,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 	public class SSMInputs : ISSMInputs, ISSMBoundaryConditions, IEnvironmentalConditions, IACSystem, IVentilation,
 		IAuxHeater, ISSMBusParameters
 	{
-		private ITechlistBenefitLines _technologies;
+		private IFuelProperties HeatingFuel;
 
-		private FuelData.Entry HeatingFuel;
-
-		public SSMInputs(IVehicleData vehicle, string source, FuelData.Entry? heatingFuel = null)
+		public SSMInputs(IVehicleData vehicle, string source, IFuelProperties heatingFuel = null)
 		{
 			Vehicle = vehicle;
 			Source = source;
@@ -305,12 +299,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 
 		// C53 - "Continous/2-stage/3-stage/4-stage
-		public string CompressorType { get; set; }
+		public ACCompressorType CompressorType { get; set; }
 
 		// mechanical/electrical
 		public string CompressorTypeDerived
 		{
-			get { return CompressorType == "Continuous" ? "Electrical" : "Mechanical"; }
+			get { return CompressorType == ACCompressorType.Continuous ? "Electrical" : "Mechanical"; }
 		}
 
 		// C54 -  ( KW )
@@ -320,18 +314,22 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		public double COP
 		{
 			get {
-				var cop = 3.5D;
-
-				if ((CompressorType != null)) {
-					cop = CompressorType.ToLower() == "3-stage" ? cop * 1.02 : cop;
-					cop = CompressorType.ToLower() == "4-stage" ? cop * 1.02 : cop;
-					cop = CompressorType.ToLower() == "continuous"
-						? BusFloorType == FloorType.LowFloor
+				var cop = 3.5;
+
+				switch (CompressorType) {
+					case ACCompressorType.TwoStage: break;
+					case ACCompressorType.ThreeStage: 
+					case ACCompressorType.FourStage:
+						cop = cop * 1.02;
+						break;
+					case ACCompressorType.Continuous:
+						cop = BusFloorType == FloorType.LowFloor
 							? cop * 1.04
-							: cop * 1.06
-						: cop;
+							: cop * 1.06;
+						break;
+					default: throw new ArgumentOutOfRangeException();
 				}
-
+				
 				return Math.Round(cop, 2);
 			}
 		}
@@ -367,90 +365,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		public double CoolantHeatTransferredToAirCabinHeater { get; set; }
 
 
-		//private void SetDefaults()
-		//{
-		//	// BUS Parameterisation
-		//	// ********************
-		//	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_BusSurfaceArea : Calculated
-		//	// BP_BusWindowSurface    : Calculated
-		//	// BP_BusVolume : Calculated
-
-		//	// BOUNDRY CONDITIONS
-		//	// ******************
-
-		//	GFactor = 0.95D;
-
-		//	// BC_SolarClouding As Double :Calculated
-		//	// BC_HeatPerPassengerIntoCabinW  :Calculated
-		//	//PassengerBoundaryTemperature = 12.0.DegCelsiusToKelvin();
-
-		//	// BC_PassengerDensityLowFloor :Calculated
-		//	// BC_PassengerDensitySemiLowFloor :Calculated
-		//	// BC_PassengerDensityRaisedFloor :Calculated
-		//	// BC_CalculatedPassengerNumber  :Calculated
-		//	// BC_UValues :Calculated
-		//	HeatingBoundaryTemperature = 18.0.DegCelsiusToKelvin();
-		//	CoolingBoundaryTemperature = 23.0.DegCelsiusToKelvin();
-
-		//	// BC_CoolingBoundaryTemperature : ReadOnly Static
-		//	HighVentilation = 20.0.SI(Unit.SI.Per.Hour).Cast<PerSecond>();
-		//	LowVentilation = 7.0.SI(Unit.SI.Per.Hour).Cast<PerSecond>();
-
-		//	// BC_High  :Calculated
-		//	// BC_Low  :Calculated
-		//	// BC_HighVentPower  :Calculated
-		//	// BC_LowVentPower  :Calculated
-		//	SpecificVentilationPower = 0.56.SI(Unit.SI.Watt.Hour.Per.Cubic.Meter).Cast<JoulePerCubicMeter>();
-
-		//	// BC_COP :Calculated
-		//	AuxHeaterEfficiency = 0.84D;
-		//	//GCVDieselOrHeatingOil = 11.8.SI(Unit.SI.Kilo.Watt.Hour.Per.Kilo.Gramm).Cast<JoulePerKilogramm>();
-
-		//	// BC_WindowAreaPerUnitBusLength   :Calculated 
-		//	// BC_FrontRearWindowArea  :Calculated
-		//	//MaxTemperatureDeltaForLowFloorBusses = 3.0.SI<Kelvin>();
-		//	//MaxPossibleBenefitFromTechnologyList = 0.5D;
-
-		//	// Environmental Conditions
-		//	// ************************
-		//	//EnviromentalTemperature = 25.0.DegCelsiusToKelvin();
-		//	//Solar = 400.0.SI<WattPerSquareMeter>();
-		//	//EnviromentalConditions_BatchEnabled = true;
-		//	//EnviromentalConditions_BatchFile = "DefaultClimatic.aenv";
-
-		//	// AC SYSTEM
-		//	// *********
-		//	CompressorType = "2-stage";
-		//	CompressorCapacity = 18.0.SI(Unit.SI.Kilo.Watt).Cast<Watt>();
-
-		//	// VENTILATION
-		//	// ***********
-		//	VentilationOnDuringHeating = true;
-		//	VentilationWhenBothHeatingAndACInactive = true;
-		//	VentilationDuringAC = true;
-		//	VentilationFlowSettingWhenHeatingAndACInactive = VentilationLevel.High; //"high";
-		//	VentilationDuringHeating = VentilationLevel.High; //"high";
-		//	VentilationDuringCooling = VentilationLevel.High; //"high";
-
-		//	// AUX HEATER
-		//	// **********
-		//	FuelFiredHeaterPower = 30.0.SI(Unit.SI.Kilo.Watt).Cast<Watt>();
-		//	FuelEnergyToHeatToCoolant = 0.2;
-		//	CoolantHeatTransferredToAirCabinHeater = 0.75;
-		//	//EngineWasteHeatkW = 0.SI<Watt>();
-		//}
-
 		#region Implementation of ISSMInputs
 
 		public ISSMBusParameters BusParameters
@@ -458,12 +372,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			get { return this; }
 		}
 
-		public ITechlistBenefitLines Technologies
-		{
-			get { return _technologies; }
-			set { _technologies = value; }
-		}
-
 		public ISSMBoundaryConditions BoundaryConditions
 		{
 			get { return this; }
@@ -489,6 +397,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			get { return this; }
 		}
 
+		public ISSMTechnologies Technologies { get; set; }
+
+
 		#endregion
 	}
 }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs
index f38758d25a..c37e9a1222 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs
@@ -1,9 +1,7 @@
 using System;
-using System.Text;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
-using TUGraz.VectoCore.Models.Declaration;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
@@ -17,8 +15,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 		public SSMRun(ISSMTOOL ssm, int runNbr)
 		{
-			if (runNbr != 1 && runNbr != 2)
+			if (runNbr != 1 && runNbr != 2) {
 				throw new ArgumentException("Run number must be either 1 or 2");
+			}
 
 			runNumber = runNbr;
 			ssmTOOL = ssm;
@@ -28,8 +27,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		
 		public Kelvin TCalc(Kelvin enviromentalTemperature)
 		{
-			
-
 				// C24 = BC_HeatingBoundaryTemperature
 				// C25 = BC_CoolingBoundary Temperature
 				// C6  = BP_BusFloorType
@@ -76,11 +73,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 		public Watt FuelW(Kelvin enviromentalTemperature, WattPerSquareMeter solarFactor)
 		{
-			
 				// =IF(AND(N79<0,N79<(C60*-1)),N79-(C60*-1),0)*1000
 
-				var gen = ssmTOOL.SSMInputs.AuxHeater;
-
 				// Dim N79  as Double =  TotalKW
 				// Dim C60  As Double = gen.AH_EngineWasteHeatkW
 
@@ -95,7 +89,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			
 				// =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)
 
-				var gen = ssmTOOL.SSMInputs.AuxHeater;
 				var TLFFH = ssmTOOL.Calculate.TechListAdjustedHeatingW_FuelFiredHeating;
 				// Dim C60 As Double = gen.AH_EngineWasteHeatkW
 				// Dim N79 As Double = Me.TotalKW
@@ -112,30 +105,5 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 					: 0.SI<Watt>();
 			
 		}
-
-		// Provides Diagnostic Information
-		// To be utilised by the User.
-		//public override string ToString()
-		//{
-		//	var sb = new StringBuilder();
-
-		//	var  vbTab = "\t";
-		//	var temp = ssmTOOL.SSMInputs.EnvironmentalConditions.EnviromentalTemperature;
-		//	sb.AppendLine(string.Format("Run : {0}", runNumber));
-		//	sb.AppendLine(string.Format("************************************"));
-		//	sb.AppendLine(string.Format("HVAC OP         " + vbTab + ": {0}", HVACOperation(temp)));
-		//	sb.AppendLine(string.Format("TCALC           " + vbTab + ": {0}", TCalc(temp)));
-		//	sb.AppendLine(string.Format("Tempurature D   " + vbTab + ": {0}", (temp - TCalc(temp))));
-		//	sb.AppendLine(string.Format("QWall           " + vbTab + ": {0}", QWall(temp)));
-		//	sb.AppendLine(string.Format("WattsPerPass    " + vbTab + ": {0}", WattsPerPass));
-		//	sb.AppendLine(string.Format("Solar           " + vbTab + ": {0}", Solar));
-		//	sb.AppendLine(string.Format("TotalW          " + vbTab + ": {0}", TotalW(temp)));
-		//	sb.AppendLine(string.Format("TotalKW         " + vbTab + ": {0}", TotalW(temp).Value() * 1000));
-		//	sb.AppendLine(string.Format("Fuel W          " + vbTab + ": {0}", FuelW(temp)));
-		//	sb.AppendLine(string.Format("Fuel Tech Adj   " + vbTab + ": {0}", TechListAmendedFuelW(temp)));
-
-
-		//	return sb.ToString();
-		//}
 	}
 }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs
index dce34c21b9..181c3e28f5 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs
@@ -38,8 +38,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		// Repeat Warning Flags
 		private bool CompressorCapacityInsufficientWarned;
 
-		//private bool FuelFiredHeaterInsufficientWarned;
-
 		// Base Values
 		public Watt ElectricalWBase
 		{
@@ -93,26 +91,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 		}
 
 		public Watt EngineWasteHeatkW { get; protected set; }
-
 		
-
-		// Clone values from another object of same type
-		//public void Clone(ISSMTOOL from)
-		//{
-		//	var feedback = string.Empty;
-
-		//	SSMInputs.InjectFrom(((SSMTOOL)from).SSMInputs);
-
-		//	TechList.Clear();
-
-		//	foreach (var line in from.TechList.TechLines) {
-		//		var newLine = new TechListBenefitLine(this.SSMInputs);
-		//		// newLine.InjectFrom()
-		//		newLine.InjectFrom(line);
-		//		TechList.Add(newLine, ref feedback);
-		//	}
-		//}
-
 		// Persistance Functions
 		
 
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs
index 99942a2939..d2e6ed3e0c 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs
@@ -1,35 +1,34 @@
 using System;
 using System.Collections.Generic;
-using System.Globalization;
-using System.IO;
 using System.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
-using TUGraz.VectoCore.Models.Declaration;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
 	// Used By SSMTOOL Class.
 	public class SSMTechList : ISSMTechList
 	{
-		private readonly List<ITechListBenefitLine> _techLines;
+		private readonly List<ISSMTechnology> _techLines;
 		private FloorType _busFloorType;
 
 		// Constructors
 		public SSMTechList(FloorType busFloorType)
 		{
-			_techLines = new List<ITechListBenefitLine>();
+			_techLines = new List<ISSMTechnology>();
 			BusFloorType = busFloorType;
 		}
 
-		public IReadOnlyList<ITechListBenefitLine> TechLines
+		public IReadOnlyList<ISSMTechnology> TechLines
 		{
 			get { return _techLines; }
 			set {
 				_techLines.Clear();
-				var fb = "";
-				foreach (var entry in value) {
-					Add(entry, ref fb);
+				foreach (var item in value) {
+					if (TechLines.Any(w => w.Category == item.Category && w.BenefitName == item.BenefitName)) {
+						throw new ArgumentException("entry already exists");
+					}
+					item.BusFloorType = BusFloorType;
+					_techLines.Add(item);
 				}
 			}
 		}
@@ -96,105 +95,5 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			}
 		}
 
-		// Member Management
-		public bool Add(ITechListBenefitLine item, ref string feedback)
-		{
-			var initialCount = TechLines.Count;
-
-			if (TechLines.Any(w => w.Category == item.Category && w.BenefitName == item.BenefitName)) {
-				// Failure
-				feedback = "Item already exists.";
-				return false;
-			}
-
-
-			try {
-				item.BusFloorType = BusFloorType;
-				_techLines.Add(item);
-
-				if (TechLines.Count == initialCount + 1) {
-
-					// Success
-					feedback = "OK";
-					//_dirty = true;
-					return true;
-				}
-
-				// Failure
-				feedback = "The system was unable to add the new tech benefit list item.";
-				return false;
-			} catch (Exception ) {
-				feedback = "The system threw an exception and was unable to add the new tech benefit list item.";
-				return false;
-			}
-		}
-
-		public void Clear()
-		{
-			if (_techLines.Count > 0)
-				//_dirty = true;
-
-			_techLines.Clear();
-		}
-
-		public ITechListBenefitLine Find(string category, string benefitName)
-		{
-			return _techLines.Find(f => f.Category == category && f.BenefitName == benefitName);
-		}
-
-		public bool Delete(ITechListBenefitLine item, ref string feedback)
-		{
-			var currentCount = TechLines.Count;
-
-			if ((TechLines.Count(c => c.Category == item.Category && c.BenefitName == item.BenefitName) == 1)) {
-				try {
-					_techLines.RemoveAt(_techLines.FindIndex(c => c.Category == item.Category && c.BenefitName == item.BenefitName));
-
-					if (TechLines.Count == currentCount - 1) {
-						// This succeeded
-						//_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) {
-					feedback = "An exception occured, the removal failed.";
-					return false;
-				}
-			} else {
-				feedback = "the item was not found in the list.";
-				return false;
-			}
-		}
-
-		public bool Modify(ITechListBenefitLine originalItem, ITechListBenefitLine newItem, ref string feedback)
-		{
-			var fi = _techLines.Find(f => f.Category == originalItem.Category && f.BenefitName == originalItem.BenefitName);
-
-			if (fi != null) {
-				try {
-					fi.CloneFrom(newItem);
-
-					if (newItem == fi) {
-						// This succeeded
-						//_dirty = true;
-						return true;
-					}
-
-					// No Exception, but this failed for some reason.
-					feedback = "The system was unable to remove the item from the list.";
-					return false;
-				} catch (Exception ) {
-					feedback = "An exception occured, the update failed.";
-					return false;
-				}
-			}
-
-			feedback = "the item was not found so cannot be modified.";
-			return false;
-		}
-
 	}
 }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechnology.cs
similarity index 76%
rename from VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechnology.cs
index 1299220484..c45b029246 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechnology.cs
@@ -1,7 +1,5 @@
 using System.Collections.Generic;
 using TUGraz.VectoCommon.BusAuxiliaries;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
-using TUGraz.VectoCore.Models.Declaration;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 {
@@ -10,24 +8,24 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 	// Or PDF Model Document which articulates the same spreadsheet functionality
 	// But within the context of the Vecto interpretation of the same.
 
-	public class TechBenefitLines : ITechlistBenefitLines
+	public class TechBenefitLines : ISSMTechnologies
 	{
 		#region Implementation of ITechlistBenefitLines
 
-		public TechBenefitLines(IReadOnlyList<ITechListBenefitLine> items, string source)
+		public TechBenefitLines(IReadOnlyList<ISSMTechnology> items, string source)
 		{
 			Items = items;
 			Source = source;
 		}
 
-		public IReadOnlyList<ITechListBenefitLine> Items { get; }
+		public IReadOnlyList<ISSMTechnology> Items { get; }
 
 		public string Source { get; }
 
 		#endregion
 	}
 
-	public class TechListBenefitLine : ITechListBenefitLine
+	public class SSMTechnology : ISSMTechnology
 	{
 		//private float _h, _vh, _vv, _vc, _c;
 		public FloorType BusFloorType { protected get; set; }
@@ -160,39 +158,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			}
 		}
 
-		public TechListBenefitLine() { }
+		public SSMTechnology() { }
 
 		
 
-		public TechListBenefitLine(
-			string category, string benefitName, double lowFloorH, double lowFloorV,
-			double lowFloorC, double semiLowFloorH, double semiLowFloorV, double semiLowFloorC, double raisedFloorH,
-			double raisedFloorV, double raisedFloorC, bool onVehicle, bool activeVH, bool activeVV,
-			bool activeVC
-		)
-		{
-			//BusFloorType = geninputs;
-			//Units = units;
-			Category = category;
-			BenefitName = benefitName;
-			LowFloorH = lowFloorH;
-			LowFloorV = lowFloorV;
-			LowFloorC = lowFloorC;
-			SemiLowFloorH = semiLowFloorH;
-			SemiLowFloorV = semiLowFloorV;
-			SemiLowFloorC = semiLowFloorC;
-			RaisedFloorH = raisedFloorH;
-			RaisedFloorV = raisedFloorV;
-			RaisedFloorC = raisedFloorC;
-			OnVehicle = onVehicle;
-			//LineType = lineType;
-			ActiveVH = activeVH;
-			ActiveVV = activeVV;
-			ActiveVC = activeVC;
-		}
-
 		// Operator Overloads
-		public static bool operator ==(TechListBenefitLine op1, TechListBenefitLine op2)
+		public static bool operator ==(SSMTechnology op1, SSMTechnology op2)
 		{
 			if ((op1.Category == op2.Category && op1.BenefitName == op2.BenefitName && op1.ActiveVC == op2.ActiveVC &&
 				op1.ActiveVH == op2.ActiveVH && op1.ActiveVV == op2.ActiveVV && /*op1.LineType == op2.LineType &&*/
@@ -207,7 +178,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 			return false;
 		}
 
-		public static bool operator !=(TechListBenefitLine op1, TechListBenefitLine op2)
+		public static bool operator !=(SSMTechnology op1, SSMTechnology op2)
 		{
 			if ((op1.Category != op2.Category || op1.BenefitName != op2.BenefitName || op1.ActiveVC != op2.ActiveVC ||
 				op1.ActiveVH != op2.ActiveVH || op1.ActiveVV != op2.ActiveVV || /*op1.LineType != op2.LineType ||*/
@@ -224,7 +195,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 		#region Equality members
 
-		protected bool Equals(TechListBenefitLine other)
+		protected bool Equals(SSMTechnology other)
 		{
 			return Equals(BusFloorType, other.BusFloorType) && /*string.Equals(Units, other.Units) &&*/
 					string.Equals(Category, other.Category) && string.Equals(BenefitName, other.BenefitName) &&
@@ -248,7 +219,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 				return false;
 			}
 
-			return Equals((TechListBenefitLine)obj);
+			return Equals((SSMTechnology)obj);
 		}
 
 		public override int GetHashCode()
@@ -278,33 +249,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC
 
 		#endregion
 
-		public void CloneFrom(ITechListBenefitLine source)
-		{
-			//this.Units = source.Units;
-			Category = source.Category;
-			BenefitName = source.BenefitName;
-			LowFloorH = source.LowFloorH;
-			LowFloorV = source.LowFloorV;
-			LowFloorC = source.LowFloorC;
-
-			SemiLowFloorH = source.SemiLowFloorH;
-			SemiLowFloorV = source.SemiLowFloorV;
-			SemiLowFloorC = source.SemiLowFloorC;
-
-			RaisedFloorH = source.RaisedFloorH;
-			RaisedFloorV = source.RaisedFloorV;
-			RaisedFloorC = source.RaisedFloorC;
-
-			OnVehicle = source.OnVehicle;
-			ActiveVH = source.ActiveVH;
-			ActiveVV = source.ActiveVV;
-			ActiveVC = source.ActiveVC;
-			//LineType = source.LineType;
-		}
-
-		public bool IsEqualTo(ITechListBenefitLine source)
+		public bool IsEqualTo(ISSMTechnology source)
 		{
-			var mySource = (TechListBenefitLine)source;
+			var mySource = (SSMTechnology)source;
 			if (ReferenceEquals(mySource, null)) {
 				return false;
 			}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs
index 9a059cab55..25f2bf11ad 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs
@@ -1,7 +1,6 @@
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs
index c4282efae6..cdaf1bad9e 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs
@@ -1,6 +1,5 @@
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
@@ -14,7 +13,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 
 		protected IM5_SmartAlternatorSetGeneration _m5;
 		protected IM6 _m6;
-		protected ISignals _signals;
+		protected readonly ISignals _signals;
 
 		public M07Impl(IM5_SmartAlternatorSetGeneration m5, IM6 m6, ISignals signals)
 		{
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs
index f07e26111e..00bca59c62 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs
@@ -1,6 +1,5 @@
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
@@ -11,10 +10,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 		protected Watt _smartElectricalAlternatorPowerGenAtCrank;
 		protected bool _compressorFlag;
 
-		protected IM1_AverageHVACLoadDemand _m1;
-		protected IM6 _m6;
-		protected IM7 _m7;
-		protected ISignals _signals;
+		protected readonly IM1_AverageHVACLoadDemand _m1;
+		protected readonly IM6 _m6;
+		protected readonly IM7 _m7;
+		protected readonly ISignals _signals;
 
 		public M08Impl(IM1_AverageHVACLoadDemand m1, IM6 m6, IM7 m7, ISignals signals)
 		{
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs
index ce4b7b1693..c1576eb421 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs
@@ -1,7 +1,6 @@
 using System;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
@@ -25,13 +24,13 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 
 		#endregion
 
-		protected IM1_AverageHVACLoadDemand M1;
-		protected IM4_AirCompressor M4;
-		protected IM6 M6;
-		protected IM8 M8;
-		protected IFuelConsumptionMap FMAP;
-		protected IPneumaticsAuxilliariesConfig PSAC;
-		protected ISignals Signals;
+		protected readonly IM1_AverageHVACLoadDemand M1;
+		protected readonly IM4_AirCompressor M4;
+		protected readonly IM6 M6;
+		protected readonly IM8 M8;
+		protected readonly IFuelConsumptionMap FMAP;
+		protected readonly IPneumaticsAuxilliariesConfig PSAC;
+		protected readonly ISignals Signals;
 
 		public M09Impl(IM1_AverageHVACLoadDemand m1, IM4_AirCompressor m4, IM6 m6, IM8 m8, IFuelConsumptionMap fmap, IPneumaticsAuxilliariesConfig psac, ISignals signals)
 		{
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs
index 3c1b3b035c..88e278703c 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs
@@ -1,7 +1,5 @@
 using System;
-using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
@@ -11,21 +9,20 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 		protected Kilogram _averageLoadsFuelConsumptionInterpolatedForPneumatics;
 		protected Kilogram _fuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand;
 
-		protected IM3_AveragePneumaticLoadDemand M3;
+		protected readonly IM3_AveragePneumaticLoadDemand M3;
 
-		protected IM9 M9;
+		protected readonly IM9 M9;
 			//'Not Currently used but there for ease of refactoring in future.
-		protected ISignals Signals;
-
+		
 		//'Aggregators
 		protected NormLiter _AverageAirConsumedLitre;
 
 		
-		public M10Impl(IM3_AveragePneumaticLoadDemand m3, IM9 m9, ISignals signals)
+		public M10Impl(IM3_AveragePneumaticLoadDemand m3, IM9 m9)
 		{
 			M3 = m3;
 			M9 = m9;
-			Signals = signals;
+			
 			_AverageAirConsumedLitre = 0.SI<NormLiter>();
 		}
 
@@ -97,7 +94,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 
 		public void CycleStep(Second stepTimeInSeconds)
 		{
-			_AverageAirConsumedLitre += double.IsNaN(M3.AverageAirConsumed().Value()) ? 0.SI<NormLiter>() : M3.AverageAirConsumed() * stepTimeInSeconds;
+			_AverageAirConsumedLitre += double.IsNaN(M3.AverageAirConsumed().Value())
+				? 0.SI<NormLiter>()
+				: M3.AverageAirConsumed() * stepTimeInSeconds;
 		}
 
 		#endregion
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs
index 077c0db2d2..bb474fdd26 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs
@@ -1,20 +1,12 @@
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class M11Impl : AbstractModule, IM11
 	{
-		protected Joule _smartElectricalTotalCycleElectricalEnergyGeneratedDuringOverrunOnly;
-		protected Joule _smartElectricalTotalCycleEletricalEnergyGenerated;
-		protected Joule _totalCycleElectricalDemand;
-		protected Kilogram _totalCycleFuelConsumptionSmartElectricalLoad;
-		protected Kilogram _totalCycleFuelConsumptionZeroElectricalLoad;
-		protected Joule _stopStartSensitiveTotalCycleElectricalDemand;
-		protected Kilogram _totalCycleFuelConsuptionAverageLoads;
-
+		
 #region "Private Aggregates"
 		protected Joule AG1;
 		protected Joule AG2;
@@ -25,12 +17,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 		protected Kilogram AG7;
 #endregion
 
-		protected IM1_AverageHVACLoadDemand M1;
-		protected IM3_AveragePneumaticLoadDemand M3;
-		protected IM6 M6;
-		protected IM8 M8;
-		protected IFuelConsumptionMap FMAP;
-		protected ISignals Signals;
+		protected readonly IM1_AverageHVACLoadDemand M1;
+		protected readonly IM3_AveragePneumaticLoadDemand M3;
+		protected readonly IM6 M6;
+		protected readonly IM8 M8;
+		protected readonly IFuelConsumptionMap FMAP;
+		protected readonly ISignals Signals;
 
 		public M11Impl(IM1_AverageHVACLoadDemand m1, IM3_AveragePneumaticLoadDemand m3, IM6 m6, IM8 m8, IFuelConsumptionMap fmap, ISignals signals)
 		{
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs
index fa7319d64e..94cbdd195f 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs
@@ -1,5 +1,4 @@
-using TUGraz.VectoCommon.BusAuxiliaries;
-using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
@@ -8,19 +7,17 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class M12Impl : AbstractModule, IM12
 	{
-		protected IM11 M11;
-		protected IM10 M10;
-		protected ISignals Signals;
+		protected readonly IM11 M11;
+		protected readonly IM10 M10;
 
 		protected Kilogram _fuelconsumptionwithsmartElectricsandAveragePneumaticPowerDemand;
 		protected Kilogram _baseFuelConsumptionWithTrueAuxiliaryLoads;
 		protected double _stopStartCorrection;
 
-		public M12Impl(IM10 m10, IM11 m11, ISignals signals)
+		public M12Impl(IM10 m10, IM11 m11)
 		{
 			M10 = m10;
 			M11 = m11;
-			Signals = signals;
 		}
 
 		private class Point
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs
index f71f3587d6..8bf90458cd 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs
@@ -9,10 +9,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 
 	public class M13Impl : AbstractModule, IM13
 	{
-		protected IM10 M10;
-		protected IM11 M11;
-		protected IM12 M12;
-		protected ISignals Signals;
+		protected readonly IM10 M10;
+		protected readonly IM11 M11;
+		protected readonly IM12 M12;
+		protected readonly ISignals Signals;
 
 		private Kilogram _whtcTotalCycleFuelConsumptionGrams;
 
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs
index 9399b7f013..143dab9125 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs
@@ -1,38 +1,38 @@
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
+using TUGraz.VectoCore.Models.Declaration;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl
 {
 	public class M14Impl : AbstractModule, IM14
 	{
-		protected IM13 M13;
-		protected ISignals Signals;
-		protected IHVACConstants Constants;
-		protected ISSMTOOL SSM;
+		protected readonly IM13 M13;
+		protected readonly ISignals Signals;
+		protected readonly ISSMTOOL SSM;
 
 		protected Kilogram _totalCycleFcGrams;
-		
+		private readonly IFuelProperties EngineFuel;
+
 
-		public M14Impl(IM13 m13, ISSMTOOL ssm, IHVACConstants hvacConstants, ISignals signals)
+		public M14Impl(IM13 m13, ISSMTOOL ssm, IFuelProperties engineFuel, ISignals signals)
 		{
 			M13 = m13;
 			SSM = ssm;
-			Constants = hvacConstants;
+			EngineFuel = engineFuel;
 			Signals = signals;
 		}
 
 
 		protected override void DoCalculate()
 		{
-			var s1 = M13.WHTCTotalCycleFuelConsumption * Constants.DieselGCVJperGram;
+			var s1 = M13.WHTCTotalCycleFuelConsumption * EngineFuel.LowerHeatingValueVectoEngine;
 			var s2 = SSM.SSMInputs.AuxHeater.FuelEnergyToHeatToCoolant * s1;
 			var s3 = s2 * SSM.SSMInputs.AuxHeater.CoolantHeatTransferredToAirCabinHeater;
 			var s4 = s3 / Signals.CurrentCycleTimeInSeconds.SI<Second>();
-			var s5 = Signals.CurrentCycleTimeInSeconds.SI<Second>(); // ' / 3600
-			var s6 = s5 * SSM.FuelPerHBaseAsjusted(s4); // * Constants.FuelDensity;
+			var s5 = Signals.CurrentCycleTimeInSeconds.SI<Second>(); 
+			var s6 = s5 * SSM.FuelPerHBaseAsjusted(s4); 
 			var s7 = M13.WHTCTotalCycleFuelConsumption + s6;
 			_totalCycleFcGrams = s7;
 		}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/ActuationsMap.cs
similarity index 88%
rename from VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs
rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/ActuationsMap.cs
index 7e87e32fcb..537bb0e655 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/ActuationsMap.cs
@@ -15,11 +15,11 @@ using TUGraz.VectoCommon.BusAuxiliaries;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
 {
-	public class PneumaticActuationsMap : IPneumaticActuationsMap
+	public class ActuationsMap : IActuationsMap
 	{
 		private Dictionary<ActuationsKey, int> _map;
 
-		public PneumaticActuationsMap(Dictionary<ActuationsKey, int> map, string source)
+		public ActuationsMap(Dictionary<ActuationsKey, int> map, string source)
 		{
 			_map = map;
 			Source = source;
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs
index c10ea4afb2..9a202b691c 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs
@@ -9,10 +9,7 @@
 // 
 // See the LICENSE.txt for the specific language governing permissions and limitations.
 
-using System;
 using System.Collections.Generic;
-using System.Globalization;
-using System.IO;
 using System.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
@@ -62,9 +59,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati
 			Source = source;
 			Entries = entries;
 			var powerDividedByFlowRateSum = 0.0.SI<JoulePerNormLiter>();
-			foreach (var entry in Entries)
+			foreach (var entry in Entries) {
 				powerDividedByFlowRateSum += (entry.PowerCompressorOn - entry.PowerCompressorOff) /
 											entry.FlowRate;
+			}
 
 			_averagePowerDemandPerCompressorUnitFlowRateLitresperSec = (powerDividedByFlowRateSum / Entries.Count);
 		}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs
index a12ef542a5..99841a3316 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs
@@ -1,7 +1,6 @@
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
@@ -10,35 +9,29 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati
 	{
 		protected IPneumaticUserInputsConfig _pneumaticUserInputsConfig;
 		protected IPneumaticsAuxilliariesConfig _pneumaticAuxillariesConfig;
-		protected IPneumaticActuationsMap _pneumaticsActuationsMap;
+		protected IActuationsMap ActuationsMap;
 		protected ICompressorMap _pneumaticsCompressorFlowRateMap;
 		protected Kilogram _vehicleMassKG;
 		protected string _cycleName;
 		protected ISignals _signals;
-		protected JoulePerNormLiter _averagePowerDemandPerCompressorUnitFlowRateInWPerLitresPerSecond;
 		protected NormLiter _totalAirDemand;
 		private Second totalCycleTimeSeconds;
 
 
 		//public M03Impl(IPneumaticUserInputsConfig pneumaticsUserInputConfig, IPneumaticsAuxilliariesConfig pneumaticsAuxillariesConfig, IPneumaticActuationsMap pneumaticsActuationsMap, ICompressorMap pneumaticsCompressorFlowRateMap, Kilogram vehicleMassKG, string cycleName, ISignals signals)
-		public M03Impl(IAuxiliaryConfig auxConfig, ICompressorMap compressorMap, IPneumaticActuationsMap actuationsMap, ISignals signals)
+		public M03Impl(IAuxiliaryConfig auxConfig, ICompressorMap compressorMap, IActuationsMap actuationsMap, ISignals signals)
 		{
 			_pneumaticUserInputsConfig = auxConfig.PneumaticUserInputsConfig;
 			_pneumaticAuxillariesConfig = auxConfig.PneumaticAuxillariesConfig;
-			_pneumaticsActuationsMap = actuationsMap;
+			ActuationsMap = actuationsMap;
 			_pneumaticsCompressorFlowRateMap = compressorMap;
 			_vehicleMassKG = auxConfig.VehicleData.TotalVehicleWeight;
 			_cycleName = auxConfig.Cycle;
 			_signals = signals;
 
-			totalCycleTimeSeconds = _pneumaticsActuationsMap
+			totalCycleTimeSeconds = ActuationsMap
 				.GetNumActuations(new ActuationsKey(Constants.BusAuxiliaries.CycleTimeActuationKey, auxConfig.Cycle)).SI<Second>();
 
-
-			//'Total up the blow demands from compressor map
-			_averagePowerDemandPerCompressorUnitFlowRateInWPerLitresPerSecond =
-				(_pneumaticsCompressorFlowRateMap.GetAveragePowerDemandPerCompressorUnitFlowRate());
-
 			//'Calculate the Total Required Air Delivery Rate L / S
 			_totalAirDemand = TotalAirDemandCalculation();
 		}
@@ -50,7 +43,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati
 
 
 			//'* * Breaks * *
-			double numActuationsPerCycle = _pneumaticsActuationsMap.GetNumActuations(new ActuationsKey("Brakes", _cycleName));
+			double numActuationsPerCycle = ActuationsMap.GetNumActuations(new ActuationsKey("Brakes", _cycleName));
 			//'=IF(K10 = "yes", IF(COUNTBLANK(F33), G33, F33), IF(COUNTBLANK(F34), G34, F34)) * K16
 			var airConsumptionPerActuation = (_pneumaticUserInputsConfig.RetarderBrake
 				? _pneumaticAuxillariesConfig.BrakingWithRetarderNIperKG
@@ -59,7 +52,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati
 
 			//'* * ParkBrakesBreakplus2Doors * *Park break +2 doors
 			numActuationsPerCycle =
-				_pneumaticsActuationsMap.GetNumActuations(new ActuationsKey(Constants.BusAuxiliaries.BrakeAndDoorsActuationKey, _cycleName));
+				ActuationsMap.GetNumActuations(new ActuationsKey(Constants.BusAuxiliaries.BrakeAndDoorsActuationKey, _cycleName));
 			//'=SUM(IF(K14 = "electric", 0, IF(COUNTBLANK(F36), G36, F36)), PRODUCT(K16 * IF(COUNTBLANK(F37), G37, F37)))
 			airConsumptionPerActuation = _pneumaticUserInputsConfig.Doors == ConsumerTechnology.Electrically
 				? 0.SI<NormLiter>()
@@ -68,7 +61,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati
 			var parkBrakesplus2Doors = (numActuationsPerCycle * airConsumptionPerActuation);
 
 			//'* * Kneeling * *
-			numActuationsPerCycle = _pneumaticsActuationsMap.GetNumActuations(new ActuationsKey("Kneeling", _cycleName));
+			numActuationsPerCycle = ActuationsMap.GetNumActuations(new ActuationsKey("Kneeling", _cycleName));
 			//'=IF(COUNTBLANK(F35), G35, F35) * K11 * K16
 			airConsumptionPerActuation = _pneumaticAuxillariesConfig.BreakingPerKneelingNIperKGinMM *
 										_pneumaticUserInputsConfig.KneelingHeightMillimeters * _vehicleMassKG;
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs
index 155a62d84c..59d353a136 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs
@@ -1,7 +1,6 @@
 using System;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules;
 
 namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs
index c66a70cb0c..961db5b3c8 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs
@@ -9,7 +9,6 @@
 // 
 // See the LICENSE.txt for the specific language governing permissions and limitations.
 
-using System.Collections.Generic;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
 
@@ -31,32 +30,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati
 		public ConsumerTechnology Doors { get; set; }
 		public Meter KneelingHeightMillimeters { get; set; }
 
-		// PneumaticActuationsMap
-		//public Dictionary<ActuationsKey, int> ActuationsMap { get; set; }
-
 		public bool RetarderBrake { get; set; }
 		public bool SmartAirCompression { get; set; }
 		public bool SmartRegeneration { get; set; }
-
-		//public PneumaticUserInputsConfig()
-		//{
-		//	if (setToDefaults)
-		//		SetPropertiesToDefaults();
-		//}
-
-		//public void SetPropertiesToDefaults()
-		//{
-		//	//CompressorMap = string.Empty;
-		//	CompressorGearRatio = 1.0;
-		//	CompressorGearEfficiency = 0.97;
-		//	AdBlueDosing = ConsumerTechnology.Pneumatic; // "Pneumatic";
-		//	AirSuspensionControl = ConsumerTechnology.Mechanical; // "Mechanically";
-		//	Doors = ConsumerTechnology.Pneumatic; // "Pneumatic";
-		//	KneelingHeightMillimeters = 70.SI(Unit.SI.Milli.Meter).Cast<Meter>();
-		//	ActuationsMap = null;
-		//	RetarderBrake = true;
-		//	SmartAirCompression = false;
-		//	SmartRegeneration = false;
-		//}
 	}
 }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs
index 43d6842b51..b378d19b0e 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs
@@ -40,27 +40,5 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati
 
 		public double SmartRegenFractionTotalAirDemand { get; set; }
 
-
-		//public PneumaticsAuxilliariesConfig()
-		//{
-		//	//if (setToDefaults)
-		//	//	SetDefaults();
-		//}
-
-		//public void SetDefaults()
-		//{
-		//	AdBlueNIperMinute = 21.25.SI(Unit.SI.Liter.Per.Minute).Cast<NormLiterPerSecond>();
-		//	AirControlledSuspensionNIperMinute = 15.SI(Unit.SI.Liter.Per.Minute).Cast<NormLiterPerSecond>();
-		//	BrakingNoRetarderNIperKG = 0.00081.SI(Unit.SI.Liter.Per.Kilo.Gramm).Cast<NormLiterPerKilogram>();
-		//	BrakingWithRetarderNIperKG = 0.0006.SI(Unit.SI.Liter.Per.Kilo.Gramm).Cast<NormLiterPerKilogram>();
-		//	BreakingPerKneelingNIperKGinMM = 0.000066.SI(Unit.SI.Liter.Per.Kilo.Gramm.Meter).Cast<NormLiterPerKilogramMeter>();
-		//	DeadVolBlowOutsPerLitresperHour = 24.SI(Unit.SI.Per.Hour).Cast<PerSecond>();
-		//	DeadVolumeLitres = 30.SI<NormLiter>();
-		//	NonSmartRegenFractionTotalAirDemand = 0.26;
-		//	OverrunUtilisationForCompressionFraction = 0.97;
-		//	PerDoorOpeningNI = 12.7.SI<NormLiter>();
-		//	PerStopBrakeActuationNIperKG = 0.00064.SI(Unit.SI.Liter.Per.Kilo.Gramm).Cast<NormLiterPerKilogram>();
-		//	SmartRegenFractionTotalAirDemand = 0.12;
-		//}
 	}
 }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs
index 718a1fedb3..36e1d979a7 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs
@@ -25,11 +25,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.El
 		// G6
 		double PulleyRatio { get; set; }
 
-		// S9
-		PerSecond SpindleSpeed { get; }
-
+		
 		// S10
-		double Efficiency { get; }
+		double GetEfficiency(PerSecond crankSpeed, Ampere currentDemand);
 
 		// C10-D15
 		List<AltUserInput<Ampere>> InputTable2000 { get; set; }
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs
deleted file mode 100644
index 5fedc0cf7a..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using TUGraz.VectoCommon.Utils;
-
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics
-{
-	// Used by CombinedAlternator
-	public interface ICombinedAlternatorSignals
-	{
-		int NumberOfAlternators { get; set; }
-		PerSecond CrankRPM { get; set; }
-		Ampere CurrentDemandAmps { get; set; }
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs
deleted file mode 100644
index 3c97ddaeb5..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC
-{
-	public enum TechLineType
-	{
-		Normal,
-		HVCActiveSelection
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs
index cbe7f14e11..4efddaeaa5 100644
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs
+++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs
@@ -122,9 +122,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces {
 		/// Initialises AAUX Environment ( Begin Processs )
 		/// </summary>
 		/// <param name="auxcConfig"></param>
+		/// <param name="fuelProperties"></param>
 		/// <returns></returns>
 		/// <remarks></remarks>
-		bool RunStart(IAuxiliaryConfig auxcConfig);
+		bool RunStart(IAuxiliaryConfig auxcConfig, IFuelProperties fuelProperties);
 
 		/// <summary>
 		/// Any Termination Which Needs to be done ( Model depenent )
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs
deleted file mode 100644
index f53e202c2b..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs
+++ /dev/null
@@ -1,476 +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;
-
-namespace TUGraz.VectoCore.BusAuxiliaries.Legacy {
-	public class cDelaunayMap
-	{
-		public int ptDim;
-
-		public List<dPoint> ptList;
-		private List<dTriangle> lDT;
-		private List<double[]> planes;
-
-		public bool DualMode;
-		private List<dPoint> ptListXZ;
-		private List<double[]> planesXZ;
-		private List<dTriangle> lDTXZ;
-
-		public bool ExtrapolError;
-
-
-		public cDelaunayMap()
-		{
-			ptList = new List<dPoint>();
-			ptListXZ = new List<dPoint>();
-			DualMode = false;
-		}
-
-		public void AddPoints(double X, double Y, double Z)
-		{
-			ptList.Add(new dPoint(X, Y, Z));
-			if (DualMode)
-				ptListXZ.Add(new dPoint(X, Z, Y));
-		}
-
-		public bool Triangulate()
-		{
-			//dTriangle tr;
-			dTriangulation DT;
-
-			ptDim = ptList.Count - 1;
-
-			// XY-triangulation
-			try {
-				DT = new dTriangulation();
-				lDT = DT.Triangulate(ptList);
-			} catch (Exception ) {
-				return false;
-			}
-
-			planes = new List<double[]>();
-
-			foreach (var tr in lDT)
-				planes.Add(GetPlane(tr));
-
-
-			// #If DEBUG Then
-			// Dim i As Int16
-			// Debug.Print("#,x1,y1,z1,x2,y2,z2")
-			// i = -1
-			// For Each tr In lDT
-			// i += 1
-			// Debug.Print(i & "," & tr.P1.X & "," & tr.P1.Y & "," & tr.P1.Z & "," & tr.P2.X & "," & tr.P2.Y & "," & tr.P2.Z)
-			// Debug.Print(i & "," & tr.P3.X & "," & tr.P3.Y & "," & tr.P3.Z & "," & tr.P2.X & "," & tr.P2.Y & "," & tr.P2.Z)
-			// Debug.Print(i & "," & tr.P1.X & "," & tr.P1.Y & "," & tr.P1.Z & "," & tr.P3.X & "," & tr.P3.Y & "," & tr.P3.Z)
-			// Next
-			// #End If
-
-
-			// XZ-triangulation
-			if (DualMode) {
-				if (ptDim != ptListXZ.Count - 1)
-					return false;
-
-				try {
-					DT = new dTriangulation();
-					lDTXZ = DT.Triangulate(ptListXZ);
-				} catch (Exception ) {
-					return false;
-				}
-
-				planesXZ = new List<double[]>();
-
-				foreach (var tr in lDTXZ)
-					planesXZ.Add(GetPlane(tr));
-			}
-
-			return true;
-		}
-
-		// XY => Z Interpolation
-		public double Intpol(double x, double y)
-		{
-			int j;
-			double[] l0;
-			//dTriangle tr;
-
-			ExtrapolError = false;
-
-			// Try exact solution for IsInside()
-			j = -1;
-			foreach (var tr in lDT) {
-				j += 1;
-				if (IsInside(tr, x, y, true)) {
-					l0 = planes[j];
-					return (l0[3] - x * l0[0] - y * l0[1]) / l0[2];
-				}
-			}
-
-			// Try approx. solution (fixes rounding errors when points lies exactly on an edge of a triangle)
-			j = -1;
-			foreach (var tr in lDT) {
-				j += 1;
-				if (IsInside(tr, x, y, false)) {
-					l0 = planes[j];
-					return (l0[3] - x * l0[0] - y * l0[1]) / l0[2];
-				}
-			}
-
-
-			// ERROR: Extrapolation
-			ExtrapolError = true;
-
-			return default(Double);
-		}
-
-		// XZ => Y Interpolation
-		public double IntpolXZ(double x, double z)
-		{
-			int j;
-			double[] l0;
-			//dTriangle tr;
-
-			ExtrapolError = false;
-
-			if (DualMode) {
-				j = -1;
-
-				// Try exact solution for IsInside()
-				foreach (var tr in lDTXZ) {
-					j += 1;
-					if (IsInside( tr, x, z, true)) {
-						l0 = planesXZ[j];
-						return (l0[3] - x * l0[0] - z * l0[1]) / l0[2];
-					}
-				}
-
-				// Try approx. solution (fixes rounding errors when points lies exactly on an edge of a triangle)
-				j = -1;
-				foreach (var tr in lDTXZ) {
-					j += 1;
-					if (IsInside( tr, x, z, false)) {
-						l0 = planesXZ[j];
-						return (l0[3] - x * l0[0] - z * l0[1]) / l0[2];
-					}
-				}
-
-				// ERROR: Extrapolation
-				ExtrapolError = true;
-				return default(Double);
-			} else {
-
-				// ERROR: Extrapolation
-				ExtrapolError = true;
-				return default(Double);
-			}
-		}
-
-		private double[] GetPlane(dTriangle tr)
-		{
-			dPoint AB;
-			dPoint AC;
-			dPoint cross;
-			var l = new double[4];
-			dPoint pt1;
-			dPoint pt2;
-			dPoint pt3;
-
-			pt1 = tr.P1;
-			pt2 = tr.P2;
-			pt3 = tr.P3;
-
-			AB = new dPoint(pt2.X - pt1.X, pt2.Y - pt1.Y, pt2.Z - pt1.Z);
-			AC = new dPoint(pt3.X - pt1.X, pt3.Y - pt1.Y, pt3.Z - pt1.Z);
-
-			cross = new dPoint(AB.Y * AC.Z - AB.Z * AC.Y, AB.Z * AC.X - AB.X * AC.Z, AB.X * AC.Y - AB.Y * AC.X);
-
-			l[0] = cross.X;
-			l[1] = cross.Y;
-			l[2] = cross.Z;
-
-			l[3] = pt1.X * cross.X + pt1.Y * cross.Y + pt1.Z * cross.Z;
-
-			return l;
-		}
-
-		private bool IsInside(dTriangle tr, double xges, double yges, bool Exact)
-		{
-			var v0 = new double[2];
-			var v1 = new double[2];
-			var v2 = new double[2];
-			double dot00;
-			double dot01;
-			double dot02;
-			double dot11;
-			double dot12;
-			double invDenom;
-			double u;
-			double v;
-			dPoint pt1;
-			dPoint pt2;
-			dPoint pt3;
-
-			pt1 = tr.P1;
-			pt2 = tr.P2;
-			pt3 = tr.P3;
-
-			// Quelle: http://www.blackpawn.com/texts/pointinpoly/default.html  (Barycentric Technique)
-
-			// Compute vectors        
-			v0[0] = pt3.X - pt1.X;
-			v0[1] = pt3.Y - pt1.Y;
-
-			v1[0] = pt2.X - pt1.X;
-			v1[1] = pt2.Y - pt1.Y;
-
-			v2[0] = xges - pt1.X;
-			v2[1] = yges - pt1.Y;
-
-			// Compute dot products
-			dot00 = v0[0] * v0[0] + v0[1] * v0[1];
-			dot01 = v0[0] * v1[0] + v0[1] * v1[1];
-			dot02 = v0[0] * v2[0] + v0[1] * v2[1];
-			dot11 = v1[0] * v1[0] + v1[1] * v1[1];
-			dot12 = v1[0] * v2[0] + v1[1] * v2[1];
-
-			// Compute barycentric coordinates
-			invDenom = 1 / (dot00 * dot11 - dot01 * dot01);
-			u = (dot11 * dot02 - dot01 * dot12) * invDenom;
-			v = (dot00 * dot12 - dot01 * dot02) * invDenom;
-
-			// Debug.Print(u & ", " & v & ", " & u + v)
-
-			// Check if point is in triangle
-			if (Exact)
-				return (u >= 0) & (v >= 0) & (u + v <= 1);
-			else
-				return (u >= -0.001) & (v >= -0.001) & (u + v <= 1.001);
-		}
-
-		public struct dPoint
-		{
-			public double X;
-			public double Y;
-			public double Z;
-
-			public dPoint(double xd, double yd, double zd)
-			{
-				X = xd;
-				Y = yd;
-				Z = zd;
-			}
-
-			public static bool operator ==(dPoint left, dPoint right)
-			{
-
-				// If DirectCast(left, Object) = DirectCast(right, Object) Then
-				// Return True
-				// End If
-
-				// If (DirectCast(left, Object) Is Nothing) OrElse (DirectCast(right, Object) Is Nothing) Then
-				// Return False
-				// End If
-
-				// Just compare x and y here...
-				if (left.X != right.X)
-					return false;
-
-				if (left.Y != right.Y)
-					return false;
-
-				return true;
-			}
-
-			public static bool operator !=(dPoint left, dPoint right)
-			{
-				return !(left == right);
-			}
-		}
-
-		public class dTriangle
-		{
-			public dPoint P1;
-			public dPoint P2;
-			public dPoint P3;
-
-			public dTriangle( dPoint pp1,  dPoint pp2,  dPoint pp3)
-			{
-				P1 = pp1;
-				P2 = pp2;
-				P3 = pp3;
-			}
-
-			public double ContainsInCircumcircle(dPoint pt)
-			{
-				var ax = this.P1.X - pt.X;
-				var ay = this.P1.Y - pt.Y;
-				var bx = this.P2.X - pt.X;
-				var by = this.P2.Y - pt.Y;
-				var cx = this.P3.X - pt.X;
-				var cy = this.P3.Y - pt.Y;
-				var det_ab = ax * by - bx * ay;
-				var det_bc = bx * cy - cx * by;
-				var det_ca = cx * ay - ax * cy;
-				var a_squared = ax * ax + ay * ay;
-				var b_squared = bx * bx + by * by;
-				var c_squared = cx * cx + cy * cy;
-
-				return a_squared * det_bc + b_squared * det_ca + c_squared * det_ab;
-			}
-
-			public bool SharesVertexWith(dTriangle triangle)
-			{
-				if (this.P1.X == triangle.P1.X && this.P1.Y == triangle.P1.Y)
-					return true;
-				if (this.P1.X == triangle.P2.X && this.P1.Y == triangle.P2.Y)
-					return true;
-				if (this.P1.X == triangle.P3.X && this.P1.Y == triangle.P3.Y)
-					return true;
-
-				if (this.P2.X == triangle.P1.X && this.P2.Y == triangle.P1.Y)
-					return true;
-				if (this.P2.X == triangle.P2.X && this.P2.Y == triangle.P2.Y)
-					return true;
-				if (this.P2.X == triangle.P3.X && this.P2.Y == triangle.P3.Y)
-					return true;
-
-				if (this.P3.X == triangle.P1.X && this.P3.Y == triangle.P1.Y)
-					return true;
-				if (this.P3.X == triangle.P2.X && this.P3.Y == triangle.P2.Y)
-					return true;
-				if (this.P3.X == triangle.P3.X && this.P3.Y == triangle.P3.Y)
-					return true;
-
-				return false;
-			}
-		}
-
-		public class dEdge
-		{
-			public dPoint StartPoint;
-			public dPoint EndPoint;
-
-			public dEdge(dPoint p1, dPoint p2)
-			{
-				StartPoint = p1;
-				EndPoint = p2;
-			}
-
-			public static bool operator ==(dEdge left, dEdge right)
-			{
-				// If DirectCast(left, Object) = DirectCast(right, Object) Then
-				// Return True
-				// End If
-
-				// If (DirectCast(left, Object) Is Nothing) Or (DirectCast(right, Object) Is Nothing) Then
-				// Return False
-				// End If
-
-				return ((left.StartPoint == right.StartPoint && left.EndPoint == right.EndPoint) || (left.StartPoint == right.EndPoint && left.EndPoint == right.StartPoint));
-			}
-
-			public static bool operator !=(dEdge left, dEdge right)
-			{
-				return !(left == right);
-			}
-		}
-
-		public class dTriangulation
-		{
-			public List<dTriangle> Triangulate(List<dPoint> triangulationPoints)
-			{
-				if (triangulationPoints.Count < 3)
-					throw new ArgumentException("Can not triangulate less than three vertices!");
-
-				// The triangle list
-				var triangles = new List<dTriangle>();
-
-
-				// The "supertriangle" which encompasses all triangulation points.
-				// This triangle initializes the algorithm and will be removed later.
-				var superTriangle = this.SuperTriangle(triangulationPoints);
-				triangles.Add(superTriangle);
-
-				// Include each point one at a time into the existing triangulation
-				for (var i = 0; i <= triangulationPoints.Count - 1; i++) {
-					// Initialize the edge buffer.
-					var EdgeBuffer = new List<dEdge>();
-
-					// If the actual vertex lies inside the circumcircle, then the three edges of the 
-					// triangle are added to the edge buffer and the triangle is removed from list.                             
-					for (var j = triangles.Count - 1; j >= 0; j += -1) {
-						var t = triangles[j];
-						if (t.ContainsInCircumcircle(triangulationPoints[i]) > 0) {
-							EdgeBuffer.Add(new dEdge(t.P1,  t.P2));
-							EdgeBuffer.Add(new dEdge(t.P2,  t.P3));
-							EdgeBuffer.Add(new dEdge(t.P3,  t.P1));
-							triangles.RemoveAt(j);
-						}
-					}
-
-					// Remove duplicate edges. This leaves the convex hull of the edges.
-					// The edges in this convex hull are oriented counterclockwise!
-					for (var j = EdgeBuffer.Count - 2; j >= 0; j += -1) {
-						for (var k = EdgeBuffer.Count - 1; k >= j + 1; k += -1) {
-							if (EdgeBuffer[j] == EdgeBuffer[k]) {
-								EdgeBuffer.RemoveAt(k);
-								EdgeBuffer.RemoveAt(j);
-								k -= 1;
-								continue;
-							}
-						}
-					}
-
-					// Generate new counterclockwise oriented triangles filling the "hole" in
-					// the existing triangulation. These triangles all share the actual vertex.
-					for (var j = 0; j <= EdgeBuffer.Count - 1; j++)
-						triangles.Add(new dTriangle(EdgeBuffer[j].StartPoint, EdgeBuffer[j].EndPoint, triangulationPoints[i]));
-				}
-
-				// We don't want the supertriangle in the triangulation, so
-				// remove all triangles sharing a vertex with the supertriangle.
-				for (var i = triangles.Count - 1; i >= 0; i += -1) {
-					if (triangles[i].SharesVertexWith(superTriangle))
-						triangles.RemoveAt(i);
-				}
-
-				// Return the triangles
-				return triangles;
-			}
-
-
-			private dTriangle SuperTriangle(List<dPoint> triangulationPoints)
-			{
-				var M = triangulationPoints[0].X;
-
-				// get the extremal x and y coordinates
-				for (var i = 1; i <= triangulationPoints.Count - 1; i++) {
-					var xAbs = Math.Abs(triangulationPoints[i].X);
-					var yAbs = Math.Abs(triangulationPoints[i].Y);
-					if (xAbs > M)
-						M = xAbs;
-					if (yAbs > M)
-						M = yAbs;
-				}
-
-				// make a triangle
-				var sp1 = new dPoint(10 * M, 0, 0);
-				var sp2 = new dPoint(0, 10 * M, 0);
-				var sp3 = new dPoint(-10 * M, -10 * M, 0);
-
-				return new dTriangle( sp1,  sp2,  sp3);
-			}
-		}
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs
deleted file mode 100644
index ae1cd8155c..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs
+++ /dev/null
@@ -1,175 +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.IO;
-using Microsoft.VisualBasic.FileIO;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Util;
-
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.Legacy {
-	public class cFile_V3
-	{
-		private TextFieldParser TxtFldParser;
-		private StreamWriter StrWrter;
-		private FileMode Mode;
-		private string Path;
-		private string Sepp;
-		private bool SkipCom;
-		private bool StopE;
-		private bool FileOpen;
-		private string[] PreLine;
-		private bool FileEnd;
-
-		// File format
-		private System.Text.Encoding FileFormat = System.Text.Encoding.UTF8;
-
-		public cFile_V3()
-		{
-			Reset();
-		}
-
-		private void Reset()
-		{
-			FileOpen = false;
-			Mode = FileMode.Undefined;
-			PreLine = null;
-			FileEnd = false;
-		}
-
-		public bool OpenRead(string FileName, string Separator = ",", bool SkipComment = true, bool StopAtE = false)
-		{
-			Reset();
-			StopE = StopAtE;
-			Path = FileName;
-			Sepp = Separator;
-			SkipCom = SkipComment;
-			if (!(Mode == FileMode.Undefined))
-				return false;
-			if (!File.Exists(Path))
-				return false;
-			Mode = FileMode.Read;
-			try {
-				TxtFldParser = new TextFieldParser(Path, System.Text.Encoding.Default);
-				FileOpen = true;
-			} catch (Exception ) {
-				return false;
-			}
-			TxtFldParser.TextFieldType = FieldType.Delimited;
-			TxtFldParser.Delimiters = new string[] { Sepp };
-
-			// If TxtFldParser.EndOfData Then Return False
-
-			ReadLine();
-			return true;
-		}
-
-		public string[] ReadLine()
-		{
-			var line = PreLine;
-
-			lb10:
-			;
-			if (TxtFldParser.EndOfData) {
-				FileEnd = true;
-			} else {
-				PreLine = TxtFldParser.ReadFields();
-				var line0 = PreLine[0].Trim().ToUpper();
-
-				if (SkipCom) {
-					if (FilePathUtils.Left(line0, 1) == "#")
-						goto lb10;
-				}
-
-				if (StopE)
-					FileEnd = (line0 == "E");
-			}
-
-			return line;
-		}
-
-		public void Close()
-		{
-			switch (Mode) {
-				case FileMode.Read: {
-					if (FileOpen)
-						TxtFldParser.Close();
-					TxtFldParser = null;
-					break;
-				}
-
-				case FileMode.Write: {
-					if (FileOpen)
-						StrWrter.Close();
-					StrWrter = null;
-					break;
-				}
-			}
-			Reset();
-		}
-
-		public bool EndOfFile
-		{
-			get {
-				return FileEnd;
-			}
-		}
-
-		public bool OpenWrite(string FileName, string Separator = ",", bool AutoFlush = false, bool Append = false)
-		{
-			Reset();
-			Path = FileName;
-			Sepp = Separator;
-			if (Mode != FileMode.Undefined)
-				return false;
-			Mode = FileMode.Write;
-			try {
-				if (!Append) {
-					File.Delete(Path);
-				}
-				StrWrter = new StreamWriter(File.OpenWrite(Path), FileFormat);
-				FileOpen = true;
-			} catch (Exception ) {
-				return false;
-			}
-			StrWrter.AutoFlush = AutoFlush;
-			return true;
-		}
-
-		public void WriteLine(params object[] x)
-		{
-			//string St;
-			var StB = new System.Text.StringBuilder();
-			bool Skip;
-			Skip = true;
-			foreach (var St in x) {
-				if (Skip) {
-					StB.Append(St);
-					Skip = false;
-				} else
-					StB.Append(Sepp + St);
-			}
-			StrWrter.WriteLine(StB.ToString());
-			StB = null;
-		}
-
-		public void WriteLine(string x)
-		{
-			StrWrter.WriteLine(x);
-		}
-
-		private enum FileMode
-		{
-			Undefined,
-			Read,
-			Write
-		}
-	}
-}
diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs
deleted file mode 100644
index cf87638f75..0000000000
--- a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs
+++ /dev/null
@@ -1,194 +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.Globalization;
-using TUGraz.VectoCommon.BusAuxiliaries;
-using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Utils;
-
-namespace TUGraz.VectoCore.Models.BusAuxiliaries.Legacy {
-	public class cMAP : IFuelConsumptionMap
-	{
-		private List<float> LnU;
-		private List<float> LTq;
-		private List<float> lFC;
-
-		private string sFilePath;
-		private int iMapDim;
-
-		private DelaunayMap FuelMap;
-
-		private void ResetMe()
-		{
-			lFC = null;
-			LTq = null;
-			LnU = null;
-			iMapDim = -1;
-			FuelMap = new DelaunayMap("SomeMap");
-		}
-
-		public bool ReadFile(bool ShowMsg = true)
-		{
-			cFile_V3 file;
-			string[] line;
-			float nU;
-			//string MsgSrc;
-
-
-			//MsgSrc = "Main/ReadInp/MAP";
-
-			// Reset
-			ResetMe();
-
-			// Stop if there's no file
-			if (sFilePath == "" || !System.IO.File.Exists(sFilePath))
-				return false;
-
-			// Open file
-			file = new cFile_V3();
-			if (!file.OpenRead(sFilePath)) {
-				file = null/* TODO Change to default(_) if this is not a reference type */;
-				return false;
-			}
-
-			// Skip Header
-			file.ReadLine();
-
-			// Initi Lists (before version check so ReadOldFormat works)
-			lFC = new List<float>();
-			LTq = new List<float>();
-			LnU = new List<float>();
-
-			try {
-				while (!file.EndOfFile) {
-
-					// Line read
-					line = file.ReadLine();
-
-					// Line counter up (was reset in ResetMe)
-					iMapDim += 1;
-
-					// Revolutions
-					nU = float.Parse(line[0], CultureInfo.InvariantCulture);
-
-					LnU.Add(nU);
-
-					// Power
-					LTq.Add(float.Parse(line[1], CultureInfo.InvariantCulture));
-
-					// FC
-					// Check sign
-					if (System.Convert.ToSingle(line[2]) < 0) {
-						file.Close();
-
-						return false;
-					}
-
-					lFC.Add(System.Convert.ToSingle(line[2]));
-				}
-			} catch (Exception ) {
-				goto lbEr;
-			}
-
-			// Close file
-			file.Close();
-
-			file = null/* TODO Change to default(_) if this is not a reference type */;
-
-			return true;
-
-
-			// ERROR-label for clean Abort
-			lbEr:
-			;
-			file.Close();
-			file = null/* TODO Change to default(_) if this is not a reference type */;
-
-			return false;
-		}
-
-		public bool Triangulate()
-		{
-			int i;
-
-			//string MsgSrc;
-
-			//MsgSrc = "MAP/Norm";
-
-			// FC Delauney
-			for (i = 0; i <= iMapDim; i++)
-				FuelMap.AddPoint(LnU[i], LTq[i], lFC[i]);
-
-			FuelMap.Triangulate();
-			return true;
-		}
-
-
-		public double fFCdelaunay_Intp(float nU, float Tq)
-		{
-			
-			var val = FuelMap.Interpolate(nU, Tq);
-
-			if (val == null) {
-				return -10000;
-			}
-
-			return val.Value;
-		}
-
-
-		public string FilePath
-		{
-			get {
-				return sFilePath;
-			}
-			set {
-				sFilePath = value;
-			}
-		}
-
-		public int MapDim
-		{
-			get {
-				return iMapDim;
-			}
-		}
-
-		public List<float> Tq
-		{
-			get {
-				return LTq;
-			}
-		}
-
-		public List<float> FC
-		{
-			get {
-				return lFC;
-			}
-		}
-
-		public List<float> nU
-		{
-			get {
-				return LnU;
-			}
-		}
-
-
-		public KilogramPerSecond GetFuelConsumption(NewtonMeter torque, PerSecond angularVelocity)
-		{
-			return (fFCdelaunay_Intp(System.Convert.ToSingle(angularVelocity.AsRPM), System.Convert.ToSingle(torque.Value())) / 3600.0 / 1000.0).SI<KilogramPerSecond>();
-		}
-	}
-}
diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
index 3f4326e3ea..ad5d2c4875 100644
--- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
+++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
@@ -39,16 +39,12 @@ using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
-using TUGraz.VectoCore.InputData.FileIO.JSON;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
-using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics;
-using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
 using TUGraz.VectoCore.Utils;
-using IPneumaticUserInputsConfig = TUGraz.VectoCommon.BusAuxiliaries.IPneumaticUserInputsConfig;
 
 namespace TUGraz.VectoCore.Models.Declaration
 {
@@ -133,9 +129,9 @@ namespace TUGraz.VectoCore.Models.Declaration
 			//private static AuxiliaryConfig busAuxConfig = null;
 			private static IElectricalConsumerList elUserConfig;
 
-			private static IPneumaticActuationsMap actuationsMap;
+			private static IActuationsMap actuationsMap;
 			//private static PneumaticsAuxilliariesConfig pneumaticAuxConfig;
-			private static ITechlistBenefitLines ssmTechnologies;
+			private static ISSMTechnologies ssmTechnologies;
 
 
 			//public static ISSMInputs SSMDefaultValues
@@ -147,10 +143,10 @@ namespace TUGraz.VectoCore.Models.Declaration
 			//	}
 			//}
 
-			public static ITechlistBenefitLines SSMTechnologyList
+			public static ISSMTechnologies SSMTechnologyList
 			{
 				get {
-					return ssmTechnologies ?? (ssmTechnologies = HVACTechBenefitsReader.ReadFromStream(
+					return ssmTechnologies ?? (ssmTechnologies = SSMTechnologiesReader.ReadFromStream(
 								RessourceHelper.ReadStream(DeclarationDataResourcePrefix + ".Buses.SSMTechList.csv")));
 				}
 			}
@@ -172,10 +168,10 @@ namespace TUGraz.VectoCore.Models.Declaration
 			}
 
 
-			public static IPneumaticActuationsMap ActuationsMap
+			public static IActuationsMap ActuationsMap
 			{
 				get {
-					return actuationsMap ?? (actuationsMap = PneumaticActuationsMapReader.ReadStream(
+					return actuationsMap ?? (actuationsMap = ActuationsMapReader.ReadStream(
 									RessourceHelper.ReadStream(DeclarationDataResourcePrefix + ".Buses.DefaultActuationsMap.APAC")));
 				}
 			}
diff --git a/VectoCore/VectoCore/Models/Declaration/FuelData.cs b/VectoCore/VectoCore/Models/Declaration/FuelData.cs
index 53bb0eda14..245b4e9bf6 100644
--- a/VectoCore/VectoCore/Models/Declaration/FuelData.cs
+++ b/VectoCore/VectoCore/Models/Declaration/FuelData.cs
@@ -29,11 +29,10 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using System;
-using System.Collections;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
@@ -53,7 +52,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 			return _instance ?? (_instance = new FuelData());
 		}
 
-		private FuelData() {}
+		private FuelData() { }
 
 		protected override string ResourceId
 		{
@@ -102,13 +101,49 @@ namespace TUGraz.VectoCore.Models.Declaration
 						row.ParseDouble("ncv_stdengine").SI(Unit.SI.Kilo.Joule.Per.Kilo.Gramm).Cast<JoulePerKilogramm>()
 					));
 			}
-
-			
 		}
 
-		public struct Entry
+		public class Entry : IFuelProperties
 		{
-			public Entry(FuelType type, TankSystem? tankSystem, KilogramPerCubicMeter density, double weight, JoulePerKilogramm heatingValueVecto, JoulePerKilogramm heatingValueAnnex)
+			#region Equality members
+
+			protected bool Equals(Entry other)
+			{
+				return FuelType == other.FuelType && TankSystem == other.TankSystem && Equals(FuelDensity, other.FuelDensity) &&
+						CO2PerFuelWeight.Equals(other.CO2PerFuelWeight) && Equals(LowerHeatingValueVecto, other.LowerHeatingValueVecto) &&
+						Equals(LowerHeatingValueVectoEngine, other.LowerHeatingValueVectoEngine);
+			}
+
+			public override bool Equals(object obj)
+			{
+				if (ReferenceEquals(null, obj))
+					return false;
+				if (ReferenceEquals(this, obj))
+					return true;
+				if (obj.GetType() != this.GetType())
+					return false;
+
+				return Equals((Entry)obj);
+			}
+
+			public override int GetHashCode()
+			{
+				unchecked {
+					var hashCode = (int)FuelType;
+					hashCode = (hashCode * 397) ^ TankSystem.GetHashCode();
+					hashCode = (hashCode * 397) ^ (FuelDensity != null ? FuelDensity.GetHashCode() : 0);
+					hashCode = (hashCode * 397) ^ CO2PerFuelWeight.GetHashCode();
+					hashCode = (hashCode * 397) ^ (LowerHeatingValueVecto != null ? LowerHeatingValueVecto.GetHashCode() : 0);
+					hashCode = (hashCode * 397) ^ (LowerHeatingValueVectoEngine != null ? LowerHeatingValueVectoEngine.GetHashCode() : 0);
+					return hashCode;
+				}
+			}
+
+			#endregion
+
+			public Entry(
+				FuelType type, TankSystem? tankSystem, KilogramPerCubicMeter density, double weight,
+				JoulePerKilogramm heatingValueVecto, JoulePerKilogramm heatingValueAnnex)
 			{
 				FuelType = type;
 				TankSystem = tankSystem;
@@ -131,13 +166,18 @@ namespace TUGraz.VectoCore.Models.Declaration
 
 			public JoulePerKilogramm LowerHeatingValueVectoEngine { get; }
 
-			public double HeatingValueCorrection { get { return LowerHeatingValueVectoEngine / LowerHeatingValueVecto; } }
+			public double HeatingValueCorrection
+			{
+				get { return LowerHeatingValueVectoEngine / LowerHeatingValueVecto; }
+			}
 
 			public string GetLabel()
 			{
 				return (TankSystem != null ? (TankSystem == VectoCommon.InputData.TankSystem.Liquefied ? "L" : "C") : "") +
-					FuelType.GetLabel();
+						FuelType.GetLabel();
 			}
+
+			
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs b/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs
index 0daa7e97b3..4d81f98301 100644
--- a/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs
+++ b/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs
@@ -29,7 +29,6 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
diff --git a/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs b/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs
index 359cb23383..85d5a23dcb 100644
--- a/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs
+++ b/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs
@@ -33,7 +33,6 @@ using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
-using System.Net.NetworkInformation;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Utils;
 
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/ExemptedRun.cs b/VectoCore/VectoCore/Models/Simulation/Impl/ExemptedRun.cs
index d691b6b5ed..211f8ad29a 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/ExemptedRun.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/ExemptedRun.cs
@@ -33,7 +33,6 @@ using System;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCore.Models.Connector.Ports.Impl;
-using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.OutputData;
 
 namespace TUGraz.VectoCore.Models.Simulation.Impl {
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
index d917f4451a..df525b09a0 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
@@ -30,11 +30,9 @@
 */
 
 using System;
-using System.Collections.Generic;
 using System.Linq;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Models;
-using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/AuxiliaryData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/AuxiliaryData.cs
index dc3d9885ba..3cc5f1f74b 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/AuxiliaryData.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/AuxiliaryData.cs
@@ -31,7 +31,6 @@
 
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
-using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.Utils;
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs
index 8097184063..df841a08ea 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs
@@ -31,6 +31,7 @@
 
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
@@ -130,6 +131,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
 		[Required, ValidateObject]
 		public FuelConsumptionMap ConsumptionMap { get; internal set; }
 
-		public FuelData.Entry FuelData { get; internal set; }
+		public IFuelProperties FuelData { get; internal set; }
 	}
 }
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs
index a4245dec53..1c4b2c8948 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs
@@ -35,7 +35,6 @@ using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.Models.Simulation.DataBus;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Data
 {
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs
index 0486ea6b4c..f7cb83dcf2 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs
@@ -31,7 +31,6 @@
 
 using System;
 using System.ComponentModel.DataAnnotations;
-using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.Declaration;
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs
index be913101ac..bf6c283c89 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs
@@ -32,6 +32,7 @@
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
 using System.Diagnostics;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
@@ -39,7 +40,7 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine
 {
-	public class FuelConsumptionMap : SimulationComponentData
+	public class FuelConsumptionMap : SimulationComponentData, IFuelConsumptionMap
 	{
 		[Required, ValidateObject] private readonly DelaunayMap _fuelMap;
 
@@ -107,5 +108,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine
 			public KilogramPerSecond Value;
 			public bool Extrapolated;
 		}
+
+		#region Implementation of IFuelConsumptionMap
+
+		public KilogramPerSecond GetFuelConsumption(NewtonMeter torque, PerSecond angularVelocity)
+		{
+			return GetFuelConsumption(torque, angularVelocity, true).Value;
+		}
+
+		#endregion
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/WHRPowerMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/WHRPowerMap.cs
index 5838b89c18..ea93b31f47 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/WHRPowerMap.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/WHRPowerMap.cs
@@ -2,7 +2,6 @@
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
-using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.Reader.ComponentData
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs
index 21eca1fb7e..c522c2aecd 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs
@@ -35,7 +35,6 @@ using System.ComponentModel.DataAnnotations;
 using System.Linq;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.Declaration;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox
 {
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs
index 85c17be326..4c38491e42 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs
@@ -30,14 +30,12 @@
 */
 
 using System;
-using System.IO;
 using System.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.BusAuxiliaries;
 using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces;
-using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.DataBus;
@@ -57,7 +55,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
         protected IAdvancedAuxiliaries Auxiliaries;
         private readonly FuelConsumptionAdapter _fcMapAdapter;
 
-        public BusAuxiliariesAdapter(IDataBus container, IAuxiliaryConfig auxiliaryConfig, string cycleName, Kilogram vehicleWeight,
+        public BusAuxiliariesAdapter(IVehicleContainer container, IAuxiliaryConfig auxiliaryConfig, string cycleName, Kilogram vehicleWeight,
             FuelConsumptionMap fcMap, PerSecond engineIdleSpeed, IAuxPort additionalAux = null)
         {
             //	mAAUX_Global.advancedAuxModel.Signals.DeclarationMode = Cfg.DeclMode
@@ -90,7 +88,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 			// call initialize  _after_ setting the cycle time to get the correct consumtions
 
-			tmpAux.Initialise(auxiliaryConfig);
+			tmpAux.Initialise(auxiliaryConfig, container.RunData.EngineData.Fuels.First().FuelData);
 
 
             Auxiliaries = tmpAux;
@@ -279,13 +277,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
         {
             protected internal FuelConsumptionMap FcMap;
 
-            public bool AllowExtrapolation { get; set; }
+			public bool AllowExtrapolation { get; set; }
 
             public KilogramPerSecond GetFuelConsumption(NewtonMeter torque, PerSecond angularVelocity)
             {
                 return FcMap.GetFuelConsumption(torque, angularVelocity, AllowExtrapolation).Value;
             }
-        }
+
+		}
 
         public class BusAuxState
         {
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs
index 18b479edad..8dad8c9a54 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs
@@ -31,6 +31,7 @@
 
 using System;
 using System.Linq;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
@@ -395,10 +396,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				var result = fuel.ConsumptionMap.GetFuelConsumption(
 					CurrentState.EngineTorque, avgEngineSpeed,
 					DataBus.ExecutionMode != ExecutionMode.Declaration);
+				var fuelData = fuel.FuelData;
 				if (DataBus.ExecutionMode != ExecutionMode.Declaration && result.Extrapolated) {
 					Log.Warn(
 						"FuelConsumptionMap for fuel {2} was extrapolated: range for FC-Map is not sufficient: n: {0}, torque: {1}",
-						avgEngineSpeed.Value(), CurrentState.EngineTorque.Value(), fuel.FuelData.FuelType.GetLabel());
+						avgEngineSpeed.Value(), CurrentState.EngineTorque.Value(), fuelData.FuelType.GetLabel());
 				}
 				var pt1 = ModelData.FullLoadCurves[DataBus.Gear].PT1(avgEngineSpeed);
 				if (DataBus.ExecutionMode == ExecutionMode.Declaration && pt1.Extrapolated) {
@@ -408,9 +410,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				}
 
 				var fc = result.Value;
-				var fcNCVcorr = fc * fuel.FuelData.HeatingValueCorrection; // TODO: wird fcNCVcorr
+				var fcNCVcorr = fc * fuelData.HeatingValueCorrection; // TODO: wird fcNCVcorr
 
-				var fcWHTC = fcNCVcorr * WHTCCorrectionFactor(fuel.FuelData);
+				var fcWHTC = fcNCVcorr * WHTCCorrectionFactor(fuelData);
 				var fcAAUX = fcWHTC;
 				var advancedAux = EngineAux as BusAuxiliariesAdapter;
 				if (advancedAux != null) {
@@ -419,7 +421,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				}
 				var fcFinal = fcAAUX;
 
-				container[ModalResultField.FCMap, fuel.FuelData] = fc;
+				container[ModalResultField.FCMap, fuelData] = fc;
 				container[ModalResultField.FCNCVc, fuel.FuelData] = fcNCVcorr;
 				container[ModalResultField.FCWHTCc, fuel.FuelData] = fcWHTC;
 				container[ModalResultField.FCAAUX, fuel.FuelData] = fcAAUX;
@@ -428,7 +430,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			}
 		}
 
-		protected virtual double WHTCCorrectionFactor(FuelData.Entry fuel)
+		protected virtual double WHTCCorrectionFactor(IFuelProperties fuel)
 		{
 			return ModelData.Fuels.First(x=> x.FuelData.FuelType == fuel.FuelType).FuelConsumptionCorrectionFactor; 
 		}
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs
index d947381014..55dc44c6a8 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs
@@ -39,7 +39,6 @@ using TUGraz.VectoCore.Models.Connector.Ports.Impl;
 using TUGraz.VectoCore.Models.Simulation;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.DataBus;
-using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.OutputData;
 using TUGraz.VectoCore.Utils;
 using DriverData = TUGraz.VectoCore.Models.SimulationComponent.Data.DriverData;
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs
index dc95aa1e65..85464ff570 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs
@@ -38,7 +38,6 @@ using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.Connector.Ports;
 using TUGraz.VectoCore.Models.Connector.Ports.Impl;
-using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.DataBus;
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PTOCycleController.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PTOCycleController.cs
index 732d44a91f..f8edcc3a7a 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PTOCycleController.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PTOCycleController.cs
@@ -29,7 +29,6 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using System;
 using System.Linq;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Models;
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs
index a4ffebcf46..4e05382798 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs
@@ -142,7 +142,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl {
 				
 				var result = fuel.ConsumptionMap.GetFuelConsumption(auxDemand, ModelData.IdleSpeed);
 
-				var fcESS = result.Value * (1 - EngineStopStartUtilityFactor);
+				var fcESS = result.Value() * (1 - EngineStopStartUtilityFactor);
 				var fcFinal = fcESS;
 
 				container[ModalResultField.FCMap, fuel.FuelData] = fc;
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs
index b5916b05dd..281e3b0f01 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs
@@ -43,7 +43,6 @@ using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.DataBus;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
 using TUGraz.VectoCore.OutputData;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 {
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCombustionEngine.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCombustionEngine.cs
index 5c5267c138..2644fa0286 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCombustionEngine.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCombustionEngine.cs
@@ -31,15 +31,14 @@
 
 using System;
 using System.Linq;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.Models.Connector.Ports.Impl;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation;
-using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
-using TUGraz.VectoCore.OutputData;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
@@ -199,7 +198,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 
 		// TODO: MQ 2019-07-30
-		protected override double WHTCCorrectionFactor (FuelData.Entry fuel)
+		protected override double WHTCCorrectionFactor (IFuelProperties fuel)
 		{
 			var selected = ModelData.Fuels.First(x => x.FuelData.FuelType == fuel.FuelType);
 			
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCycle.cs
index dc72734e8a..dbb7d93c69 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCycle.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCycle.cs
@@ -30,7 +30,6 @@
 */
 
 using System;
-using System.Collections.Generic;
 using System.Linq;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
@@ -41,7 +40,6 @@ using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.OutputData;
-using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 {
diff --git a/VectoCore/VectoCore/Ninject/VectoNinjectModule.cs b/VectoCore/VectoCore/Ninject/VectoNinjectModule.cs
index 8c463e10e8..1b872593f3 100644
--- a/VectoCore/VectoCore/Ninject/VectoNinjectModule.cs
+++ b/VectoCore/VectoCore/Ninject/VectoNinjectModule.cs
@@ -1,7 +1,5 @@
 using Ninject.Modules;
 using TUGraz.VectoCore.InputData.FileIO.XML;
-using TUGraz.VectoCore.InputData.FileIO.XML.Declaration;
-using TUGraz.VectoCore.InputData.FileIO.XML.Engineering;
 using TUGraz.VectoCore.Models.Simulation;
 using TUGraz.VectoCore.OutputData.XML;
 
diff --git a/VectoCore/VectoCore/OutputData/DeclarationReport.cs b/VectoCore/VectoCore/OutputData/DeclarationReport.cs
index 27e4db1c27..5cbb31ca6a 100644
--- a/VectoCore/VectoCore/OutputData/DeclarationReport.cs
+++ b/VectoCore/VectoCore/OutputData/DeclarationReport.cs
@@ -32,6 +32,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Runtime.CompilerServices;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.Declaration;
@@ -66,7 +67,7 @@ namespace TUGraz.VectoCore.OutputData
 
 	public interface IResultEntry
 	{
-		IList<FuelData.Entry> FuelData { get; set; }
+		IList<IFuelProperties> FuelData { get; set; }
 		Kilogram Payload { get; set; }
 		Kilogram TotalVehicleWeight { get; set; }
 		CubicMeter CargoVolume { get; set; }
diff --git a/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs
index 77267d441a..ce3bc606c8 100644
--- a/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs
+++ b/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs
@@ -222,7 +222,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO
 			retVal["EC_Solar"] = ssmInputs.EnvironmentalConditions.DefaultConditions.Solar.Value();
 			//retVal["EC_EnviromentalConditions_BatchFile"] = ssmInputs.EnvironmentalConditions.EnviromentalConditions_BatchFile;
 			//retVal["EC_EnviromentalConditions_BatchEnabled"] = ssmInputs.EnvironmentalConditions.EnviromentalConditions_BatchEnabled;
-			retVal["AC_CompressorType"] = ssmInputs.ACSystem.CompressorType;
+			retVal["AC_CompressorType"] = ssmInputs.ACSystem.CompressorType.ToString();
 			retVal["AC_CompressorCapacitykW"] = ssmInputs.ACSystem.CompressorCapacity.ConvertToKiloWatt().Value;
 			retVal["VEN_VentilationOnDuringHeating"] = ssmInputs.Ventilation.VentilationOnDuringHeating;
 			retVal["VEN_VentilationWhenBothHeatingAndACInactive"] = ssmInputs.Ventilation.VentilationWhenBothHeatingAndACInactive;
diff --git a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs
index 47770f6f77..e1c21ed998 100644
--- a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs
+++ b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs
@@ -1,15 +1,7 @@
 using System;
 using System.Collections.Generic;
-using System.Diagnostics;
-using System.Globalization;
 using System.IO;
 using System.Linq;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Security;
-using System.Text;
-using System.Threading.Tasks;
-using Microsoft.VisualBasic;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using TUGraz.VectoCommon.InputData;
diff --git a/VectoCore/VectoCore/OutputData/FileIO/ShiftPolygonExport.cs b/VectoCore/VectoCore/OutputData/FileIO/ShiftPolygonExport.cs
index 876f367420..ad577d95d4 100644
--- a/VectoCore/VectoCore/OutputData/FileIO/ShiftPolygonExport.cs
+++ b/VectoCore/VectoCore/OutputData/FileIO/ShiftPolygonExport.cs
@@ -32,7 +32,6 @@
 using System;
 using System.Collections.Generic;
 using System.IO;
-using System.Linq;
 using System.Text;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
diff --git a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs
index e72c326cef..65f10fc793 100644
--- a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs
@@ -33,7 +33,7 @@ using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
-using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
@@ -57,7 +57,7 @@ namespace TUGraz.VectoCore.OutputData
 		/// <returns></returns>
 		object this[ModalResultField key] { get; set; }
 
-		object this[ModalResultField key, FuelData.Entry fuel] { get; set; }
+		object this[ModalResultField key, IFuelProperties fuel] { get; set; }
 
 		/// <summary>
 		/// Indexer for auxiliary fields of the DataWriter.
@@ -73,7 +73,7 @@ namespace TUGraz.VectoCore.OutputData
 		/// </summary>
 		void CommitSimulationStep();
 
-		IList<FuelData.Entry> FuelData { get; }
+		IList<IFuelProperties> FuelData { get; }
 
 		VectoRun.Status RunStatus { get; }
 
@@ -108,7 +108,7 @@ namespace TUGraz.VectoCore.OutputData
 		/// </summary>
 		void FinishSimulation();
 
-		string GetColumnName(FuelData.Entry fuelData, ModalResultField mrf);
+		string GetColumnName(IFuelProperties fuelData, ModalResultField mrf);
 	}
 
 	public static class ModalDataContainerExtensions
@@ -348,12 +348,12 @@ namespace TUGraz.VectoCore.OutputData
 		}
 
 		
-		public static KilogramPerSecond FuelConsumptionPerSecond(this IModalDataContainer data, ModalResultField mrf, FuelData.Entry fuelData)
+		public static KilogramPerSecond FuelConsumptionPerSecond(this IModalDataContainer data, ModalResultField mrf, IFuelProperties fuelData)
 		{
 			return data.TimeIntegral<Kilogram>(data.GetColumnName(fuelData, mrf)) / data.Duration();
 		}
 
-		public static KilogramPerMeter FuelConsumptionPerMeter(this IModalDataContainer data, ModalResultField mrf, FuelData.Entry fuelData)
+		public static KilogramPerMeter FuelConsumptionPerMeter(this IModalDataContainer data, ModalResultField mrf, IFuelProperties fuelData)
 		{
 			var distance = data.Distance();
 			if (distance == null || distance.IsEqual(0)) {
@@ -363,7 +363,7 @@ namespace TUGraz.VectoCore.OutputData
 			return data.TimeIntegral<Kilogram>(data.GetColumnName(fuelData, mrf)) / distance;
 		}
 
-		public static Kilogram TotalFuelConsumption(this IModalDataContainer data, ModalResultField mrf, FuelData.Entry fuelData)
+		public static Kilogram TotalFuelConsumption(this IModalDataContainer data, ModalResultField mrf, IFuelProperties fuelData)
 		{
 			return data.TimeIntegral<Kilogram>(data.GetColumnName(fuelData, mrf));
 		}
diff --git a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
index 33be4caf2a..8842956604 100644
--- a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
@@ -35,6 +35,7 @@ using System.Data;
 using System.Globalization;
 using System.Linq;
 using System.Runtime.CompilerServices;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
@@ -56,7 +57,7 @@ namespace TUGraz.VectoCore.OutputData
 		private readonly List<string> _additionalColumns = new List<string>();
 		private Exception SimException;
 
-		protected internal readonly Dictionary<FuelData.Entry, Dictionary<ModalResultField, DataColumn>> FuelColumns = new Dictionary<FuelData.Entry, Dictionary<ModalResultField, DataColumn>>();
+		protected internal readonly Dictionary<IFuelProperties, Dictionary<ModalResultField, DataColumn>> FuelColumns = new Dictionary<IFuelProperties, Dictionary<ModalResultField, DataColumn>>();
 
 		public static readonly IList<ModalResultField> FuelConsumptionSignals = new[] {
 			ModalResultField.FCMap, ModalResultField.FCNCVc, ModalResultField.FCWHTCc, ModalResultField.FCAAUX,
@@ -88,17 +89,17 @@ namespace TUGraz.VectoCore.OutputData
 
 		public bool WriteAdvancedAux { get; set; }
 
-		public ModalDataContainer(string runName, IList<FuelData.Entry> fuel, IModalDataWriter writer, bool writeEngineOnly = false, params IModalDataFilter[] filters)
+		public ModalDataContainer(string runName, IList<IFuelProperties> fuel, IModalDataWriter writer, bool writeEngineOnly = false, params IModalDataFilter[] filters)
 			: this(0, runName, "", fuel, false, "", writer, _ => { }, writeEngineOnly, filters) {}
 
-		public ModalDataContainer(VectoRunData runData, IModalDataWriter writer, IList<FuelData.Entry> fuels, Action<ModalDataContainer> addReportResult,
+		public ModalDataContainer(VectoRunData runData, IModalDataWriter writer, IList<IFuelProperties> fuels, Action<ModalDataContainer> addReportResult,
 			bool writeEngineOnly, params IModalDataFilter[] filter)
 			: this(
 				runData.JobRunId, runData.JobName, runData.Cycle.Name, fuels, runData.EngineData.MultipleEngineFuelModes, runData.ModFileSuffix, writer,
 				addReportResult,
 				writeEngineOnly, filter) {}
 
-		protected ModalDataContainer(int jobRunId, string runName, string cycleName, IList<FuelData.Entry> fuels, bool multipleEngineModes, string runSuffix,
+		protected ModalDataContainer(int jobRunId, string runName, string cycleName, IList<IFuelProperties> fuels, bool multipleEngineModes, string runSuffix,
 			IModalDataWriter writer,
 			Action<ModalDataContainer> addReportResult, bool writeEngineOnly, params IModalDataFilter[] filters)
 		{
@@ -150,7 +151,7 @@ namespace TUGraz.VectoCore.OutputData
 			CurrentRow = Data.NewRow();
 		}
 
-		public IList<FuelData.Entry> FuelData
+		public IList<IFuelProperties> FuelData
 		{
 			get { return FuelColumns.Keys.ToList(); }
 		}
@@ -356,7 +357,7 @@ namespace TUGraz.VectoCore.OutputData
 			set { CurrentRow[key.GetName()] = value; }
 		}
 
-		public string GetColumnName(FuelData.Entry fuelData, ModalResultField mrf)
+		public string GetColumnName(IFuelProperties fuelData, ModalResultField mrf)
 		{
 			if (!FuelColumns.ContainsKey(fuelData) || !FuelColumns[fuelData].ContainsKey(mrf)) {
 				throw new VectoException("unknown fuel {0} for key {1}", fuelData.GetLabel(), mrf.GetName());
@@ -365,7 +366,7 @@ namespace TUGraz.VectoCore.OutputData
 			return FuelColumns[fuelData][mrf].ColumnName;
 		}
 
-		public object this[ModalResultField key, FuelData.Entry fuel]
+		public object this[ModalResultField key, IFuelProperties fuel]
 		{
 			get {
 				if (!FuelColumns.ContainsKey(fuel) || !FuelColumns[fuel].ContainsKey(key)) {
diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
index b0dd779eb3..320960ed4a 100644
--- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
@@ -34,6 +34,7 @@ using System.Collections.Generic;
 using System.Data;
 using System.Linq;
 using System.Runtime.CompilerServices;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
@@ -432,7 +433,7 @@ namespace TUGraz.VectoCore.OutputData
 			}
 		}
 
-		private void UpdateTableColumns(IList<FuelData.Entry> modDataFuelData, bool engineDataMultipleEngineFuelModes)
+		private void UpdateTableColumns(IList<IFuelProperties> modDataFuelData, bool engineDataMultipleEngineFuelModes)
 		{
 			foreach (var entry in modDataFuelData) {
 				foreach (var column in fcColumns.Reverse()) {
diff --git a/VectoCore/VectoCore/OutputData/XML/AttributeMappings.cs b/VectoCore/VectoCore/OutputData/XML/AttributeMappings.cs
index a8ca35ccb2..0c8c73d21f 100644
--- a/VectoCore/VectoCore/OutputData/XML/AttributeMappings.cs
+++ b/VectoCore/VectoCore/OutputData/XML/AttributeMappings.cs
@@ -31,10 +31,8 @@
 
 using System.Collections.Generic;
 using TUGraz.VectoCommon.Resources;
-using TUGraz.VectoCore.InputData.Reader;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.Models.Declaration;
-using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
 
 namespace TUGraz.IVT.VectoXML
 {
diff --git a/VectoCore/VectoCore/OutputData/XML/Engineering/XMLEngineeringWriterInjectModule.cs b/VectoCore/VectoCore/OutputData/XML/Engineering/XMLEngineeringWriterInjectModule.cs
index 5cc8a54dce..b0fe73b883 100644
--- a/VectoCore/VectoCore/OutputData/XML/Engineering/XMLEngineeringWriterInjectModule.cs
+++ b/VectoCore/VectoCore/OutputData/XML/Engineering/XMLEngineeringWriterInjectModule.cs
@@ -1,14 +1,10 @@
 using Ninject.Extensions.Factory;
 using Ninject.Modules;
-using TUGraz.VectoCore.InputData.FileIO.XML.Engineering;
 using TUGraz.VectoCore.OutputData.XML.Engineering;
 using TUGraz.VectoCore.OutputData.XML.Engineering.Factory;
 using TUGraz.VectoCore.OutputData.XML.Engineering.Interfaces;
-using TUGraz.VectoCore.OutputData.XML.Engineering.Writer;
 using TUGraz.VectoCore.OutputData.XML.Factory;
 using TUGraz.VectoCore.OutputData.XML.NinjectModules;
-using TUGraz.VectoCore.OutputData.XML.Writer;
-using TUGraz.VectoCore.Utils;
 using TUGraz.VectoCore.Utils.Ninject;
 
 namespace TUGraz.VectoCore.OutputData.XML
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs
index 757f3a49d8..0dcf4df688 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs
@@ -33,7 +33,6 @@ using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
-using System.Reflection;
 using System.Xml;
 using System.Xml.Linq;
 using TUGraz.IVT.VectoXML.Writer;
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
index 9ccb650719..24923adeeb 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
@@ -34,11 +34,9 @@ using System.Collections.Generic;
 using System.Collections.ObjectModel;
 using System.Data;
 using System.Linq;
-using System.Text;
-using System.Xml;
 using System.Xml.Linq;
 using System.Xml.XPath;
-using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
@@ -64,7 +62,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 				Distance = double.MaxValue.SI<Meter>();
 			}
 
-			public IList<FuelData.Entry> FuelData { get; set; }
+			public IList<IFuelProperties> FuelData { get; set; }
 
 
 			public Kilogram Payload { get; set; }
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs
index a56c939da7..61f482c9d3 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs
@@ -43,7 +43,6 @@ using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
-using TUGraz.VectoCore.InputData.Reader;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 
 namespace TUGraz.VectoCore.OutputData.XML
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs
index 58ea0ac5ca..d1153c4c4d 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs
@@ -33,7 +33,6 @@ using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
-using System.Reflection;
 using System.Xml;
 using System.Xml.Linq;
 using TUGraz.IVT.VectoXML.Writer;
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs
index c286f9896d..507e3d918f 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs
@@ -38,8 +38,6 @@ using System.Xml.Schema;
 using System.Xml.XPath;
 using TUGraz.IVT.VectoXML.Writer;
 using TUGraz.VectoCommon.Models;
-using TUGraz.VectoCommon.Resources;
-using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Utils;
 using XmlDocumentType = TUGraz.VectoCore.Utils.XmlDocumentType;
diff --git a/VectoCore/VectoCore/Utils/DataIntegrityHelper.cs b/VectoCore/VectoCore/Utils/DataIntegrityHelper.cs
index ed9d0ee6a1..93c1d55765 100644
--- a/VectoCore/VectoCore/Utils/DataIntegrityHelper.cs
+++ b/VectoCore/VectoCore/Utils/DataIntegrityHelper.cs
@@ -29,7 +29,6 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using System.Linq;
 using System.Security.Cryptography;
 using System.Text;
 
diff --git a/VectoCore/VectoCore/Utils/XMLDefinitions.cs b/VectoCore/VectoCore/Utils/XMLDefinitions.cs
index 7a5b6b6782..70e17fd0fe 100644
--- a/VectoCore/VectoCore/Utils/XMLDefinitions.cs
+++ b/VectoCore/VectoCore/Utils/XMLDefinitions.cs
@@ -1,7 +1,5 @@
 using System;
 using System.Collections.Generic;
-using System.Linq;
-using System.Xml;
 
 namespace TUGraz.VectoCore.Utils
 {
diff --git a/VectoCore/VectoCore/Utils/XMLValidator.cs b/VectoCore/VectoCore/Utils/XMLValidator.cs
index cf7f1cb403..40bb4f8bfb 100644
--- a/VectoCore/VectoCore/Utils/XMLValidator.cs
+++ b/VectoCore/VectoCore/Utils/XMLValidator.cs
@@ -30,11 +30,7 @@
 */
 
 using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using System.Xml;
 using System.Xml.Schema;
 using TUGraz.VectoCommon.Exceptions;
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index e77c71a87b..facac77f97 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -267,8 +267,8 @@
     <Compile Include="InputData\Reader\ComponentData\CompressorMapReader.cs" />
     <Compile Include="InputData\Reader\ComponentData\ElectricConsumerReader.cs" />
     <Compile Include="InputData\Reader\ComponentData\EnvironmentalContidionsMapReader.cs" />
-    <Compile Include="InputData\Reader\ComponentData\HVACTechBenefitsReader.cs" />
-    <Compile Include="InputData\Reader\ComponentData\PneumaticActuationsMapReader.cs" />
+    <Compile Include="InputData\Reader\ComponentData\SSMTechnologiesReader.cs" />
+    <Compile Include="InputData\Reader\ComponentData\ActuationsMapReader.cs" />
     <Compile Include="Models\BusAuxiliaries\AdvancedAuxiliaries.cs" />
     <Compile Include="Models\BusAuxiliaries\AuxiliaryConfig.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\AbstractModule.cs" />
@@ -276,7 +276,6 @@
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\Alternator.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\CombinedAlternator.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\CombinedAlternatorMapRow.cs" />
-    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\CombinedAlternatorSignals.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\ElectricalConsumer.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\ElectricalConsumerList.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\ElectricsUserInputsConfig.cs" />
@@ -287,22 +286,15 @@
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\M0_1Impl.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\M0_5Impl.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\ResultCard.cs" />
-    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\Bus.cs" />
-    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\BusDatabase.cs" />
-    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\BusEngineType.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\EnvironmentalConditionMapEntry.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\EnvironmentalConditionsMap.cs" />
-    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\HVACConstants.cs" />
-    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\HVACUserInputsConfig.cs" />
-    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\IBus.cs" />
-    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\IBusDatabase.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\M01Impl.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMCalculate.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMInputs.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMRun.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMTechList.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMTOOL.cs" />
-    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\TechListBenefitLine.cs" />
+    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMTechnology.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\M06Impl.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\M07Impl.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\M08Impl.cs" />
@@ -315,7 +307,7 @@
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\CompressorMap.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\M03Impl.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\M04Impl.cs" />
-    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\PneumaticActuationsMap.cs" />
+    <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\ActuationsMap.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\PneumaticsAuxilliariesConfig.cs" />
     <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\PneumaticUserInputsConfig.cs" />
     <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\Electrics\AltUserInput.cs" />
@@ -348,8 +340,6 @@
     <Compile Include="Models\BusAuxiliaries\Interfaces\IAuxiliaryEvent.cs" />
     <Compile Include="Models\BusAuxiliaries\Interfaces\IM12.cs" />
     <Compile Include="Models\BusAuxiliaries\Interfaces\Signals.cs" />
-    <Compile Include="Models\BusAuxiliaries\Legacy\cFile_V3.cs" />
-    <Compile Include="Models\BusAuxiliaries\Legacy\cMAP.cs" />
     <Compile Include="Models\BusAuxiliaries\Util\FilePathUtils.cs" />
     <Compile Include="Models\SimulationComponent\Data\Engine\WHRPowerMap.cs" />
     <Compile Include="InputData\Reader\ComponentData\WHRPowerReader.cs" />
diff --git a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs
index 9dc8648a7e..84aa5b93cd 100644
--- a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs
@@ -44,6 +44,7 @@ using System.IO;
 using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCore.InputData.FileIO.JSON;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
+using TUGraz.VectoCore.Models.Declaration;
 
 namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries
 {
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs
index 957b76d820..147c1f7e42 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs
@@ -37,6 +37,7 @@ using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
 using NUnit.Framework;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
+using TUGraz.VectoCore.Models.Declaration;
 
 namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
 {
diff --git a/VectoCore/VectoCoreTest/Reports/ModDataTest.cs b/VectoCore/VectoCoreTest/Reports/ModDataTest.cs
index 465a206490..7718815030 100644
--- a/VectoCore/VectoCoreTest/Reports/ModDataTest.cs
+++ b/VectoCore/VectoCoreTest/Reports/ModDataTest.cs
@@ -627,8 +627,11 @@ namespace TUGraz.VectoCore.Tests.Reports
 			jobContainer.WaitFinished();
 
 			foreach (var modalResults in modData) {
-				AssertModDataIntegrityAT(modalResults.Item1, auxKeys, modalResults.Item2,
-					FuelConsumptionMapReader.Create(((IEngineeringInputDataProvider)inputData).JobInputData.Vehicle.Components.EngineInputData.EngineModes.First().Fuels.First().FuelConsumptionMap), true);
+				AssertModDataIntegrityAT(
+					modalResults.Item1, auxKeys, modalResults.Item2,
+					FuelConsumptionMapReader.Create(
+						((IEngineeringInputDataProvider)inputData)
+						.JobInputData.Vehicle.Components.EngineInputData.EngineModes.First().Fuels.First().FuelConsumptionMap), true);
 			}
 
 			AssertSumDataIntegrity(sumData, ExecutionMode.Engineering, true);
@@ -659,7 +662,7 @@ namespace TUGraz.VectoCore.Tests.Reports
 				// check fuel consumption interpolation
 				var fuelConsumption = (SI)row[ModalResultField.FCMap.GetName()];
 				Assert.AreEqual(fuelConsumption.Value(),
-					consumptionMap.GetFuelConsumption(tqEngFcmap, nEngFcMap).Value.Value(), 1E-3, "time: {0}  distance: {1}",
+					consumptionMap.GetFuelConsumption(tqEngFcmap, nEngFcMap, false).Value.Value(), 1E-3, "time: {0}  distance: {1}",
 					time, distance);
 
 				// check P_eng_FCmap = T_eng_fcmap * n_eng
diff --git a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
index edf11e45d2..071628d94e 100644
--- a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
+++ b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
@@ -45,6 +45,7 @@ using TUGraz.VectoCore.OutputData.XML;
 using TUGraz.VectoCore.Tests.Utils;
 using TUGraz.VectoCore.Utils;
 using NUnit.Framework;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCore.InputData.FileIO.XML;
 using TUGraz.VectoCore.Models.Declaration;
 
@@ -73,7 +74,7 @@ namespace TUGraz.VectoCore.Tests.Reports
 			var writer = new FileOutputWriter("testsumcalc_fixed");
 			var sumWriter = new SummaryDataContainer(writer);
 
-			var modData = new ModalDataContainer("testsumcalc_fixed", new [] { FuelData.Diesel}.ToList(), writer);
+			var modData = new ModalDataContainer("testsumcalc_fixed", new IFuelProperties[] { FuelData.Diesel}.ToList(), writer);
 
 			modData.AddAuxiliary("FAN");
 
@@ -134,7 +135,7 @@ namespace TUGraz.VectoCore.Tests.Reports
 			var writer = new FileOutputWriter("testsumcalc_var");
 			var sumWriter = new SummaryDataContainer(writer);
 
-			var modData = new ModalDataContainer("testsumcalc_var", new[] {FuelData.Diesel}.ToList(), writer);
+			var modData = new ModalDataContainer("testsumcalc_var", new IFuelProperties[] {FuelData.Diesel}.ToList(), writer);
 			modData.AddAuxiliary("FAN");
 
 			var timeSteps = new[]
diff --git a/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs b/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs
index d9b4030b49..6e1630554a 100644
--- a/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs
+++ b/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs
@@ -33,6 +33,7 @@ using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
+using TUGraz.VectoCommon.BusAuxiliaries;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
@@ -48,7 +49,7 @@ namespace TUGraz.VectoCore.Tests.Utils
 	/// </summary>
 	internal class MockModalDataContainer : IModalDataContainer
 	{
-		protected Dictionary<FuelData.Entry, Dictionary<ModalResultField, DataColumn>> FuelColumns = new Dictionary<FuelData.Entry, Dictionary<ModalResultField, DataColumn>>();
+		protected Dictionary<IFuelProperties, Dictionary<ModalResultField, DataColumn>> FuelColumns = new Dictionary<IFuelProperties, Dictionary<ModalResultField, DataColumn>>();
 
 		
 		public MockModalDataContainer()
@@ -67,10 +68,10 @@ namespace TUGraz.VectoCore.Tests.Utils
 			CurrentRow = Data.NewRow();
 			Auxiliaries = new Dictionary<string, DataColumn>();
 
-			AddFuels(new[] { VectoCore.Models.Declaration.FuelData.Diesel }.ToList());
+			AddFuels(new IFuelProperties[] { VectoCore.Models.Declaration.FuelData.Diesel }.ToList());
 		}
 
-		protected void AddFuels(List<FuelData.Entry> fuels)
+		protected void AddFuels(List<IFuelProperties> fuels)
 		{
 			foreach (var entry in fuels) {
 				if (FuelColumns.ContainsKey(entry)) {
@@ -98,7 +99,7 @@ namespace TUGraz.VectoCore.Tests.Utils
 			get { return ""; }
 		}
 
-		public object this[ModalResultField key, FuelData.Entry fuel]
+		public object this[ModalResultField key, IFuelProperties fuel]
 		{
 			get {
 				if (!FuelColumns.ContainsKey(fuel) || !FuelColumns[fuel].ContainsKey(key)) {
@@ -130,7 +131,7 @@ namespace TUGraz.VectoCore.Tests.Utils
 			CurrentRow = Data.NewRow();
 		}
 
-		IList<FuelData.Entry> IModalDataContainer.FuelData { get { return FuelColumns.Keys.ToList(); } }
+		IList<IFuelProperties> IModalDataContainer.FuelData { get { return FuelColumns.Keys.ToList(); } }
 
 		public FuelData.Entry FuelData
 		{
@@ -207,7 +208,7 @@ namespace TUGraz.VectoCore.Tests.Utils
 			Data.Rows.Clear();
 		}
 
-		public string GetColumnName(FuelData.Entry fuelData, ModalResultField mrf)
+		public string GetColumnName(IFuelProperties fuelData, ModalResultField mrf)
 		{
 			if (!FuelColumns.ContainsKey(fuelData) || !FuelColumns[fuelData].ContainsKey(mrf)) {
 				throw new VectoException("unknown fuel {0} for key {1}", fuelData.GetLabel(), mrf.GetName());
diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs
index 8f0c2c4e33..29841b7c68 100644
--- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs
+++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs
@@ -107,7 +107,7 @@ namespace TUGraz.VectoCore.Tests.XML
 			Assert.AreEqual("560.00", fcMapTable.Rows[0][0]);
 			var fcMap = FuelConsumptionMapReader.Create(fcMapTable);
 			Assert.AreEqual(1256.SI(Unit.SI.Gramm.Per.Hour).Value(),
-				fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad()).Value.Value());
+				fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad(), false).Value.Value());
 
 			var fldTable = engineDataProvider.EngineModes.First().FullLoadCurve;
 			Assert.AreEqual(10, fldTable.Rows.Count);
diff --git a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs
index 97b354a582..0b7c3f7c87 100644
--- a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs
+++ b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs
@@ -103,7 +103,7 @@ namespace TUGraz.VectoCore.Tests.XML
 			Assert.AreEqual("560", fcMapTable.Rows[0][0]);
 			var fcMap = FuelConsumptionMapReader.Create(fcMapTable);
 			Assert.AreEqual(1256.SI(Unit.SI.Gramm.Per.Hour).Value(), 
-				fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad()).Value.Value());
+				fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad(), false).Value.Value());
 
 			var fldTable = engineDataProvider.EngineModes.First().FullLoadCurve;
 			Assert.AreEqual(10, fldTable.Rows.Count);
diff --git a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs
index 5836e24699..068f99a0fd 100644
--- a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs
+++ b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs
@@ -107,7 +107,7 @@ namespace TUGraz.VectoCore.Tests.XML
 			Assert.AreEqual("560.00", fcMapTable.Rows[0][0]);
 			var fcMap = FuelConsumptionMapReader.Create(fcMapTable);
 			Assert.AreEqual(1256.SI(Unit.SI.Gramm.Per.Hour).Value(), 
-				fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad()).Value.Value());
+				fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad(), false).Value.Value());
 
 			var fldTable = engineDataProvider.EngineModes.First().FullLoadCurve;
 			Assert.AreEqual(10, fldTable.Rows.Count);
-- 
GitLab