From b9e53ce627650b8a5f1cc5a9cd77053fa664f0bd Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Thu, 19 Sep 2019 14:22:53 +0200
Subject: [PATCH] refactoring: moving interfaces and dependent classes to
 interfaces project

---
 .../Electrics/AltUserInput.vb                 |   2 +-
 .../Electrics/AlternatorMapValues.vb          |  46 ++---
 .../Electrics/ElectricConstants.vb            |  66 +++---
 .../Electrics/IAlternator.vb                  |  16 +-
 .../Electrics/IAlternatorMap.vb               |  62 +++---
 .../Electrics/ICombinedAlternator.vb          |   4 +-
 .../Electrics/ICombinedAlternatorMapRow.vb    |   2 +-
 .../Electrics/ICombinedAlternatorSignals.vb   |   2 +-
 .../Electrics/IElectricalConsumer.vb          |  59 +++---
 .../Electrics/IElectricalConsumerList.vb      | 118 +++++------
 .../Electrics/IElectricsUserInputsConfig.vb   | 195 +++++++++---------
 .../Electrics/IResultCard.vb                  |  67 +++---
 .../Electrics/SmartResult.vb                  | 106 +++++-----
 .../HVAC}/IEnvironmentalCondition.vb          |   2 +-
 .../HVAC}/IEnvironmentalConditionsMap.vb      |   4 +-
 .../DownstreamModules/HVAC}/IHVACConstants.vb |   2 +-
 .../HVAC}/IHVACSteadyStateModel.vb            |  98 ++++-----
 .../HVAC}/IHVACUserInputsConfig.vb            |  63 +++---
 .../DownstreamModules/HVAC}/ISSMCalculate.vb  |   4 +-
 .../DownstreamModules/HVAC}/ISSMGenInputs.vb  |   4 +-
 .../DownstreamModules/HVAC}/ISSMRun.vb        |   2 +-
 .../DownstreamModules/HVAC}/ISSMTOOL.vb       |   1 +
 .../DownstreamModules/HVAC}/ISSMTechList.vb   |   4 +-
 .../HVAC}/ITechListBenefitLine.vb             |   9 +-
 .../DownstreamModules/IAbstractModule.vb      |   5 +
 .../IM0_5_SmartAlternatorSetEfficiency.vb     | 132 ++++++------
 .../IM0_NonSmart_AlternatorsSetEfficiency.vb  |  70 ++++---
 .../DownstreamModules/IM10.vb                 |  82 ++++----
 .../DownstreamModules/IM11.vb                 | 182 ++++++++--------
 .../DownstreamModules/IM12.vb                 | 108 +++++-----
 .../DownstreamModules/IM13.vb                 |  62 +++---
 .../DownstreamModules/IM14.vb                 |   2 +
 .../IM1_AverageHVACLoadDemand.vb              |  92 +++++----
 .../IM2_AverageElectricalLoadDemand.vb        |  42 ++--
 .../IM3_AveragePneumaticLoadDemand.vb         |  46 +++--
 .../DownstreamModules}/IM4_AirCompressor.vb   | 146 ++++++-------
 .../IM5_SmartAlternatorSetGeneration.vb       |  78 +++----
 .../DownstreamModules/IM6.vb                  | 180 ++++++++--------
 .../DownstreamModules/IM7.vb                  | 108 +++++-----
 .../DownstreamModules/IM8.vb                  |  96 ++++-----
 .../DownstreamModules/IM9.vb                  | 136 ++++++------
 .../PneumaticSystem}/ActuationsKey.vb         | 106 +++++-----
 .../PneumaticSystem}/ICompressorMap.vb        |  98 ++++-----
 .../IPneumaticActuationsMAP.vb                |  42 ++--
 .../IPneumaticUserInputsConfig.vb             |  58 +++---
 .../IPneumaticsAuxilliariesConfig.vb          |  50 ++---
 46 files changed, 1463 insertions(+), 1396 deletions(-)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/AltUserInput.vb (94%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/AlternatorMapValues.vb (94%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/ElectricConstants.vb (96%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/IAlternator.vb (67%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/IAlternatorMap.vb (95%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/ICombinedAlternator.vb (84%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/ICombinedAlternatorMapRow.vb (88%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/ICombinedAlternatorSignals.vb (86%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/IElectricalConsumer.vb (96%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/IElectricalConsumerList.vb (96%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/IElectricsUserInputsConfig.vb (94%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/IResultCard.vb (93%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/Electrics/SmartResult.vb (95%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC}/IEnvironmentalCondition.vb (87%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC}/IEnvironmentalConditionsMap.vb (83%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC}/IHVACConstants.vb (94%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC}/IHVACSteadyStateModel.vb (95%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC}/IHVACUserInputsConfig.vb (86%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC}/ISSMCalculate.vb (97%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC}/ISSMGenInputs.vb (97%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC}/ISSMRun.vb (93%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC}/ISSMTOOL.vb (96%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC}/ISSMTechList.vb (94%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC}/ITechListBenefitLine.vb (89%)
 create mode 100644 VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IAbstractModule.vb
 rename {VECTOAux/VectoAuxiliaries/Electrics => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/IM0_5_SmartAlternatorSetEfficiency.vb (96%)
 rename {VECTOAux/VectoAuxiliaries/Electrics => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/IM0_NonSmart_AlternatorsSetEfficiency.vb (97%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces}/DownstreamModules/IM10.vb (77%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces}/DownstreamModules/IM11.vb (96%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces}/DownstreamModules/IM12.vb (79%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces}/DownstreamModules/IM13.vb (96%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces}/DownstreamModules/IM14.vb (91%)
 rename {VECTOAux/VectoAuxiliaries/Hvac => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/IM1_AverageHVACLoadDemand.vb (97%)
 rename {VECTOAux/VectoAuxiliaries/Electrics => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/IM2_AverageElectricalLoadDemand.vb (96%)
 rename {VECTOAux/VectoAuxiliaries/Pneumatics => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/IM3_AveragePneumaticLoadDemand.vb (90%)
 rename {VECTOAux/VectoAuxiliaries/Pneumatics => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/IM4_AirCompressor.vb (97%)
 rename {VECTOAux/VectoAuxiliaries/Electrics => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules}/IM5_SmartAlternatorSetGeneration.vb (97%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces}/DownstreamModules/IM6.vb (96%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces}/DownstreamModules/IM7.vb (97%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces}/DownstreamModules/IM8.vb (96%)
 rename {VECTOAux/VectoAuxiliaries => VectoCommon/AdvancedAuxiliaryInterfaces}/DownstreamModules/IM9.vb (95%)
 rename {VECTOAux/VectoAuxiliaries/Pneumatics => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem}/ActuationsKey.vb (96%)
 rename {VECTOAux/VectoAuxiliaries/Pneumatics => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem}/ICompressorMap.vb (97%)
 rename {VECTOAux/VectoAuxiliaries/Pneumatics => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem}/IPneumaticActuationsMAP.vb (97%)
 rename {VECTOAux/VectoAuxiliaries/Pneumatics => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem}/IPneumaticUserInputsConfig.vb (97%)
 rename {VECTOAux/VectoAuxiliaries/Pneumatics => VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem}/IPneumaticsAuxilliariesConfig.vb (97%)

diff --git a/VECTOAux/VectoAuxiliaries/Electrics/AltUserInput.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/AltUserInput.vb
similarity index 94%
rename from VECTOAux/VectoAuxiliaries/Electrics/AltUserInput.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/AltUserInput.vb
index 18c7974195..07d7088fd1 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/AltUserInput.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/AltUserInput.vb
@@ -1,7 +1,7 @@
 Option Strict On
 
 
-Namespace Electrics
+Namespace DownstreamModules.Electrics
 'Used by the Combined Alternator Form/Classes to accept user input for the combined alternators efficiency
 'At different Current Demands
 	Public class AltUserInput
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/AlternatorMapValues.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/AlternatorMapValues.vb
similarity index 94%
rename from VECTOAux/VectoAuxiliaries/Electrics/AlternatorMapValues.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/AlternatorMapValues.vb
index 54c3f19b07..e735d7bc82 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/AlternatorMapValues.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/AlternatorMapValues.vb
@@ -1,23 +1,23 @@
-' 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.
-
-
-Namespace Electrics
-	'Originally was going to hold more than one value type.
-	Public Structure AlternatorMapValues
-		Public ReadOnly Efficiency As Double
-
-		Public Sub New(ByVal efficiency As Double)
-			Me.Efficiency = efficiency
-		End Sub
-	End Structure
-End Namespace
-
+' 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.
+
+
+Namespace DownstreamModules.Electrics
+	'Originally was going to hold more than one value type.
+	Public Structure AlternatorMapValues
+		Public ReadOnly Efficiency As Double
+
+		Public Sub New(ByVal efficiency As Double)
+			Me.Efficiency = efficiency
+		End Sub
+	End Structure
+End Namespace
+
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/ElectricConstants.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ElectricConstants.vb
similarity index 96%
rename from VECTOAux/VectoAuxiliaries/Electrics/ElectricConstants.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ElectricConstants.vb
index a04737a392..68f60549b9 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/ElectricConstants.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ElectricConstants.vb
@@ -1,33 +1,33 @@
-' 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.
-
-Namespace Electrics
-	Public Class ElectricConstants
-		'Anticipated Min and Max Allowable values for Powernet, normally 26.3 volts but could be 48 in the future.
-		Public Const PowenetVoltageMin As Double = 6
-		Public Const PowenetVoltageMax As Double = 50
-
-		'Duty Cycle IE Percentage of use
-		Public Const PhaseIdleTractionOnMin As Double = 0
-		Public Const PhaseIdleTractionMax As Double = 1
-
-		'Max Min Expected Consumption for a Single Consumer, negative values allowed as bonuses.
-		Public Const NonminalConsumerConsumptionAmpsMin As Integer = - 10
-		Public Const NominalConsumptionAmpsMax As Integer = 100
-
-
-		'Alternator
-		public const AlternatorPulleyEfficiencyMin as single = 0.1
-		public const AlternatorPulleyEfficiencyMax as single = 1
-	End Class
-End Namespace
-
-
+' 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.
+
+Namespace DownstreamModules.Electrics
+	Public Class ElectricConstants
+		'Anticipated Min and Max Allowable values for Powernet, normally 26.3 volts but could be 48 in the future.
+		Public Const PowenetVoltageMin As Double = 6
+		Public Const PowenetVoltageMax As Double = 50
+
+		'Duty Cycle IE Percentage of use
+		Public Const PhaseIdleTractionOnMin As Double = 0
+		Public Const PhaseIdleTractionMax As Double = 1
+
+		'Max Min Expected Consumption for a Single Consumer, negative values allowed as bonuses.
+		Public Const NonminalConsumerConsumptionAmpsMin As Integer = - 10
+		Public Const NominalConsumptionAmpsMax As Integer = 100
+
+
+		'Alternator
+		public const AlternatorPulleyEfficiencyMin as single = 0.1
+		public const AlternatorPulleyEfficiencyMax as single = 1
+	End Class
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IAlternator.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IAlternator.vb
similarity index 67%
rename from VECTOAux/VectoAuxiliaries/Electrics/IAlternator.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IAlternator.vb
index de5aea114a..4129a96b12 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IAlternator.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IAlternator.vb
@@ -1,5 +1,19 @@
 
-Namespace Electrics
+Imports VectoAuxiliaries.Electrics
+
+Namespace DownstreamModules.Electrics
+
+    Public Class Table4Row
+        Public RPM As Double
+        Public Efficiency As Double
+
+        Public Sub New(rpm As Double, eff As Double)
+
+            Me.RPM = rpm
+            Me.Efficiency = eff
+        End Sub
+    End Class
+
 	'Used By Combined Alternator.
 	'Model based on CombinedALTS_V02_Editable.xlsx
 	Public Interface IAlternator
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IAlternatorMap.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IAlternatorMap.vb
similarity index 95%
rename from VECTOAux/VectoAuxiliaries/Electrics/IAlternatorMap.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IAlternatorMap.vb
index d5622c8f7e..74f337144e 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IAlternatorMap.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IAlternatorMap.vb
@@ -1,32 +1,32 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Electrics
-	Public Interface IAlternatorMap
-		Inherits IAuxiliaryEvent
-
-		''' <summary>
-		''' Initialise the map from supplied csv data
-		''' </summary>
-		''' <returns>Boolean - true if map is created successfully</returns>
-		''' <remarks></remarks>
-		Function Initialise() As Boolean
-
-		''' <summary>
-		''' Returns the alternator efficiency at given rpm
-		''' </summary>
-		''' <param name="rpm">alternator rotation speed</param>
-		''' <returns>Single</returns>
-		''' <remarks></remarks>
-		Function GetEfficiency(ByVal rpm As Double, ByVal amps As Ampere) As AlternatorMapValues
-	End Interface
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace DownstreamModules.Electrics
+	Public Interface IAlternatorMap
+		Inherits IAuxiliaryEvent
+
+		''' <summary>
+		''' Initialise the map from supplied csv data
+		''' </summary>
+		''' <returns>Boolean - true if map is created successfully</returns>
+		''' <remarks></remarks>
+		Function Initialise() As Boolean
+
+		''' <summary>
+		''' Returns the alternator efficiency at given rpm
+		''' </summary>
+		''' <param name="rpm">alternator rotation speed</param>
+		''' <returns>Single</returns>
+		''' <remarks></remarks>
+		Function GetEfficiency(ByVal rpm As Double, ByVal amps As Ampere) As AlternatorMapValues
+	End Interface
 End Namespace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/ICombinedAlternator.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ICombinedAlternator.vb
similarity index 84%
rename from VECTOAux/VectoAuxiliaries/Electrics/ICombinedAlternator.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ICombinedAlternator.vb
index bfba89d9c8..1486a4fd39 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/ICombinedAlternator.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ICombinedAlternator.vb
@@ -1,5 +1,7 @@
 
-Namespace Electrics
+
+
+Namespace DownstreamModules.Electrics
 	Public Interface ICombinedAlternator
 		'Alternators List
 		Property Alternators As List(Of IAlternator)
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/ICombinedAlternatorMapRow.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.vb
similarity index 88%
rename from VECTOAux/VectoAuxiliaries/Electrics/ICombinedAlternatorMapRow.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.vb
index ec881fdcce..4dcf42c851 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/ICombinedAlternatorMapRow.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.vb
@@ -1,5 +1,5 @@
 
-Namespace Electrics
+Namespace DownstreamModules.Electrics
 'Reflects stored data in pesisted CombinedAlternator Map .AALT
 	Public Interface ICombinedAlternatorMapRow
 		Property AlternatorName As String
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/ICombinedAlternatorSignals.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.vb
similarity index 86%
rename from VECTOAux/VectoAuxiliaries/Electrics/ICombinedAlternatorSignals.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.vb
index b13f49e89c..edd85af8ae 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/ICombinedAlternatorSignals.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.vb
@@ -1,7 +1,7 @@
 
 Imports TUGraz.VectoCommon.Utils
 
-Namespace Electrics
+Namespace DownstreamModules.Electrics
 	'Used by CombinedAlternator
 	Public Interface ICombinedAlternatorSignals
 		Property NumberOfAlternators As Integer
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumer.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IElectricalConsumer.vb
similarity index 96%
rename from VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumer.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IElectricalConsumer.vb
index 7158bc909c..36ccc467fc 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumer.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IElectricalConsumer.vb
@@ -1,31 +1,30 @@
-' 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.
-
-Imports System.ComponentModel
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Electrics
-	Public Interface IElectricalConsumer
-		Inherits INotifyPropertyChanged
-
-		Property Category As String
-		Property ConsumerName As String
-		Property BaseVehicle As Boolean
-		Property NominalConsumptionAmps As Double
-		Property PhaseIdle_TractionOn As Double
-		Property NumberInActualVehicle As Integer
-		Property PowerNetVoltage As Double
-		Property AvgConsumptionAmps As Double
-		Property Info As String
-		Function TotalAvgConumptionAmps(Optional PhaseIdle_TractionOnBasedOnCycle As Double = Nothing) As Ampere
-		Function TotalAvgConsumptionInWatts(Optional PhaseIdle_TractionOnBasedOnCycle As Double = 0.0) As Watt
-	End Interface
+' 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.
+Imports System.ComponentModel
+Imports TUGraz.VectoCommon.Utils
+
+Namespace DownstreamModules.Electrics
+	Public Interface IElectricalConsumer
+		Inherits INotifyPropertyChanged
+
+		Property Category As String
+		Property ConsumerName As String
+		Property BaseVehicle As Boolean
+		Property NominalConsumptionAmps As Double
+		Property PhaseIdle_TractionOn As Double
+		Property NumberInActualVehicle As Integer
+		Property PowerNetVoltage As Double
+		Property AvgConsumptionAmps As Double
+		Property Info As String
+		Function TotalAvgConumptionAmps(Optional PhaseIdle_TractionOnBasedOnCycle As Double = Nothing) As Ampere
+		Function TotalAvgConsumptionInWatts(Optional PhaseIdle_TractionOnBasedOnCycle As Double = 0.0) As Watt
+	End Interface
 End Namespace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumerList.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IElectricalConsumerList.vb
similarity index 96%
rename from VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumerList.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IElectricalConsumerList.vb
index f29100d7c7..f6951cd096 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IElectricalConsumerList.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IElectricalConsumerList.vb
@@ -1,59 +1,59 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Electrics
-	Public Interface IElectricalConsumerList
-		''' <summary>
-		''' List of Electrical Consumers
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property Items As List(Of IElectricalConsumer)
-
-		''' <summary>
-		''' Add New Electrical Consumer
-		''' </summary>
-		''' <param name="consumer"></param>
-		''' <remarks></remarks>
-		Sub AddConsumer(consumer As IElectricalConsumer)
-
-		''' <summary>
-		''' Remove Electrical Consumer
-		''' </summary>
-		''' <param name="consumer"></param>
-		''' <remarks></remarks>
-		Sub RemoveConsumer(consumer As IElectricalConsumer)
-
-		''' <summary>
-		''' Get Total Average Demand In Amps 
-		''' </summary>
-		''' <param name="excludeOnBase">Exclude those on base vehicle</param>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function GetTotalAverageDemandAmps(excludeOnBase As Boolean) As Ampere
-
-		''' <summary>
-		''' Door Actuation Time Fraction ( Total Time Spent Operational during cycle )
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property DoorDutyCycleFraction As Double
-
-		'Merge Info data from ElectricalConsumer in a Default set into live set
-		'This is required because the info is stored in the AAUX file and we do not want to use a persistance stored version.
-		Sub MergeInfoData()
-	End Interface
-End Namespace
-
-
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace DownstreamModules.Electrics
+	Public Interface IElectricalConsumerList
+		''' <summary>
+		''' List of Electrical Consumers
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property Items As List(Of IElectricalConsumer)
+
+		''' <summary>
+		''' Add New Electrical Consumer
+		''' </summary>
+		''' <param name="consumer"></param>
+		''' <remarks></remarks>
+		Sub AddConsumer(consumer As IElectricalConsumer)
+
+		''' <summary>
+		''' Remove Electrical Consumer
+		''' </summary>
+		''' <param name="consumer"></param>
+		''' <remarks></remarks>
+		Sub RemoveConsumer(consumer As IElectricalConsumer)
+
+		''' <summary>
+		''' Get Total Average Demand In Amps 
+		''' </summary>
+		''' <param name="excludeOnBase">Exclude those on base vehicle</param>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function GetTotalAverageDemandAmps(excludeOnBase As Boolean) As Ampere
+
+		''' <summary>
+		''' Door Actuation Time Fraction ( Total Time Spent Operational during cycle )
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property DoorDutyCycleFraction As Double
+
+		'Merge Info data from ElectricalConsumer in a Default set into live set
+		'This is required because the info is stored in the AAUX file and we do not want to use a persistance stored version.
+		Sub MergeInfoData()
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IElectricsUserInputsConfig.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IElectricsUserInputsConfig.vb
similarity index 94%
rename from VECTOAux/VectoAuxiliaries/Electrics/IElectricsUserInputsConfig.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IElectricsUserInputsConfig.vb
index 86e44534b4..09932ea9d4 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IElectricsUserInputsConfig.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IElectricsUserInputsConfig.vb
@@ -1,98 +1,97 @@
-' 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.
-
-Imports VectoAuxiliaries.Electrics
-
-Namespace Electrics
-	Public Interface IElectricsUserInputsConfig
-		''' <summary>
-		''' Power Net Voltage - The supply voltage used on the vehilce.
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property PowerNetVoltage As Double
-
-		''' <summary>
-		''' The Path for the Alternator map
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property AlternatorMap As String
-
-		''' <summary>
-		''' Alternator Gear Efficiency
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property AlternatorGearEfficiency As Double
-
-		''' <summary>
-		''' List of Electrical Consumers
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property ElectricalConsumers As IElectricalConsumerList
-
-		''' <summary>
-		''' Door Actuation Time In Seconds ( Time Taken to Open/Close the door )
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property DoorActuationTimeSecond As Integer
-
-		''' <summary>
-		''' Result Card Taken During Idle.
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property ResultCardIdle As IResultCard
-
-		''' <summary>
-		''' Result Card Taken During Traction
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property ResultCardTraction As IResultCard
-
-		''' <summary>
-		''' Result Card Taken During Overrun
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property ResultCardOverrun As IResultCard
-
-		''' <summary>
-		''' Smart Electrical System
-		''' </summary>
-		''' <value></value>
-		''' <returns>True For Smart Electrical Systems/ False For non Smart.</returns>
-		''' <remarks></remarks>
-		Property SmartElectrical As Boolean
-
-		''' <summary>
-		''' Stored Energy Efficiency
-		''' </summary>
-		''' <value></value>
-		''' <returns>Stored Energy Efficiency</returns>
-		''' <remarks></remarks>
-		Property StoredEnergyEfficiency As Single
-	End Interface
-End Namespace
-
-
+' 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.
+
+
+Namespace DownstreamModules.Electrics
+	Public Interface IElectricsUserInputsConfig
+		''' <summary>
+		''' Power Net Voltage - The supply voltage used on the vehilce.
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property PowerNetVoltage As Double
+
+		''' <summary>
+		''' The Path for the Alternator map
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property AlternatorMap As String
+
+		''' <summary>
+		''' Alternator Gear Efficiency
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property AlternatorGearEfficiency As Double
+
+		''' <summary>
+		''' List of Electrical Consumers
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property ElectricalConsumers As IElectricalConsumerList
+
+		''' <summary>
+		''' Door Actuation Time In Seconds ( Time Taken to Open/Close the door )
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property DoorActuationTimeSecond As Integer
+
+		''' <summary>
+		''' Result Card Taken During Idle.
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property ResultCardIdle As IResultCard
+
+		''' <summary>
+		''' Result Card Taken During Traction
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property ResultCardTraction As IResultCard
+
+		''' <summary>
+		''' Result Card Taken During Overrun
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property ResultCardOverrun As IResultCard
+
+		''' <summary>
+		''' Smart Electrical System
+		''' </summary>
+		''' <value></value>
+		''' <returns>True For Smart Electrical Systems/ False For non Smart.</returns>
+		''' <remarks></remarks>
+		Property SmartElectrical As Boolean
+
+		''' <summary>
+		''' Stored Energy Efficiency
+		''' </summary>
+		''' <value></value>
+		''' <returns>Stored Energy Efficiency</returns>
+		''' <remarks></remarks>
+		Property StoredEnergyEfficiency As Single
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IResultCard.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IResultCard.vb
similarity index 93%
rename from VECTOAux/VectoAuxiliaries/Electrics/IResultCard.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IResultCard.vb
index 0b6481b72b..70f5885680 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IResultCard.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/IResultCard.vb
@@ -1,33 +1,34 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Electrics
-	Public Interface IResultCard
-		''' <summary>
-		''' Returns a List of (SmartResult )
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property Results As List(Of SmartResult)
-
-		''' <summary>
-		''' Returns the Smart Current (A)
-		''' </summary>
-		''' <param name="Amps"></param>
-		''' <returns></returns>
-		''' <remarks>Defaults to 10 Amps if no readings present</remarks>
-		Function GetSmartCurrentResult(ByVal Amps As Ampere) As Ampere
-	End Interface
-End Namespace
-
-
+' 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.
+Imports TUGraz.VectoCommon.Utils
+Imports VectoAuxiliaries.Electrics
+
+Namespace DownstreamModules.Electrics
+	Public Interface IResultCard
+		''' <summary>
+		''' Returns a List of (SmartResult )
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property Results As List(Of SmartResult)
+
+		''' <summary>
+		''' Returns the Smart Current (A)
+		''' </summary>
+		''' <param name="Amps"></param>
+		''' <returns></returns>
+		''' <remarks>Defaults to 10 Amps if no readings present</remarks>
+		Function GetSmartCurrentResult(ByVal Amps As Ampere) As Ampere
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/SmartResult.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/SmartResult.vb
similarity index 95%
rename from VECTOAux/VectoAuxiliaries/Electrics/SmartResult.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/SmartResult.vb
index ff17f3651c..2c37c17154 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/SmartResult.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/Electrics/SmartResult.vb
@@ -1,53 +1,53 @@
-' 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.
-
-Namespace Electrics
-	Public Class SmartResult
-		Implements IComparable(Of SmartResult)
-
-		Public Property Amps As Double
-		Public Property SmartAmps As Double
-
-		'Constructors
-		Public Sub new()
-			'An empty constructor is requried. Do not remove.
-		End Sub
-
-		Public Sub New(amps As Double, smartAmps As Double)
-
-			Me.Amps = amps
-			Me.SmartAmps = smartAmps
-		End Sub
-
-		'Comparison
-		Public Function CompareTo(other As SmartResult) As Integer Implements IComparable(Of SmartResult).CompareTo
-
-			If other.Amps > Me.Amps then return - 1
-			If other.Amps = Me.Amps then Return 0
-
-			Return 1
-		End Function
-
-		'Comparison Overrides
-		Public Overrides Function Equals(obj As Object) As Boolean
-
-			Dim other as SmartResult = Ctype(Obj, SmartResult)
-
-			Return Me.Amps = other.Amps
-		End Function
-
-		Public Overrides Function GetHashCode() As Integer
-			Return 0
-		End Function
-	End Class
-End Namespace
-
-
+' 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.
+
+Namespace DownstreamModules.Electrics
+	Public Class SmartResult
+		Implements IComparable(Of SmartResult)
+
+		Public Property Amps As Double
+		Public Property SmartAmps As Double
+
+		'Constructors
+		Public Sub new()
+			'An empty constructor is requried. Do not remove.
+		End Sub
+
+		Public Sub New(amps As Double, smartAmps As Double)
+
+			Me.Amps = amps
+			Me.SmartAmps = smartAmps
+		End Sub
+
+		'Comparison
+		Public Function CompareTo(other As SmartResult) As Integer Implements IComparable(Of SmartResult).CompareTo
+
+			If other.Amps > Me.Amps then return - 1
+			If other.Amps = Me.Amps then Return 0
+
+			Return 1
+		End Function
+
+		'Comparison Overrides
+		Public Overrides Function Equals(obj As Object) As Boolean
+
+			Dim other as SmartResult = Ctype(Obj, SmartResult)
+
+			Return Me.Amps = other.Amps
+		End Function
+
+		Public Overrides Function GetHashCode() As Integer
+			Return 0
+		End Function
+	End Class
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/IEnvironmentalCondition.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IEnvironmentalCondition.vb
similarity index 87%
rename from VECTOAux/VectoAuxiliaries/Hvac/IEnvironmentalCondition.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IEnvironmentalCondition.vb
index 2fd07cffcc..5883647fa9 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/IEnvironmentalCondition.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IEnvironmentalCondition.vb
@@ -1,4 +1,4 @@
-Namespace Hvac
+Namespace DownstreamModules.HVAC
 	Public Interface IEnvironmentalCondition
 		Function GetTemperature() As Double
 		Function GetSolar() As Double
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/IEnvironmentalConditionsMap.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.vb
similarity index 83%
rename from VECTOAux/VectoAuxiliaries/Hvac/IEnvironmentalConditionsMap.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.vb
index 9100921176..fa7ee4704b 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/IEnvironmentalConditionsMap.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.vb
@@ -1,4 +1,6 @@
-Namespace Hvac
+
+
+Namespace DownstreamModules.HVAC
 	Public Interface IEnvironmentalConditionsMap
 		Function Initialise() As Boolean
 
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/IHVACConstants.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IHVACConstants.vb
similarity index 94%
rename from VECTOAux/VectoAuxiliaries/Hvac/IHVACConstants.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IHVACConstants.vb
index 7748f5a9c3..fdb3031025 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/IHVACConstants.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IHVACConstants.vb
@@ -1,6 +1,6 @@
 Imports TUGraz.VectoCommon.Utils
 
-Namespace Hvac
+Namespace DownstreamModules.HVAC
 	Public Interface IHVACConstants
 		''' <summary>
 		''' Diesel: 44800   [J/g]
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/IHVACSteadyStateModel.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.vb
similarity index 95%
rename from VECTOAux/VectoAuxiliaries/Hvac/IHVACSteadyStateModel.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.vb
index 15069622b3..f0054f1392 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/IHVACSteadyStateModel.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.vb
@@ -1,49 +1,49 @@
-' 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.
-
-Namespace Hvac
-	Public Interface IHVACSteadyStateModel
-		''' <summary>
-		''' Initialised Values From Map
-		''' </summary>
-		''' <param name="filePath"></param>
-		''' <param name="message"></param>
-		''' <returns>True if successfull, and False if not.</returns>
-		''' <remarks></remarks>
-		Function SetValuesFromMap(byval filePath As String, ByRef message As string) As Boolean
-
-		''' <summary>
-		''' HVAC Mechanical Load Power  (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property HVACMechanicalLoadPowerWatts As Single
-
-		''' <summary>
-		''' HVAC Electrical Load Power (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property HVACElectricalLoadPowerWatts As Single
-
-		''' <summary>
-		''' HVAC Fuelling (L/H)
-		''' </summary>
-		''' <value></value>
-		''' <returns>Liters per hour</returns>
-		''' <remarks></remarks>
-		Property HVACFuellingLitresPerHour As single
-	End Interface
-End Namespace
-
-
+' 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.
+
+Namespace DownstreamModules.HVAC
+	Public Interface IHVACSteadyStateModel
+		''' <summary>
+		''' Initialised Values From Map
+		''' </summary>
+		''' <param name="filePath"></param>
+		''' <param name="message"></param>
+		''' <returns>True if successfull, and False if not.</returns>
+		''' <remarks></remarks>
+		Function SetValuesFromMap(byval filePath As String, ByRef message As string) As Boolean
+
+		''' <summary>
+		''' HVAC Mechanical Load Power  (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property HVACMechanicalLoadPowerWatts As Single
+
+		''' <summary>
+		''' HVAC Electrical Load Power (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property HVACElectricalLoadPowerWatts As Single
+
+		''' <summary>
+		''' HVAC Fuelling (L/H)
+		''' </summary>
+		''' <value></value>
+		''' <returns>Liters per hour</returns>
+		''' <remarks></remarks>
+		Property HVACFuellingLitresPerHour As single
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/IHVACUserInputsConfig.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IHVACUserInputsConfig.vb
similarity index 86%
rename from VECTOAux/VectoAuxiliaries/Hvac/IHVACUserInputsConfig.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IHVACUserInputsConfig.vb
index 9c5063622e..3b1b2d38a8 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/IHVACUserInputsConfig.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/IHVACUserInputsConfig.vb
@@ -1,33 +1,30 @@
-' 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.
-
-Imports VectoAuxiliaries.Pneumatics
-Imports VectoAuxiliaries.Electrics
-Imports VectoAuxiliaries.Hvac
-
-Namespace Hvac
-	Public Interface IHVACUserInputsConfig
-		' Property  SteadyStateModel As IHVACSteadyStateModel
-		''' <summary>
-		''' PathName of the Steady State Model File
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property SSMFilePath As String
-
-		Property BusDatabasePath As String
-
-		Property SSMDisabled As Boolean
-	End Interface
-End Namespace
-
-
+' 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.
+
+
+Namespace DownstreamModules.HVAC
+	Public Interface IHVACUserInputsConfig
+		' Property  SteadyStateModel As IHVACSteadyStateModel
+		''' <summary>
+		''' PathName of the Steady State Model File
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property SSMFilePath As String
+
+		Property BusDatabasePath As String
+
+		Property SSMDisabled As Boolean
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/ISSMCalculate.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMCalculate.vb
similarity index 97%
rename from VECTOAux/VectoAuxiliaries/Hvac/ISSMCalculate.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMCalculate.vb
index 97deff4a13..88e26fc162 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/ISSMCalculate.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMCalculate.vb
@@ -1,4 +1,6 @@
-Namespace Hvac
+Imports VectoAuxiliaries.Hvac
+
+Namespace DownstreamModules.HVAC
 
 	Public Interface ISSMCalculate
 
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/ISSMGenInputs.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMGenInputs.vb
similarity index 97%
rename from VECTOAux/VectoAuxiliaries/Hvac/ISSMGenInputs.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMGenInputs.vb
index ccb3f05014..44870806d7 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/ISSMGenInputs.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMGenInputs.vb
@@ -1,5 +1,7 @@
 
-Namespace Hvac
+Imports VectoAuxiliaries.Hvac
+
+Namespace DownstreamModules.HVAC
 
 	Public Interface ISSMGenInputs
 
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/ISSMRun.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMRun.vb
similarity index 93%
rename from VECTOAux/VectoAuxiliaries/Hvac/ISSMRun.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMRun.vb
index 35ebc4d1ad..1e39a961c9 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/ISSMRun.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMRun.vb
@@ -1,5 +1,5 @@
 
-Namespace Hvac
+Namespace DownstreamModules.HVAC
 
 
 	Public Interface ISSMRun
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/ISSMTOOL.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMTOOL.vb
similarity index 96%
rename from VECTOAux/VectoAuxiliaries/Hvac/ISSMTOOL.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMTOOL.vb
index 8083b01d6b..f1e080e5c0 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/ISSMTOOL.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMTOOL.vb
@@ -1,4 +1,5 @@
 Imports TUGraz.VectoCommon.Utils
+Imports VectoAuxiliaries.DownstreamModules.HVAC
 Imports VectoAuxiliaries.Hvac
 
 Public Interface ISSMTOOL
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/ISSMTechList.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMTechList.vb
similarity index 94%
rename from VECTOAux/VectoAuxiliaries/Hvac/ISSMTechList.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMTechList.vb
index 781f3aa8aa..29f2661135 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/ISSMTechList.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ISSMTechList.vb
@@ -1,5 +1,7 @@
 
-Namespace Hvac
+Imports VectoAuxiliaries.Hvac
+
+Namespace DownstreamModules.HVAC
 
 	Public Interface ISSMTechList
 
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/ITechListBenefitLine.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ITechListBenefitLine.vb
similarity index 89%
rename from VECTOAux/VectoAuxiliaries/Hvac/ITechListBenefitLine.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ITechListBenefitLine.vb
index 216a9c5540..bc58aa2253 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/ITechListBenefitLine.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/HVAC/ITechListBenefitLine.vb
@@ -1,4 +1,11 @@
-Namespace Hvac
+Namespace DownstreamModules.HVAC
+
+	Public Enum TechLineType
+
+		Normal
+		HVCActiveSelection
+	End Enum
+
 	Public Interface ITechListBenefitLine
 		Property Units As string
 		Property Category As String
diff --git a/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IAbstractModule.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IAbstractModule.vb
new file mode 100644
index 0000000000..bd20a32f7b
--- /dev/null
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IAbstractModule.vb
@@ -0,0 +1,5 @@
+Public Interface IAbstractModule
+    
+    Sub ResetCalculations()
+
+End Interface
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IM0_5_SmartAlternatorSetEfficiency.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.vb
similarity index 96%
rename from VECTOAux/VectoAuxiliaries/Electrics/IM0_5_SmartAlternatorSetEfficiency.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.vb
index e7caf4eb4a..fd5e135501 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IM0_5_SmartAlternatorSetEfficiency.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.vb
@@ -1,65 +1,67 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Electrics
-	Public Interface IM0_5_SmartAlternatorSetEfficiency
-		''' <summary>
-		''' Smart Idle Current (A)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartIdleCurrent() As Ampere
-
-		''' <summary>
-		''' Alternators Efficiency In Idle ( Fraction )
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property AlternatorsEfficiencyIdleResultCard() As Double
-
-		''' <summary>
-		''' Smart Traction Current (A)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartTractionCurrent As Ampere
-
-		''' <summary>
-		''' Alternators Efficiency In Traction ( Fraction )
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property AlternatorsEfficiencyTractionOnResultCard() As Double
-
-		''' <summary>
-		''' Smart Overrrun Current (A)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartOverrunCurrent As Ampere
-
-		''' <summary>
-		''' Alternators Efficiency In Overrun ( Fraction )
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property AlternatorsEfficiencyOverrunResultCard() As Double
-	End Interface
-End Namespace
-
-
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace Electrics
+	Public Interface IM0_5_SmartAlternatorSetEfficiency
+        Inherits IAbstractModule
+
+		''' <summary>
+		''' Smart Idle Current (A)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartIdleCurrent() As Ampere
+
+		''' <summary>
+		''' Alternators Efficiency In Idle ( Fraction )
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property AlternatorsEfficiencyIdleResultCard() As Double
+
+		''' <summary>
+		''' Smart Traction Current (A)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartTractionCurrent As Ampere
+
+		''' <summary>
+		''' Alternators Efficiency In Traction ( Fraction )
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property AlternatorsEfficiencyTractionOnResultCard() As Double
+
+		''' <summary>
+		''' Smart Overrrun Current (A)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartOverrunCurrent As Ampere
+
+		''' <summary>
+		''' Alternators Efficiency In Overrun ( Fraction )
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property AlternatorsEfficiencyOverrunResultCard() As Double
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IM0_NonSmart_AlternatorsSetEfficiency.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.vb
similarity index 97%
rename from VECTOAux/VectoAuxiliaries/Electrics/IM0_NonSmart_AlternatorsSetEfficiency.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.vb
index 49c492ca17..a57b7c9ec4 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IM0_NonSmart_AlternatorsSetEfficiency.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.vb
@@ -1,33 +1,37 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Electrics
-	Public Interface IM0_NonSmart_AlternatorsSetEfficiency
-		''' <summary>
-		''' Gets HVAC Electrical Power Demand (A)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property GetHVACElectricalPowerDemandAmps() As Ampere
-
-		''' <summary>
-		''' Gets Alternator Efficiency (0-1)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property AlternatorsEfficiency() As Double
-	End Interface
-End Namespace
-
-
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace Electrics
+	Public Interface IM0_NonSmart_AlternatorsSetEfficiency
+		Inherits IAbstractModule
+
+		''' <summary>
+		''' Gets HVAC Electrical Power Demand (A)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property GetHVACElectricalPowerDemandAmps() As Ampere
+
+		''' <summary>
+		''' Gets Alternator Efficiency (0-1)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property AlternatorsEfficiency() As Double
+
+		
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM10.vb
similarity index 77%
rename from VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM10.vb
index 0576a556b7..d98d24eae2 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM10.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM10.vb
@@ -1,40 +1,42 @@
-' 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.
-
-Imports TUGraz.VectoCommon.Utils
-Imports VectoAuxiliaries.Electrics
-Imports VectoAuxiliaries.Pneumatics
-Imports VectoAuxiliaries.Hvac
-Imports VectoAuxiliaries.DownstreamModules
-
-Namespace DownstreamModules
-	Public Interface IM10
-		'AverageLoadsFuelConsumptionInterpolatedForPneumatics
-		ReadOnly Property AverageLoadsFuelConsumptionInterpolatedForPneumatics As Kilogram
-
-		'Interpolated FC between points 2-3-1 Representing smart Pneumatics = Fuel consumption with smart Pneumatics and average electrical  power demand
-		ReadOnly Property FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand As Kilogram
-
-		Sub CycleStep(stepTimeInSeconds As Second)
-
-		'Added for diagnostic inspection purposes only, does not materially affect the class function.
-		ReadOnly Property P1X As NormLiter
-		ReadOnly Property P1Y As Kilogram
-		ReadOnly Property P2X As NormLiter
-		ReadOnly Property P2Y As Kilogram
-		ReadOnly Property P3X As NormLiter
-		ReadOnly Property P3Y As Kilogram
-		ReadOnly Property XTAIN As NormLiter
-		ReadOnly Property INTRP1 As Kilogram
-		ReadOnly Property INTRP2 As Kilogram
-	End Interface
-End Namespace
-
+' 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.
+
+Imports TUGraz.VectoCommon.Utils
+Imports VectoAuxiliaries.Electrics
+Imports VectoAuxiliaries.Pneumatics
+Imports VectoAuxiliaries.Hvac
+Imports VectoAuxiliaries.DownstreamModules
+
+Namespace DownstreamModules
+	Public Interface IM10
+	    Inherits IAbstractModule
+
+		'AverageLoadsFuelConsumptionInterpolatedForPneumatics
+		ReadOnly Property AverageLoadsFuelConsumptionInterpolatedForPneumatics As Kilogram
+
+		'Interpolated FC between points 2-3-1 Representing smart Pneumatics = Fuel consumption with smart Pneumatics and average electrical  power demand
+		ReadOnly Property FuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand As Kilogram
+
+		Sub CycleStep(stepTimeInSeconds As Second)
+
+		'Added for diagnostic inspection purposes only, does not materially affect the class function.
+		'ReadOnly Property P1X As NormLiter
+		'ReadOnly Property P1Y As Kilogram
+		'ReadOnly Property P2X As NormLiter
+		'ReadOnly Property P2Y As Kilogram
+		'ReadOnly Property P3X As NormLiter
+		'ReadOnly Property P3Y As Kilogram
+		'ReadOnly Property XTAIN As NormLiter
+		'ReadOnly Property INTRP1 As Kilogram
+		'ReadOnly Property INTRP2 As Kilogram
+	End Interface
+End Namespace
+
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM11.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM11.vb
similarity index 96%
rename from VECTOAux/VectoAuxiliaries/DownstreamModules/IM11.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM11.vb
index a974b9b273..c961a4a911 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM11.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM11.vb
@@ -1,90 +1,92 @@
-' 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.
-
-Imports TUGraz.VectoCommon.Utils
-Imports VectoAuxiliaries.Electrics
-Imports VectoAuxiliaries.Pneumatics
-Imports VectoAuxiliaries.Hvac
-
-Namespace DownstreamModules
-	Public Interface IM11
-		''' <summary>
-		''' Smart Electrical Total Cycle Electrical Energy Generated During Overrun Only(J)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartElectricalTotalCycleElectricalEnergyGeneratedDuringOverrunOnly As Joule
-
-		''' <summary>
-		''' Smart Electrical Total Cycle Eletrical EnergyGenerated (J)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartElectricalTotalCycleEletricalEnergyGenerated As Joule
-
-		''' <summary>
-		''' Total Cycle Electrical Demand (J)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property TotalCycleElectricalDemand As Joule
-
-		''' <summary>
-		''' Total Cycle Fuel Consumption: Smart Electrical Load (g)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property TotalCycleFuelConsumptionSmartElectricalLoad As Kilogram
-
-		''' <summary>
-		''' Total Cycle Fuel Consumption: Zero Electrical Load (g)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property TotalCycleFuelConsumptionZeroElectricalLoad As Kilogram
-
-		''' <summary>
-		''' Stop Start Sensitive: Total Cycle Electrical Demand (J)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property StopStartSensitiveTotalCycleElectricalDemand As Joule
-
-		''' <summary>
-		''' Total Cycle Fuel Consuption : Average Loads (g)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property TotalCycleFuelConsuptionAverageLoads As Kilogram
-
-		''' <summary>
-		''' Clears aggregated values ( Sets them to zero ).
-		''' </summary>
-		''' <remarks></remarks>
-		Sub ClearAggregates()
-
-		''' <summary>
-		''' Increments all aggregated outputs
-		''' </summary>
-		''' <param name="stepTimeInSeconds">Single : Mutiplies the values to be aggregated by number of seconds</param>
-		''' <remarks></remarks>
-		Sub CycleStep(stepTimeInSeconds As Second)
-	End Interface
-End Namespace
-
-
+' 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.
+
+Imports TUGraz.VectoCommon.Utils
+Imports VectoAuxiliaries.Electrics
+Imports VectoAuxiliaries.Pneumatics
+Imports VectoAuxiliaries.Hvac
+
+Namespace DownstreamModules
+	Public Interface IM11
+	    Inherits IAbstractModule
+
+		''' <summary>
+		''' Smart Electrical Total Cycle Electrical Energy Generated During Overrun Only(J)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartElectricalTotalCycleElectricalEnergyGeneratedDuringOverrunOnly As Joule
+
+		''' <summary>
+		''' Smart Electrical Total Cycle Eletrical EnergyGenerated (J)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartElectricalTotalCycleEletricalEnergyGenerated As Joule
+
+		''' <summary>
+		''' Total Cycle Electrical Demand (J)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property TotalCycleElectricalDemand As Joule
+
+		''' <summary>
+		''' Total Cycle Fuel Consumption: Smart Electrical Load (g)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property TotalCycleFuelConsumptionSmartElectricalLoad As Kilogram
+
+		''' <summary>
+		''' Total Cycle Fuel Consumption: Zero Electrical Load (g)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property TotalCycleFuelConsumptionZeroElectricalLoad As Kilogram
+
+		''' <summary>
+		''' Stop Start Sensitive: Total Cycle Electrical Demand (J)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property StopStartSensitiveTotalCycleElectricalDemand As Joule
+
+		''' <summary>
+		''' Total Cycle Fuel Consuption : Average Loads (g)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property TotalCycleFuelConsuptionAverageLoads As Kilogram
+
+		''' <summary>
+		''' Clears aggregated values ( Sets them to zero ).
+		''' </summary>
+		''' <remarks></remarks>
+		Sub ClearAggregates()
+
+		''' <summary>
+		''' Increments all aggregated outputs
+		''' </summary>
+		''' <param name="stepTimeInSeconds">Single : Mutiplies the values to be aggregated by number of seconds</param>
+		''' <remarks></remarks>
+		Sub CycleStep(stepTimeInSeconds As Second)
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM12.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM12.vb
similarity index 79%
rename from VECTOAux/VectoAuxiliaries/DownstreamModules/IM12.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM12.vb
index e1c5ad6bca..f4dab4f71c 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM12.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM12.vb
@@ -1,53 +1,55 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace DownstreamModules
-	Public Interface IM12
-		''' <summary>
-		''' Fuel consumption with smart Electrics and Average Pneumatic Power Demand
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property FuelconsumptionwithsmartElectricsandAveragePneumaticPowerDemand As Kilogram
-
-		''' <summary>
-		''' Base Fuel Consumption With Average Auxiliary Loads
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property BaseFuelConsumptionWithTrueAuxiliaryLoads As Kilogram
-
-		''' <summary>
-		''' Stop Start Correction
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property StopStartCorrection As Double
-
-
-		'Diagnostic Signals Only For Testing - No Material interference with operation of class.
-		ReadOnly Property P1X As Joule
-		ReadOnly Property P1Y As Kilogram
-		ReadOnly Property P2X As Joule
-		ReadOnly Property P2Y As Kilogram
-		ReadOnly Property P3X As Joule
-		ReadOnly Property P3Y As Kilogram
-		ReadOnly Property XTAIN As Joule
-		ReadOnly Property INTRP1 As Kilogram
-		ReadOnly Property INTRP2 As Kilogram
-	End Interface
-End Namespace
-
-
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace DownstreamModules
+	Public Interface IM12
+	    Inherits IAbstractModule
+
+		''' <summary>
+		''' Fuel consumption with smart Electrics and Average Pneumatic Power Demand
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property FuelconsumptionwithsmartElectricsandAveragePneumaticPowerDemand As Kilogram
+
+		''' <summary>
+		''' Base Fuel Consumption With Average Auxiliary Loads
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property BaseFuelConsumptionWithTrueAuxiliaryLoads As Kilogram
+
+		''' <summary>
+		''' Stop Start Correction
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property StopStartCorrection As Double
+
+
+		'Diagnostic Signals Only For Testing - No Material interference with operation of class.
+		'ReadOnly Property P1X As Joule
+		'ReadOnly Property P1Y As Kilogram
+		'ReadOnly Property P2X As Joule
+		'ReadOnly Property P2Y As Kilogram
+		'ReadOnly Property P3X As Joule
+		'ReadOnly Property P3Y As Kilogram
+		'ReadOnly Property XTAIN As Joule
+		'ReadOnly Property INTRP1 As Kilogram
+		'ReadOnly Property INTRP2 As Kilogram
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM13.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM13.vb
similarity index 96%
rename from VECTOAux/VectoAuxiliaries/DownstreamModules/IM13.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM13.vb
index 57d3253dfc..a1f3b2b106 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM13.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM13.vb
@@ -1,30 +1,32 @@
-' 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.
-
-
-Imports TUGraz.VectoCommon.Utils
-Imports VectoAuxiliaries.Electrics
-Imports VectoAuxiliaries.Pneumatics
-Imports VectoAuxiliaries.Hvac
-
-Namespace DownstreamModules
-	Public Interface IM13
-		''' <summary>
-		''' Total Cycle Fuel Consumption Grams
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks>WHTC and Start Stop Adjusted</remarks>
-		ReadOnly Property WHTCTotalCycleFuelConsumptionGrams As Kilogram
-	End Interface
-End Namespace
-
-
+' 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.
+
+
+Imports TUGraz.VectoCommon.Utils
+Imports VectoAuxiliaries.Electrics
+Imports VectoAuxiliaries.Pneumatics
+Imports VectoAuxiliaries.Hvac
+
+Namespace DownstreamModules
+	Public Interface IM13
+	    Inherits IAbstractModule
+
+		''' <summary>
+		''' Total Cycle Fuel Consumption Grams
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks>WHTC and Start Stop Adjusted</remarks>
+		ReadOnly Property WHTCTotalCycleFuelConsumptionGrams As Kilogram
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM14.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM14.vb
similarity index 91%
rename from VECTOAux/VectoAuxiliaries/DownstreamModules/IM14.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM14.vb
index cd9537fc04..bc3be11ecb 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM14.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM14.vb
@@ -6,6 +6,8 @@ Imports VectoAuxiliaries.Hvac
 
 Namespace DownstreamModules
 	Public Interface IM14
+	    Inherits IAbstractModule
+
 		ReadOnly Property TotalCycleFCGrams As Kilogram
 
 		ReadOnly Property TotalCycleFCLitres As Liter
diff --git a/VECTOAux/VectoAuxiliaries/Hvac/IM1_AverageHVACLoadDemand.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM1_AverageHVACLoadDemand.vb
similarity index 97%
rename from VECTOAux/VectoAuxiliaries/Hvac/IM1_AverageHVACLoadDemand.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM1_AverageHVACLoadDemand.vb
index 61255d11c4..982ed1b811 100644
--- a/VECTOAux/VectoAuxiliaries/Hvac/IM1_AverageHVACLoadDemand.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM1_AverageHVACLoadDemand.vb
@@ -1,45 +1,47 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Hvac
-	Public Interface IM1_AverageHVACLoadDemand
-		''' <summary>
-		''' Average Power Demand At Crank From HVAC Mechanicals (W)
-		''' </summary>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function AveragePowerDemandAtCrankFromHVACMechanicalsWatts() As Watt
-
-		''' <summary>
-		''' Average Power Demand At Alternator From HVAC Electrics (W)
-		''' </summary>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function AveragePowerDemandAtAlternatorFromHVACElectricsWatts() As Watt
-
-		''' <summary>
-		''' Average Power Demand At Crank From HVAC Electrics  (W)
-		''' </summary>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function AveragePowerDemandAtCrankFromHVACElectricsWatts() As Watt
-
-		''' <summary>
-		''' HVAC Fueling   (L/H)
-		''' </summary>
-		''' <returns>Litres Per Hour</returns>
-		''' <remarks></remarks>
-		Function HVACFuelingLitresPerHour() As LiterPerSecond
-	End Interface
-End Namespace
-
-
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace Hvac
+	Public Interface IM1_AverageHVACLoadDemand
+	    Inherits IAbstractModule
+
+		''' <summary>
+		''' Average Power Demand At Crank From HVAC Mechanicals (W)
+		''' </summary>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function AveragePowerDemandAtCrankFromHVACMechanicalsWatts() As Watt
+
+		''' <summary>
+		''' Average Power Demand At Alternator From HVAC Electrics (W)
+		''' </summary>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function AveragePowerDemandAtAlternatorFromHVACElectricsWatts() As Watt
+
+		''' <summary>
+		''' Average Power Demand At Crank From HVAC Electrics  (W)
+		''' </summary>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function AveragePowerDemandAtCrankFromHVACElectricsWatts() As Watt
+
+		''' <summary>
+		''' HVAC Fueling   (L/H)
+		''' </summary>
+		''' <returns>Litres Per Hour</returns>
+		''' <remarks></remarks>
+		Function HVACFuelingLitresPerHour() As LiterPerSecond
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IM2_AverageElectricalLoadDemand.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM2_AverageElectricalLoadDemand.vb
similarity index 96%
rename from VECTOAux/VectoAuxiliaries/Electrics/IM2_AverageElectricalLoadDemand.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM2_AverageElectricalLoadDemand.vb
index 5412a35c59..ce6ac8e0ea 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IM2_AverageElectricalLoadDemand.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM2_AverageElectricalLoadDemand.vb
@@ -1,20 +1,22 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Electrics
-	Public Interface IM2_AverageElectricalLoadDemand
-		Function GetAveragePowerDemandAtAlternator() As Watt
-		Function GetAveragePowerAtCrankFromElectrics() As Watt
-	End Interface
-End Namespace
-
-
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace Electrics
+	Public Interface IM2_AverageElectricalLoadDemand
+	    Inherits IAbstractModule
+
+		Function GetAveragePowerDemandAtAlternator() As Watt
+		Function GetAveragePowerAtCrankFromElectrics() As Watt
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/IM3_AveragePneumaticLoadDemand.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.vb
similarity index 90%
rename from VECTOAux/VectoAuxiliaries/Pneumatics/IM3_AveragePneumaticLoadDemand.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.vb
index 860b26b99e..a2e0cad59a 100644
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/IM3_AveragePneumaticLoadDemand.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.vb
@@ -1,21 +1,25 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Pneumatics
-	Public Interface IM3_AveragePneumaticLoadDemand
-		Function GetAveragePowerDemandAtCrankFromPneumatics() As Watt
-
-		Function AverageAirConsumedPerSecondLitre() As NormLiterPerSecond
-	End Interface
-End Namespace
-
-
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace Pneumatics
+	Public Interface IM3_AveragePneumaticLoadDemand
+	    Inherits IAbstractModule
+
+		Function GetAveragePowerDemandAtCrankFromPneumatics() As Watt
+
+		Function AverageAirConsumedPerSecondLitre() As NormLiterPerSecond
+
+        ReadOnly Property TotalAirDemand As NormLiter
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/IM4_AirCompressor.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM4_AirCompressor.vb
similarity index 97%
rename from VECTOAux/VectoAuxiliaries/Pneumatics/IM4_AirCompressor.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM4_AirCompressor.vb
index 757fc9ec00..86f75cf3ee 100644
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/IM4_AirCompressor.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM4_AirCompressor.vb
@@ -1,73 +1,75 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Pneumatics
-	Public Interface IM4_AirCompressor
-		''' <summary>
-		''' Ratio of Gear or Pulley used to drive the compressor
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property PulleyGearRatio() As Double
-
-		''' <summary>
-		''' Efficiency of the Pulley or Gear used to drive the compressor
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Property PulleyGearEfficiency() As Double
-
-		''' <summary>
-		''' Initialises the AirCompressor Class
-		''' </summary>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function Initialise() As Boolean
-
-		''' <summary>
-		''' Returns the flow rate [litres/second] of compressor for the given engine rpm
-		''' </summary>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function GetFlowRate() As NormLiterPerSecond
-
-		''' <summary>
-		''' Returns the power consumed for the given engine rpm when compressor is off
-		''' </summary>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function GetPowerCompressorOff() As Watt
-
-		''' <summary>
-		''' Returns the power consumed for the given engine rpm when compressor is on
-		''' </summary>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function GetPowerCompressorOn() As Watt
-
-		''' <summary>
-		''' Returns the difference in power between compressonr on and compressor off operation at the given engine rpm
-		''' </summary>
-		''' <returns>Single / Watts</returns>
-		''' <remarks></remarks>
-		Function GetPowerDifference() As Watt
-
-		''' <summary>
-		''' Returns Average PoweDemand PeCompressor UnitFlowRate 
-		''' </summary>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function GetAveragePowerDemandPerCompressorUnitFlowRate() As SI
-	End Interface
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace Pneumatics
+	Public Interface IM4_AirCompressor
+	    Inherits IAbstractModule
+
+		''' <summary>
+		''' Ratio of Gear or Pulley used to drive the compressor
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property PulleyGearRatio() As Double
+
+		''' <summary>
+		''' Efficiency of the Pulley or Gear used to drive the compressor
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Property PulleyGearEfficiency() As Double
+
+		''' <summary>
+		''' Initialises the AirCompressor Class
+		''' </summary>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function Initialise() As Boolean
+
+		''' <summary>
+		''' Returns the flow rate [litres/second] of compressor for the given engine rpm
+		''' </summary>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function GetFlowRate() As NormLiterPerSecond
+
+		''' <summary>
+		''' Returns the power consumed for the given engine rpm when compressor is off
+		''' </summary>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function GetPowerCompressorOff() As Watt
+
+		''' <summary>
+		''' Returns the power consumed for the given engine rpm when compressor is on
+		''' </summary>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function GetPowerCompressorOn() As Watt
+
+		''' <summary>
+		''' Returns the difference in power between compressonr on and compressor off operation at the given engine rpm
+		''' </summary>
+		''' <returns>Single / Watts</returns>
+		''' <remarks></remarks>
+		Function GetPowerDifference() As Watt
+
+		''' <summary>
+		''' Returns Average PoweDemand PeCompressor UnitFlowRate 
+		''' </summary>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function GetAveragePowerDemandPerCompressorUnitFlowRate() As SI
+	End Interface
 End Namespace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IM5_SmartAlternatorSetGeneration.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.vb
similarity index 97%
rename from VECTOAux/VectoAuxiliaries/Electrics/IM5_SmartAlternatorSetGeneration.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.vb
index 42ee115e43..5d83538977 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IM5_SmartAlternatorSetGeneration.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.vb
@@ -1,38 +1,40 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Electrics
-	Public Interface IM5_SmartAlternatorSetGeneration
-		''' <summary>
-		''' Alternators Generation Power At Crank Idle (W)
-		''' </summary>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function AlternatorsGenerationPowerAtCrankIdleWatts() As Watt
-
-		''' <summary>
-		''' Alternators Generation Power At Crank Traction On  (W)
-		''' </summary>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function AlternatorsGenerationPowerAtCrankTractionOnWatts() As Watt
-
-		''' <summary>
-		''' Alternators Generation Power At Crank Overrun  (W)
-		''' </summary>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		Function AlternatorsGenerationPowerAtCrankOverrunWatts() As Watt
-	End Interface
-End Namespace
-
-
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace Electrics
+	Public Interface IM5_SmartAlternatorSetGeneration
+	    Inherits IAbstractModule
+
+		''' <summary>
+		''' Alternators Generation Power At Crank Idle (W)
+		''' </summary>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function AlternatorsGenerationPowerAtCrankIdleWatts() As Watt
+
+		''' <summary>
+		''' Alternators Generation Power At Crank Traction On  (W)
+		''' </summary>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function AlternatorsGenerationPowerAtCrankTractionOnWatts() As Watt
+
+		''' <summary>
+		''' Alternators Generation Power At Crank Overrun  (W)
+		''' </summary>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		Function AlternatorsGenerationPowerAtCrankOverrunWatts() As Watt
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM6.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM6.vb
similarity index 96%
rename from VECTOAux/VectoAuxiliaries/DownstreamModules/IM6.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM6.vb
index 64c1aaa879..e6601a915d 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM6.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM6.vb
@@ -1,89 +1,91 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace DownstreamModules
-	Public Interface IM6
-		''' <summary>
-		''' OverrunFlag
-		''' </summary>
-		''' <value></value>
-		''' <returns>0 = Not in overrun, 1 = In Overrun</returns>
-		''' <remarks></remarks>
-		ReadOnly Property OverrunFlag As Boolean
-
-		''' <summary>
-		''' Smart Elec And Pneumatics Compressor Flag
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartElecAndPneumaticsCompressorFlag As Boolean
-
-		''' <summary>
-		''' Smart Elec And Pneumatic: Alternator Power Gen At Crank (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartElecAndPneumaticAltPowerGenAtCrank As Watt
-
-		''' <summary>
-		''' Smart Elec And Pneumatic: Air Compressor Power Gen At Crank (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartElecAndPneumaticAirCompPowerGenAtCrank As Watt
-
-		''' <summary>
-		''' Smart Electrics Only :  Alternator Power Gen At Crank (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartElecOnlyAltPowerGenAtCrank As Watt
-
-		''' <summary>
-		''' Average Power Demand At Crank From Pneumatics (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property AveragePowerDemandAtCrankFromPneumatics As Watt
-
-		''' <summary>
-		''' Smart Pneumatic Only Air Comp Power Gen At Crank (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartPneumaticOnlyAirCompPowerGenAtCrank As Watt
-
-		''' <summary>
-		''' Avgerage Power Demand At Crank From Electrics Including HVAC electrics (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property AvgPowerDemandAtCrankFromElectricsIncHVAC As Watt
-
-		''' <summary>
-		''' Smart Pneumatics Only CompressorFlag
-		''' </summary>
-		''' <value></value>
-		''' <returns>Less than Zero = No, Greater then Zero = Yes </returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartPneumaticsOnlyCompressorFlag As Boolean
-	End Interface
-End Namespace
-
-
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace DownstreamModules
+	Public Interface IM6
+	    Inherits IAbstractModule
+
+		''' <summary>
+		''' OverrunFlag
+		''' </summary>
+		''' <value></value>
+		''' <returns>0 = Not in overrun, 1 = In Overrun</returns>
+		''' <remarks></remarks>
+		ReadOnly Property OverrunFlag As Boolean
+
+		''' <summary>
+		''' Smart Elec And Pneumatics Compressor Flag
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartElecAndPneumaticsCompressorFlag As Boolean
+
+		''' <summary>
+		''' Smart Elec And Pneumatic: Alternator Power Gen At Crank (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartElecAndPneumaticAltPowerGenAtCrank As Watt
+
+		''' <summary>
+		''' Smart Elec And Pneumatic: Air Compressor Power Gen At Crank (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartElecAndPneumaticAirCompPowerGenAtCrank As Watt
+
+		''' <summary>
+		''' Smart Electrics Only :  Alternator Power Gen At Crank (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartElecOnlyAltPowerGenAtCrank As Watt
+
+		''' <summary>
+		''' Average Power Demand At Crank From Pneumatics (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property AveragePowerDemandAtCrankFromPneumatics As Watt
+
+		''' <summary>
+		''' Smart Pneumatic Only Air Comp Power Gen At Crank (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartPneumaticOnlyAirCompPowerGenAtCrank As Watt
+
+		''' <summary>
+		''' Avgerage Power Demand At Crank From Electrics Including HVAC electrics (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property AvgPowerDemandAtCrankFromElectricsIncHVAC As Watt
+
+		''' <summary>
+		''' Smart Pneumatics Only CompressorFlag
+		''' </summary>
+		''' <value></value>
+		''' <returns>Less than Zero = No, Greater then Zero = Yes </returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartPneumaticsOnlyCompressorFlag As Boolean
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM7.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM7.vb
similarity index 97%
rename from VECTOAux/VectoAuxiliaries/DownstreamModules/IM7.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM7.vb
index 688c1c4bec..c7e00bc2a4 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM7.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM7.vb
@@ -1,53 +1,55 @@
-' 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.
-
-Imports TUGraz.VectoCommon.Utils
-Imports VectoAuxiliaries.Electrics
-Imports VectoAuxiliaries.Pneumatics
-Imports VectoAuxiliaries.Hvac
-
-Namespace DownstreamModules
-	Public Interface IM7
-		''' <summary>
-		''' Smart Electrical And Pneumatic Aux: Alternator Power Gen At Crank (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartElectricalAndPneumaticAuxAltPowerGenAtCrank As Watt
-
-		''' <summary>
-		''' Smart Electrical And Pneumatic Aux : Air Compressor Power Gen At Crank (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartElectricalAndPneumaticAuxAirCompPowerGenAtCrank As Watt
-
-		''' <summary>
-		''' Smart Electrical Only Aux : Alternator Power Gen At Crank (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartElectricalOnlyAuxAltPowerGenAtCrank As Watt
-
-		''' <summary>
-		''' Smart Pneumatic Only Aux : Air Comppressor Power Gen At Crank (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartPneumaticOnlyAuxAirCompPowerGenAtCrank As Watt
-	End Interface
-End Namespace
-
-
+' 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.
+
+Imports TUGraz.VectoCommon.Utils
+Imports VectoAuxiliaries.Electrics
+Imports VectoAuxiliaries.Pneumatics
+Imports VectoAuxiliaries.Hvac
+
+Namespace DownstreamModules
+	Public Interface IM7
+	    Inherits IAbstractModule
+
+		''' <summary>
+		''' Smart Electrical And Pneumatic Aux: Alternator Power Gen At Crank (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartElectricalAndPneumaticAuxAltPowerGenAtCrank As Watt
+
+		''' <summary>
+		''' Smart Electrical And Pneumatic Aux : Air Compressor Power Gen At Crank (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartElectricalAndPneumaticAuxAirCompPowerGenAtCrank As Watt
+
+		''' <summary>
+		''' Smart Electrical Only Aux : Alternator Power Gen At Crank (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartElectricalOnlyAuxAltPowerGenAtCrank As Watt
+
+		''' <summary>
+		''' Smart Pneumatic Only Aux : Air Comppressor Power Gen At Crank (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartPneumaticOnlyAuxAirCompPowerGenAtCrank As Watt
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM8.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM8.vb
similarity index 96%
rename from VECTOAux/VectoAuxiliaries/DownstreamModules/IM8.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM8.vb
index 30da43ede9..3328f1002b 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM8.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM8.vb
@@ -1,47 +1,49 @@
-' 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.
-
-
-Imports TUGraz.VectoCommon.Utils
-Imports VectoAuxiliaries.Electrics
-Imports VectoAuxiliaries.Pneumatics
-Imports VectoAuxiliaries.Hvac
-
-Namespace DownstreamModules
-	Public Interface IM8
-'OUT1
-		''' <summary>
-		''' Aux Power At Crank From Electrical HVAC And Pneumatics Ancilaries (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property AuxPowerAtCrankFromElectricalHVACAndPneumaticsAncillaries As Watt
-'OUT2
-		''' <summary>
-		''' Smart Electrical Alternator Power Gen At Crank (W)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property SmartElectricalAlternatorPowerGenAtCrank As Watt
-'OUT3
-		''' <summary>
-		''' Compressor Flag
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property CompressorFlag As Boolean
-	End Interface
-End Namespace
-
-
+' 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.
+
+
+Imports TUGraz.VectoCommon.Utils
+Imports VectoAuxiliaries.Electrics
+Imports VectoAuxiliaries.Pneumatics
+Imports VectoAuxiliaries.Hvac
+
+Namespace DownstreamModules
+	Public Interface IM8
+	    Inherits IAbstractModule
+
+'OUT1
+		''' <summary>
+		''' Aux Power At Crank From Electrical HVAC And Pneumatics Ancilaries (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property AuxPowerAtCrankFromElectricalHVACAndPneumaticsAncillaries As Watt
+'OUT2
+		''' <summary>
+		''' Smart Electrical Alternator Power Gen At Crank (W)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property SmartElectricalAlternatorPowerGenAtCrank As Watt
+'OUT3
+		''' <summary>
+		''' Compressor Flag
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property CompressorFlag As Boolean
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM9.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM9.vb
similarity index 95%
rename from VECTOAux/VectoAuxiliaries/DownstreamModules/IM9.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM9.vb
index 9743dc4c1f..cc10d1bd7b 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM9.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/IM9.vb
@@ -1,68 +1,68 @@
-' 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.
-
-Imports TUGraz.VectoCommon.Utils
-Imports VectoAuxiliaries.Electrics
-Imports VectoAuxiliaries.Pneumatics
-Imports VectoAuxiliaries.Hvac
-
-Namespace DownstreamModules
-	Public Interface IM9
-		Inherits IAuxiliaryEvent
-
-		''' <summary>
-		''' Clears aggregated values ( Sets them to zero )
-		''' </summary>
-		''' <remarks></remarks>
-		Sub ClearAggregates()
-
-		''' <summary>
-		''' Increments all aggregated outputs
-		''' </summary>
-		''' <param name="stepTimeInSeconds">Single : Mutiplies the values to be aggregated by number of seconds</param>
-		''' <remarks></remarks>
-		Sub CycleStep(stepTimeInSeconds As Second)
-
-		''' <summary>
-		''' Litres Of Air: Compressor On Continually (L)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks>Start/Stop Sensitive</remarks>
-		ReadOnly Property LitresOfAirCompressorOnContinually As NormLiter
-
-		''' <summary>
-		''' Litres Of Air Compressor On Only In Overrun (L)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property LitresOfAirCompressorOnOnlyInOverrun As NormLiter
-
-		''' <summary>
-		''' Total Cycle Fuel Consumption Compressor *On* Continuously (G)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property TotalCycleFuelConsumptionCompressorOnContinuously As Kilogram
-
-		''' <summary>
-		''' Total Cycle Fuel Consumption Compressor *OFF* Continuously (G)
-		''' </summary>
-		''' <value></value>
-		''' <returns></returns>
-		''' <remarks></remarks>
-		ReadOnly Property TotalCycleFuelConsumptionCompressorOffContinuously As Kilogram
-	End Interface
-End Namespace
-
-
+' 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.
+
+Imports TUGraz.VectoCommon.Utils
+Imports VectoAuxiliaries.Electrics
+Imports VectoAuxiliaries.Pneumatics
+Imports VectoAuxiliaries.Hvac
+
+Namespace DownstreamModules
+	Public Interface IM9
+		Inherits IAuxiliaryEvent, IAbstractModule
+
+		''' <summary>
+		''' Clears aggregated values ( Sets them to zero )
+		''' </summary>
+		''' <remarks></remarks>
+		Sub ClearAggregates()
+
+		''' <summary>
+		''' Increments all aggregated outputs
+		''' </summary>
+		''' <param name="stepTimeInSeconds">Single : Mutiplies the values to be aggregated by number of seconds</param>
+		''' <remarks></remarks>
+		Sub CycleStep(stepTimeInSeconds As Second)
+
+		''' <summary>
+		''' Litres Of Air: Compressor On Continually (L)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks>Start/Stop Sensitive</remarks>
+		ReadOnly Property LitresOfAirCompressorOnContinually As NormLiter
+
+		''' <summary>
+		''' Litres Of Air Compressor On Only In Overrun (L)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property LitresOfAirCompressorOnOnlyInOverrun As NormLiter
+
+		''' <summary>
+		''' Total Cycle Fuel Consumption Compressor *On* Continuously (G)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property TotalCycleFuelConsumptionCompressorOnContinuously As Kilogram
+
+		''' <summary>
+		''' Total Cycle Fuel Consumption Compressor *OFF* Continuously (G)
+		''' </summary>
+		''' <value></value>
+		''' <returns></returns>
+		''' <remarks></remarks>
+		ReadOnly Property TotalCycleFuelConsumptionCompressorOffContinuously As Kilogram
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/ActuationsKey.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/ActuationsKey.vb
similarity index 96%
rename from VECTOAux/VectoAuxiliaries/Pneumatics/ActuationsKey.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/ActuationsKey.vb
index c943df8f22..25a1844be1 100644
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/ActuationsKey.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/ActuationsKey.vb
@@ -1,53 +1,53 @@
-' 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.
-
-Namespace Pneumatics
-	Public Class ActuationsKey
-		Private _consumerName As String
-		Private _cycleName As String
-
-'Properties
-		Public ReadOnly Property ConsumerName As String
-			Get
-				Return _consumerName
-			End Get
-		End Property
-
-		Public ReadOnly Property CycleName As String
-			Get
-				Return _cycleName
-			End Get
-		End Property
-
-'Constructor
-		Public Sub New(consumerName As String, cycleName As String)
-
-			If consumerName.Trim.Length = 0 Or cycleName.Trim.Length = 0 Then _
-				Throw New ArgumentException("ConsumerName and CycleName must be provided")
-			_consumerName = consumerName
-			_cycleName = cycleName
-		End Sub
-
-
-		'Overrides to enable this class to be used as a dictionary key in the ActuationsMap.
-		Public Overrides Function Equals(obj As Object) As Boolean
-
-			Dim other As ActuationsKey = CType(obj, ActuationsKey)
-
-			Return other.ConsumerName = Me.ConsumerName AndAlso other.CycleName = Me.CycleName
-		End Function
-
-		Public Overrides Function GetHashCode() As Integer
-			Return 0
-		End Function
-	End Class
-End Namespace
-
+' 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.
+
+Namespace Pneumatics
+	Public Class ActuationsKey
+		Private _consumerName As String
+		Private _cycleName As String
+
+'Properties
+		Public ReadOnly Property ConsumerName As String
+			Get
+				Return _consumerName
+			End Get
+		End Property
+
+		Public ReadOnly Property CycleName As String
+			Get
+				Return _cycleName
+			End Get
+		End Property
+
+'Constructor
+		Public Sub New(consumerName As String, cycleName As String)
+
+			If consumerName.Trim.Length = 0 Or cycleName.Trim.Length = 0 Then _
+				Throw New ArgumentException("ConsumerName and CycleName must be provided")
+			_consumerName = consumerName
+			_cycleName = cycleName
+		End Sub
+
+
+		'Overrides to enable this class to be used as a dictionary key in the ActuationsMap.
+		Public Overrides Function Equals(obj As Object) As Boolean
+
+			Dim other As ActuationsKey = CType(obj, ActuationsKey)
+
+			Return other.ConsumerName = Me.ConsumerName AndAlso other.CycleName = Me.CycleName
+		End Function
+
+		Public Overrides Function GetHashCode() As Integer
+			Return 0
+		End Function
+	End Class
+End Namespace
+
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/ICompressorMap.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/ICompressorMap.vb
similarity index 97%
rename from VECTOAux/VectoAuxiliaries/Pneumatics/ICompressorMap.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/ICompressorMap.vb
index ebb7b4de83..54a44ba6a2 100644
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/ICompressorMap.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/ICompressorMap.vb
@@ -1,50 +1,50 @@
-' 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.
-Imports TUGraz.VectoCommon.Utils
-
-Namespace Pneumatics
-	Public Interface ICompressorMap
-		Inherits IAuxiliaryEvent
-
-		''' <summary>
-		''' Initilaises the map from the supplied csv data
-		''' </summary>
-		''' <remarks></remarks>
-		Function Initialise() As Boolean
-
-		''' <summary>
-		''' Returns compressor flow rate at the given rotation speed
-		''' </summary>
-		''' <param name="rpm">compressor rotation speed</param>
-		''' <returns></returns>
-		''' <remarks>Single</remarks>
-		Function GetFlowRate(ByVal rpm As Double) As NormLiterPerSecond
-
-		''' <summary>
-		''' Returns mechanical power at rpm when compressor is on
-		''' </summary>
-		''' <param name="rpm">compressor rotation speed</param>
-		''' <returns></returns>
-		''' <remarks>Single</remarks>
-		Function GetPowerCompressorOn(ByVal rpm As Double) As Watt
-
-		''' <summary>
-		''' Returns mechanical power at rpm when compressor is off
-		''' </summary>
-		''' <param name="rpm">compressor rotation speed</param>
-		''' <returns></returns>
-		''' <remarks>Single</remarks>
-		Function GetPowerCompressorOff(ByVal rpm As Double) As Watt
-
-		'Returns Average Power Demand Per Compressor Unit FlowRate
-		Function GetAveragePowerDemandPerCompressorUnitFlowRate() As Double
-	End Interface
+' 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.
+Imports TUGraz.VectoCommon.Utils
+
+Namespace Pneumatics
+	Public Interface ICompressorMap
+		Inherits IAuxiliaryEvent
+
+		''' <summary>
+		''' Initilaises the map from the supplied csv data
+		''' </summary>
+		''' <remarks></remarks>
+		Function Initialise() As Boolean
+
+		''' <summary>
+		''' Returns compressor flow rate at the given rotation speed
+		''' </summary>
+		''' <param name="rpm">compressor rotation speed</param>
+		''' <returns></returns>
+		''' <remarks>Single</remarks>
+		Function GetFlowRate(ByVal rpm As Double) As NormLiterPerSecond
+
+		''' <summary>
+		''' Returns mechanical power at rpm when compressor is on
+		''' </summary>
+		''' <param name="rpm">compressor rotation speed</param>
+		''' <returns></returns>
+		''' <remarks>Single</remarks>
+		Function GetPowerCompressorOn(ByVal rpm As Double) As Watt
+
+		''' <summary>
+		''' Returns mechanical power at rpm when compressor is off
+		''' </summary>
+		''' <param name="rpm">compressor rotation speed</param>
+		''' <returns></returns>
+		''' <remarks>Single</remarks>
+		Function GetPowerCompressorOff(ByVal rpm As Double) As Watt
+
+		'Returns Average Power Demand Per Compressor Unit FlowRate
+		Function GetAveragePowerDemandPerCompressorUnitFlowRate() As Double
+	End Interface
 End Namespace
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticActuationsMAP.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.vb
similarity index 97%
rename from VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticActuationsMAP.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.vb
index cf0dcfea4c..a70dc531c3 100644
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticActuationsMAP.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.vb
@@ -1,21 +1,21 @@
-' 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.
-
-
-Namespace Pneumatics
-	Public Interface IPneumaticActuationsMAP
-		Function GetNumActuations(key As ActuationsKey) As Integer
-
-		Function Initialise() As Boolean
-	End Interface
-End Namespace
-
-
+' 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.
+
+
+Namespace Pneumatics
+	Public Interface IPneumaticActuationsMAP
+		Function GetNumActuations(key As ActuationsKey) As Integer
+
+		Function Initialise() As Boolean
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticUserInputsConfig.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/IPneumaticUserInputsConfig.vb
similarity index 97%
rename from VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticUserInputsConfig.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/IPneumaticUserInputsConfig.vb
index 1cd6931fc9..9b483698dc 100644
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticUserInputsConfig.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/IPneumaticUserInputsConfig.vb
@@ -1,29 +1,29 @@
-' 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.
-
-
-Namespace Pneumatics
-	Public Interface IPneumaticUserInputsConfig
-		Property CompressorMap As String
-		Property CompressorGearEfficiency As Double
-		Property CompressorGearRatio As Double
-		Property ActuationsMap As String
-		Property SmartAirCompression As Boolean
-		Property SmartRegeneration As Boolean
-		Property RetarderBrake As Boolean
-		Property KneelingHeightMillimeters As Double
-		Property AirSuspensionControl As String 'mechanical or electrical
-		Property AdBlueDosing As String 'pnmeumatic or electric
-		Property Doors As String 'pneumatic or electric
-	End Interface
-End Namespace
-
-
+' 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.
+
+
+Namespace Pneumatics
+	Public Interface IPneumaticUserInputsConfig
+		Property CompressorMap As String
+		Property CompressorGearEfficiency As Double
+		Property CompressorGearRatio As Double
+		Property ActuationsMap As String
+		Property SmartAirCompression As Boolean
+		Property SmartRegeneration As Boolean
+		Property RetarderBrake As Boolean
+		Property KneelingHeightMillimeters As Double
+		Property AirSuspensionControl As String 'mechanical or electrical
+		Property AdBlueDosing As String 'pnmeumatic or electric
+		Property Doors As String 'pneumatic or electric
+	End Interface
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticsAuxilliariesConfig.vb b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/IPneumaticsAuxilliariesConfig.vb
similarity index 97%
rename from VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticsAuxilliariesConfig.vb
rename to VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/IPneumaticsAuxilliariesConfig.vb
index 421f7c2c81..02d7ea34bf 100644
--- a/VECTOAux/VectoAuxiliaries/Pneumatics/IPneumaticsAuxilliariesConfig.vb
+++ b/VectoCommon/AdvancedAuxiliaryInterfaces/DownstreamModules/PneumaticSystem/IPneumaticsAuxilliariesConfig.vb
@@ -1,25 +1,25 @@
-' 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.
-
-Public Interface IPneumaticsAuxilliariesConfig
-	Property OverrunUtilisationForCompressionFraction As Double
-	Property BrakingWithRetarderNIperKG As Double
-	Property BrakingNoRetarderNIperKG As Double
-	Property BreakingPerKneelingNIperKGinMM As Double
-	Property PerDoorOpeningNI As Double
-	Property PerStopBrakeActuationNIperKG As Double
-	Property AirControlledSuspensionNIperMinute As Double
-	Property AdBlueNIperMinute As Double
-	Property NonSmartRegenFractionTotalAirDemand As Double
-	Property SmartRegenFractionTotalAirDemand As Double
-	Property DeadVolumeLitres As Double
-	Property DeadVolBlowOutsPerLitresperHour As Double
-End Interface
+' 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.
+
+Public Interface IPneumaticsAuxilliariesConfig
+	Property OverrunUtilisationForCompressionFraction As Double
+	Property BrakingWithRetarderNIperKG As Double
+	Property BrakingNoRetarderNIperKG As Double
+	Property BreakingPerKneelingNIperKGinMM As Double
+	Property PerDoorOpeningNI As Double
+	Property PerStopBrakeActuationNIperKG As Double
+	Property AirControlledSuspensionNIperMinute As Double
+	Property AdBlueNIperMinute As Double
+	Property NonSmartRegenFractionTotalAirDemand As Double
+	Property SmartRegenFractionTotalAirDemand As Double
+	Property DeadVolumeLitres As Double
+	Property DeadVolBlowOutsPerLitresperHour As Double
+End Interface
-- 
GitLab