diff --git a/Documentation/User Manual Source/Release Notes Vecto3.x.pdf b/Documentation/User Manual Source/Release Notes Vecto3.x.pdf
index be00fded3b1e88b12abbadce147b6ee71bb826da..155e33f940f2441d66c4db0a818248e8cc36a3b0 100644
Binary files a/Documentation/User Manual Source/Release Notes Vecto3.x.pdf and b/Documentation/User Manual Source/Release Notes Vecto3.x.pdf differ
diff --git a/Documentation/User Manual Source/Release Notes Vecto3.x.pptx b/Documentation/User Manual Source/Release Notes Vecto3.x.pptx
index f952d73da22375046ed4a5e8776560b81da11e6d..b9d8d30cc7f5f70c508327f13a6939b8123530c5 100644
Binary files a/Documentation/User Manual Source/Release Notes Vecto3.x.pptx and b/Documentation/User Manual Source/Release Notes Vecto3.x.pptx differ
diff --git a/Documentation/User Manual/5-input-and-output-files/VMOD.md b/Documentation/User Manual/5-input-and-output-files/VMOD.md
index d809c26143af9f14920da3084a7b31c29089e95b..91c889eaec19dddbbcd2f9320b7400ddf01c1bb6 100644
--- a/Documentation/User Manual/5-input-and-output-files/VMOD.md	
+++ b/Documentation/User Manual/5-input-and-output-files/VMOD.md	
@@ -88,7 +88,22 @@ In Vecto 3.0.2 the structure of the modal data output has been revised and re-st
 | P_air				|	[kW]	|	Power loss due to air drag |
 | P_roll			|	[kW]	|	Rolling resistance power loss |
 | P_veh_inertia		|	[kW]	|	Power loss due to the vehicle's inertia |
+| AA_NonSmartAlternatorsEfficiency     | [Fraction]  | Non-Smart Alternators Efficiency, Advance Auxiliaries Module |
+| AA_SmartIdleCurrent_Amps             | [Amps]      | Smart Idle Current in Amps, Advance Auxiliaries Module |
+| AA_SmartIdleAlternatorsEfficiency    | [Fraction]  | Smart Idle Alternators Efficiency, Advance Auxiliaries Module |
+| AA_SmartTractionCurrent_Amps         | [Amps]      | Smart Traction Current in Amps, Advance Auxiliaries Module |
+| AA_SmartTractionAlternatorEfficiency | [Fraction]  | Smart Traction Alternator Efficiency, Advance Auxiliaries Module |
+| AA_SmartOverrunCurrent_Amps          | [Amps]      | Smart Overrun Current in Amps, Advance Auxiliaries Module |
+| AA_SmartOverrunAlternatorEfficiency  | [Fraction]  | Smart Overrun Alternator Efficiency, Advance Auxiliaries Module  |
+| AA_CompressorFlowRate_LitrePerSec    | [Ni L/S]    | Compressor Flow Rate in litres per second, Advance Auxiliaries Module |
+| AA_OverrunFlag                       | [Bool [0/1] | Overrun Flag (yes/no), Advance Auxiliaries Module |
+| AA_EngineIdleFlag                    | [Bool [0/1] | Engine Idle Flag (yes/no), Advance Auxiliaries Module |
+| AA_CompressorFlag                    | [Bool [0/1] | Compressor Flag (off/on), Advance Auxiliaries Module |
+| AA_TotalCycleFC_Grams                | [Grams]     | Total Cycle Fuel Consumption in grams, Advance Auxiliaries Module |
+| AA_TotalCycleFC_Litres               | [Litres]    | Total Cycle Fuel Consumption in litres, Advance Auxiliaries Module |
 | FC-Map			|	[g/h]	|	Fuel consumption interpolated from FC map. |
 | FC-AUXc			|	[g/h]	|	Fuel consumption after [Auxiliary-Start/Stop Correction](#fuel-consumption-calculation) (based on FC) |
 | FC-WHTCc			|	[g/h]	|	Fuel consumption after [WHTC Correction](#fuel-consumption-calculation) (based on FC-AUXc) |
+| FC-AAUX			|	[g/h]	|	Fuel consumption computed by the AAUX module considering smart auxiliaries |
+| FC-Final			|	[g/h]	|	Final fuel consumption value after all applicable corrections |
 </div>
diff --git a/Documentation/User Manual/6-changelog/changelog.md b/Documentation/User Manual/6-changelog/changelog.md
index b5a94cfd8fdc4f7550a4f755602a2b2f313dff7b..dd0e2e4a7d34a2ca1675bf4541c56c9533bb1044 100644
--- a/Documentation/User Manual/6-changelog/changelog.md	
+++ b/Documentation/User Manual/6-changelog/changelog.md	
@@ -1,5 +1,34 @@
 #Changelog
 
+**VECTO 3.0.3**
+
+***Build 537 (2016-06-21)***
+
+- Main Updates
+    + Support for Advanced Auxiliaries (Ricardo) in Vecto 3.0.3 and Vecto 2.2
+    + Performance improvements
+    + Gearshift polygons according to WB 2016
+    + Revision of SUM-data file, changed order of columns, changed column headers
+- Bugfixes
+    + Delaunay Maps: additional check for duplicate input points
+    + Creation of PDF Report when running multiple jobs at once
+    + Sanity checks for gear shift lines
+    + Improvements DriverStrategy: handling special cases
+
+***Build 495 (2016-05-10)***
+
+- Main Updates
+    + Support for Advanced Auxiliaries (Ricardo) in Vecto 3.0.3 and Vecto 2.2
+    + Performance improvements
+    + Gearshift polygons according to WB 2016
+    + Revision of SUM-data file, changed order of columns, changed column headers
+- Bugfixes
+    + Delaunay Maps: additional check for duplicate input points
+    + Creation of PDF Report when running multiple jobs at once
+    + Sanity checks for gear shift lines
+    + Improvements DriverStrategy: handling special cases
+
+
 
 **VECTO 3.0.2**
 
diff --git a/Documentation/User Manual/help.html b/Documentation/User Manual/help.html
index 2d093657c2d950c7b8d952eb05487cfa09f96b50..a21705e91aa7c7f195c8e85c44c0620f43fd435a 100644
--- a/Documentation/User Manual/help.html	
+++ b/Documentation/User Manual/help.html	
@@ -5582,6 +5582,41 @@ Kneeling, UnknownCycleName, 0,</code></pre>
 </div>
 <div id="changelog" class="section level1">
 <h1>Changelog</h1>
+<p><strong>VECTO 3.0.3</strong></p>
+<p><strong><em>Build 537 (2016-06-21)</em></strong></p>
+<ul>
+<li>Main Updates
+<ul>
+<li>Support for Advanced Auxiliaries (Ricardo) in Vecto 3.0.3 and Vecto 2.2</li>
+<li>Performance improvements</li>
+<li>Gearshift polygons according to WB 2016</li>
+<li>Revision of SUM-data file, changed order of columns, changed column headers</li>
+</ul></li>
+<li>Bugfixes
+<ul>
+<li>Delaunay Maps: additional check for duplicate input points</li>
+<li>Creation of PDF Report when running multiple jobs at once</li>
+<li>Sanity checks for gear shift lines</li>
+<li>Improvements DriverStrategy: handling special cases</li>
+</ul></li>
+</ul>
+<p><strong><em>Build 495 (2016-05-10)</em></strong></p>
+<ul>
+<li>Main Updates
+<ul>
+<li>Support for Advanced Auxiliaries (Ricardo) in Vecto 3.0.3 and Vecto 2.2</li>
+<li>Performance improvements</li>
+<li>Gearshift polygons according to WB 2016</li>
+<li>Revision of SUM-data file, changed order of columns, changed column headers</li>
+</ul></li>
+<li>Bugfixes
+<ul>
+<li>Delaunay Maps: additional check for duplicate input points</li>
+<li>Creation of PDF Report when running multiple jobs at once</li>
+<li>Sanity checks for gear shift lines</li>
+<li>Improvements DriverStrategy: handling special cases</li>
+</ul></li>
+</ul>
 <p><strong>VECTO 3.0.2</strong></p>
 <p><strong><em>Build 434 (2016-03-10)</em></strong></p>
 <ul>
diff --git a/Generic Vehicles/AAUXData/testPneumaticActuationsMap.APAC b/Generic Vehicles/AAUXData/testPneumaticActuationsMap.APAC
index 72260c908ce1c446de6506b3be902533d2aa43b8..dd5dd6987aa47981d3949c8d7f7d59f4931c72bd 100644
--- a/Generic Vehicles/AAUXData/testPneumaticActuationsMap.APAC	
+++ b/Generic Vehicles/AAUXData/testPneumaticActuationsMap.APAC	
@@ -16,4 +16,10 @@ Kneeling,Urban,25
 Kneeling,Suburban,6
 Kneeling,Interurban,0
 Kneeling,Coach,0
-Kneeling,UnknownCycleName,0
\ No newline at end of file
+Kneeling,UnknownCycleName,0
+CycleTime,Heavy urban,8912
+CycleTime,Urban,8149
+CycleTime,Suburban,3283
+CycleTime,Interurban,12962
+CycleTime,Coach,15086
+CycleTime,UnknownCycleName,3600
\ No newline at end of file
diff --git a/Generic Vehicles/AAUXTestVehicles/24t Coach/ZeroPneumaticActuationsMap.APAC b/Generic Vehicles/AAUXTestVehicles/24t Coach/ZeroPneumaticActuationsMap.APAC
index 92fec05fc571c52711345722e2d958ba7570ccb5..bc0b822d07fabae88c6045dcd3ab1ba24a62179d 100644
--- a/Generic Vehicles/AAUXTestVehicles/24t Coach/ZeroPneumaticActuationsMap.APAC	
+++ b/Generic Vehicles/AAUXTestVehicles/24t Coach/ZeroPneumaticActuationsMap.APAC	
@@ -16,4 +16,10 @@ Kneeling,Urban,0
 Kneeling,Suburban,0
 Kneeling,Interurban,0
 Kneeling,Coach,0
-Kneeling,UnknownCycleName,0
\ No newline at end of file
+Kneeling,UnknownCycleName,0
+CycleTime,Heavy urban,8912
+CycleTime,Urban,8149
+CycleTime,Suburban,3283
+CycleTime,Interurban,12962
+CycleTime,Coach,15086
+CycleTime,UnknownCycleName,3600
\ No newline at end of file
diff --git a/Generic Vehicles/AAUXTestVehicles/24t Coach/testPneumaticActuationsMap.APAC b/Generic Vehicles/AAUXTestVehicles/24t Coach/testPneumaticActuationsMap.APAC
index 72260c908ce1c446de6506b3be902533d2aa43b8..dd5dd6987aa47981d3949c8d7f7d59f4931c72bd 100644
--- a/Generic Vehicles/AAUXTestVehicles/24t Coach/testPneumaticActuationsMap.APAC	
+++ b/Generic Vehicles/AAUXTestVehicles/24t Coach/testPneumaticActuationsMap.APAC	
@@ -16,4 +16,10 @@ Kneeling,Urban,25
 Kneeling,Suburban,6
 Kneeling,Interurban,0
 Kneeling,Coach,0
-Kneeling,UnknownCycleName,0
\ No newline at end of file
+Kneeling,UnknownCycleName,0
+CycleTime,Heavy urban,8912
+CycleTime,Urban,8149
+CycleTime,Suburban,3283
+CycleTime,Interurban,12962
+CycleTime,Coach,15086
+CycleTime,UnknownCycleName,3600
\ No newline at end of file
diff --git a/Generic Vehicles/Declaration Mode/12t Delivery Truck/testPneumaticActuationsMap.APAC b/Generic Vehicles/Declaration Mode/12t Delivery Truck/testPneumaticActuationsMap.APAC
index 72260c908ce1c446de6506b3be902533d2aa43b8..dd5dd6987aa47981d3949c8d7f7d59f4931c72bd 100644
--- a/Generic Vehicles/Declaration Mode/12t Delivery Truck/testPneumaticActuationsMap.APAC	
+++ b/Generic Vehicles/Declaration Mode/12t Delivery Truck/testPneumaticActuationsMap.APAC	
@@ -16,4 +16,10 @@ Kneeling,Urban,25
 Kneeling,Suburban,6
 Kneeling,Interurban,0
 Kneeling,Coach,0
-Kneeling,UnknownCycleName,0
\ No newline at end of file
+Kneeling,UnknownCycleName,0
+CycleTime,Heavy urban,8912
+CycleTime,Urban,8149
+CycleTime,Suburban,3283
+CycleTime,Interurban,12962
+CycleTime,Coach,15086
+CycleTime,UnknownCycleName,3600
\ No newline at end of file
diff --git a/Generic Vehicles/Declaration Mode/40t Long Haul Truck/testPneumaticActuationsMap.APAC b/Generic Vehicles/Declaration Mode/40t Long Haul Truck/testPneumaticActuationsMap.APAC
index 72260c908ce1c446de6506b3be902533d2aa43b8..dd5dd6987aa47981d3949c8d7f7d59f4931c72bd 100644
--- a/Generic Vehicles/Declaration Mode/40t Long Haul Truck/testPneumaticActuationsMap.APAC	
+++ b/Generic Vehicles/Declaration Mode/40t Long Haul Truck/testPneumaticActuationsMap.APAC	
@@ -16,4 +16,10 @@ Kneeling,Urban,25
 Kneeling,Suburban,6
 Kneeling,Interurban,0
 Kneeling,Coach,0
-Kneeling,UnknownCycleName,0
\ No newline at end of file
+Kneeling,UnknownCycleName,0
+CycleTime,Heavy urban,8912
+CycleTime,Urban,8149
+CycleTime,Suburban,3283
+CycleTime,Interurban,12962
+CycleTime,Coach,15086
+CycleTime,UnknownCycleName,3600
\ No newline at end of file
diff --git a/Generic Vehicles/Engineering Mode/12t Delivery Truck/12t Delivery Truck.vecto b/Generic Vehicles/Engineering Mode/12t Delivery Truck/12t Delivery Truck.vecto
index 72969c4dc9d99efeaae341111c35f94f4eaa1e5f..b224aa96f275596e924f02e750ee4777faa191ac 100644
--- a/Generic Vehicles/Engineering Mode/12t Delivery Truck/12t Delivery Truck.vecto	
+++ b/Generic Vehicles/Engineering Mode/12t Delivery Truck/12t Delivery Truck.vecto	
@@ -1,7 +1,7 @@
 {
   "Header": {
     "CreatedBy": " ()",
-    "Date": "17.06.2016 08:12:45",
+    "Date": "6/20/2016 1:49:38 PM",
     "AppVersion": "2.2",
     "FileVersion": 2
   },
diff --git a/Generic Vehicles/Engineering Mode/12t Delivery Truck/12t Delivery Truck.vgbx b/Generic Vehicles/Engineering Mode/12t Delivery Truck/12t Delivery Truck.vgbx
index 19b10889a85b6f2ac68bacc0b96d5578ba427c9c..00db114f11d1e5f5414a0ec36d2f0333f0b487f7 100644
--- a/Generic Vehicles/Engineering Mode/12t Delivery Truck/12t Delivery Truck.vgbx	
+++ b/Generic Vehicles/Engineering Mode/12t Delivery Truck/12t Delivery Truck.vgbx	
@@ -1,7 +1,7 @@
 {
   "Header": {
     "CreatedBy": " ()",
-    "Date": "17.06.2016 08:12:24",
+    "Date": "6/20/2016 1:49:34 PM",
     "AppVersion": "2.2",
     "FileVersion": 5
   },
@@ -19,42 +19,42 @@
         "Ratio": 6.75,
         "LossMap": "Indirect Gear.vtlm",
         "TCactive": false,
-        "ShiftPolygon": "ShiftPolygons.vgbs",
+        "ShiftPolygon": "<NOFILE>",
         "FullLoadCurve": "<NOFILE>"
       },
       {
         "Ratio": 3.6,
         "LossMap": "Indirect Gear.vtlm",
         "TCactive": false,
-        "ShiftPolygon": "ShiftPolygons.vgbs",
+        "ShiftPolygon": "<NOFILE>",
         "FullLoadCurve": "<NOFILE>"
       },
       {
         "Ratio": 2.13,
         "LossMap": "Indirect Gear.vtlm",
         "TCactive": false,
-        "ShiftPolygon": "ShiftPolygons.vgbs",
+        "ShiftPolygon": "<NOFILE>",
         "FullLoadCurve": "<NOFILE>"
       },
       {
         "Ratio": 1.39,
         "LossMap": "Indirect Gear.vtlm",
         "TCactive": false,
-        "ShiftPolygon": "ShiftPolygons.vgbs",
+        "ShiftPolygon": "<NOFILE>",
         "FullLoadCurve": "<NOFILE>"
       },
       {
         "Ratio": 1.0,
         "LossMap": "Direct Gear.vtlm",
         "TCactive": false,
-        "ShiftPolygon": "ShiftPolygons.vgbs",
+        "ShiftPolygon": "<NOFILE>",
         "FullLoadCurve": "<NOFILE>"
       },
       {
         "Ratio": 0.78,
         "LossMap": "Indirect Gear.vtlm",
         "TCactive": false,
-        "ShiftPolygon": "ShiftPolygons.vgbs",
+        "ShiftPolygon": "<NOFILE>",
         "FullLoadCurve": "<NOFILE>"
       }
     ],
diff --git a/Generic Vehicles/Engineering Mode/12t Delivery Truck/testPneumaticActuationsMap.APAC b/Generic Vehicles/Engineering Mode/12t Delivery Truck/testPneumaticActuationsMap.APAC
index 72260c908ce1c446de6506b3be902533d2aa43b8..dd5dd6987aa47981d3949c8d7f7d59f4931c72bd 100644
--- a/Generic Vehicles/Engineering Mode/12t Delivery Truck/testPneumaticActuationsMap.APAC	
+++ b/Generic Vehicles/Engineering Mode/12t Delivery Truck/testPneumaticActuationsMap.APAC	
@@ -16,4 +16,10 @@ Kneeling,Urban,25
 Kneeling,Suburban,6
 Kneeling,Interurban,0
 Kneeling,Coach,0
-Kneeling,UnknownCycleName,0
\ No newline at end of file
+Kneeling,UnknownCycleName,0
+CycleTime,Heavy urban,8912
+CycleTime,Urban,8149
+CycleTime,Suburban,3283
+CycleTime,Interurban,12962
+CycleTime,Coach,15086
+CycleTime,UnknownCycleName,3600
\ No newline at end of file
diff --git a/Generic Vehicles/Engineering Mode/24t Coach/testPneumaticActuationsMap.APAC b/Generic Vehicles/Engineering Mode/24t Coach/testPneumaticActuationsMap.APAC
index 72260c908ce1c446de6506b3be902533d2aa43b8..dd5dd6987aa47981d3949c8d7f7d59f4931c72bd 100644
--- a/Generic Vehicles/Engineering Mode/24t Coach/testPneumaticActuationsMap.APAC	
+++ b/Generic Vehicles/Engineering Mode/24t Coach/testPneumaticActuationsMap.APAC	
@@ -16,4 +16,10 @@ Kneeling,Urban,25
 Kneeling,Suburban,6
 Kneeling,Interurban,0
 Kneeling,Coach,0
-Kneeling,UnknownCycleName,0
\ No newline at end of file
+Kneeling,UnknownCycleName,0
+CycleTime,Heavy urban,8912
+CycleTime,Urban,8149
+CycleTime,Suburban,3283
+CycleTime,Interurban,12962
+CycleTime,Coach,15086
+CycleTime,UnknownCycleName,3600
\ No newline at end of file
diff --git a/VECTO/GUI/F_GBX.vb b/VECTO/GUI/F_GBX.vb
index c2c088eba502f68d4b49e15bba7ec1dddd8776f9..b9344b6e4b99887995ec3691989e55f7a795f843 100644
--- a/VECTO/GUI/F_GBX.vb
+++ b/VECTO/GUI/F_GBX.vb
@@ -9,6 +9,17 @@
 '
 ' See the LICENSE.txt for the specific language governing permissions and limitations.
 Imports System.Collections.Generic
+Imports System.Globalization
+Imports System.Linq
+Imports TUGraz.VectoCommon.InputData
+Imports TUGraz.VectoCommon.Utils
+Imports TUGraz.VectoCore.Configuration
+Imports TUGraz.VectoCore.InputData.Impl
+Imports TUGraz.VectoCore.InputData.Reader.DataObjectAdaper
+Imports TUGraz.VectoCore.Models.Declaration
+Imports TUGraz.VectoCore.Models.SimulationComponent.Data
+Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Engine
+Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox
 
 ''' <summary>
 ''' Gearbox Editor
@@ -206,7 +217,7 @@ Public Class F_GBX
 					Me.Close()
 					F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked
 					F_MAINForm.OpenVectoFile(file)
-				Case - 1
+				Case -1
 					Exit Sub
 				Case Else '0
 					'Continue...
@@ -789,8 +800,13 @@ Public Class F_GBX
 			MyChart.Series.Add(s)
 		End If
 
+		Dim vectoJob As cVECTO = New cVECTO() With {.FilePath = F_VECTO.VECTOfile}
+		Dim vectoOk As Boolean = vectoJob.ReadFile()
+		Dim vehicle As cVEH = New cVEH() With {.FilePath = vectoJob.PathVEH(False)}
+		Dim vehicleOk As Boolean = vehicle.ReadFile(False)
+
 		'Fld
-		If fldOK Then
+		If fldOK AndAlso vectoOk AndAlso vehicleOk Then
 
 			s = New System.Windows.Forms.DataVisualization.Charting.Series
 			s.Points.DataBindXY(FLD0.LnU, FLD0.LTq)
@@ -805,9 +821,20 @@ Public Class F_GBX
 
 					Shiftpoly = New cGBX.cShiftPolygon("", 0)
 					Shiftpoly.SetGenericShiftPoly(FLD0, F_VECTO.n_idle)
+					'Dim fullLoadCurve As FullLoadCurve = ConvertToFullLoadCurve(FLD0.LnU, FLD0.LTq)
+					Dim gears As IList(Of ITransmissionInputData) = ConvertToGears(LvGears.Items)
+					Dim engine As CombustionEngineData = ConvertToEngineData(FLD0, F_VECTO.n_idle)
+					Dim shiftLines As ShiftPolygon = DeclarationData.Gearbox.ComputeShiftPolygon(Gear - 1, engine.FullLoadCurve, gears,
+																								engine,
+																								Double.Parse(LvGears.Items(0).SubItems(2).Text, CultureInfo.InvariantCulture),
+																								(vehicle.rdyn / 1000.0).SI(Of Meter))
 
 					s = New System.Windows.Forms.DataVisualization.Charting.Series
-					s.Points.DataBindXY(Shiftpoly.gs_nUup, Shiftpoly.gs_TqUp)
+
+					's.Points.DataBindXY(Shiftpoly.gs_nUup, Shiftpoly.gs_TqUp)
+					s.Points.DataBindXY(
+						shiftLines.Upshift.Select(Function(pt) pt.AngularSpeed.Value() / Constants.RPMToRad).ToList(),
+						shiftLines.Upshift.Select(Function(pt) pt.Torque.Value()).ToList())
 					s.ChartType = DataVisualization.Charting.SeriesChartType.FastLine
 					s.BorderWidth = 2
 					s.Color = Color.DarkRed
@@ -816,7 +843,10 @@ Public Class F_GBX
 					MyChart.Series.Add(s)
 
 					s = New System.Windows.Forms.DataVisualization.Charting.Series
-					s.Points.DataBindXY(Shiftpoly.gs_nUdown, Shiftpoly.gs_TqDown)
+					's.Points.DataBindXY(Shiftpoly.gs_nUdown, Shiftpoly.gs_TqDown)
+					s.Points.DataBindXY(
+						shiftLines.Downshift.Select(Function(pt) pt.AngularSpeed.Value() / Constants.RPMToRad).ToList(),
+						shiftLines.Downshift.Select(Function(pt) pt.Torque.Value()).ToList())
 					s.ChartType = DataVisualization.Charting.SeriesChartType.FastLine
 					s.BorderWidth = 2
 					s.Color = Color.DarkRed
@@ -863,6 +893,38 @@ Public Class F_GBX
 		Me.PicBox.Image = img
 	End Sub
 
+	Private Function ConvertToEngineData(fld As cFLD, nIdle As Single) As CombustionEngineData
+
+		Dim retVal As CombustionEngineData = New CombustionEngineData()
+		retVal.FullLoadCurve = New EngineFullLoadCurve()
+		retVal.FullLoadCurve.FullLoadEntries = New List(Of FullLoadCurve.FullLoadCurveEntry)
+		For i As Integer = 0 To fld.LnU.Count - 1
+			retVal.FullLoadCurve.FullLoadEntries.Add(
+				New FullLoadCurve.FullLoadCurveEntry() _
+														With {.EngineSpeed = CType(fld.LnU(i), Double).RPMtoRad(),
+														.TorqueFullLoad = CType(fld.LTq(i), Double).SI(Of NewtonMeter)(),
+														.TorqueDrag = CType(fld.LTqDrag(i), Double).SI(Of NewtonMeter)()})
+		Next
+
+		retVal.IdleSpeed = CType(nIdle, Double).RPMtoRad()
+		Return retVal
+	End Function
+
+	Private Function ConvertToGears(gbx As ListView.ListViewItemCollection) As IList(Of ITransmissionInputData)
+		Dim retVal As List(Of ITransmissionInputData) = New List(Of ITransmissionInputData)
+		Dim value As Double
+
+		For i As Integer = 1 To gbx.Count - 1
+			If gbx(i).SubItems(2).Text <> "" AndAlso Double.TryParse(gbx(i).SubItems(2).Text, value) Then
+				retVal.Add(
+					New TransmissionInputData() _
+							With {.Ratio = Double.Parse(value, CultureInfo.InvariantCulture)})
+
+			End If
+		Next
+		Return retVal
+	End Function
+
 
 #Region "Torque Converter"
 
diff --git a/VECTO/GUI/F_VECTO.vb b/VECTO/GUI/F_VECTO.vb
index 7a92192834e62daca80c0e55e484f1d0f48c2632..1b9d055c1d7a649e83d8e2c58516aff5a24f3d5f 100644
--- a/VECTO/GUI/F_VECTO.vb
+++ b/VECTO/GUI/F_VECTO.vb
@@ -18,7 +18,7 @@ Imports VectoAuxiliaries
 ''' </summary>
 ''' <remarks></remarks>
 Public Class F_VECTO
-	Private VECTOfile As String
+	Public VECTOfile As String
 	Private Changed As Boolean = False
 
 	Private pgDriver As TabPage
@@ -1253,7 +1253,7 @@ lbDlog:
 							s.BorderWidth = 2
 							s.Color = Color.DarkRed
 							s.Name = "Upshift curve"
-							MyChart.Series.Add(s)
+							' MyChart.Series.Add(s) 'MQ 2016-06-20: do not plot shift lines in engine dialog
 
 							s = New System.Windows.Forms.DataVisualization.Charting.Series
 							s.Points.DataBindXY(ldown, lM)
@@ -1261,7 +1261,7 @@ lbDlog:
 							s.BorderWidth = 2
 							s.Color = Color.DarkRed
 							s.Name = "Downshift curve"
-							MyChart.Series.Add(s)
+							'MyChart.Series.Add(s) 'MQ 2016-06-20:do not plot shift lines in engine dialog
 
 							OkCount += 1
 
diff --git a/VECTO/VECTO.vbproj b/VECTO/VECTO.vbproj
index 0882913402ef443cb1ef5bd2b0d9be800b56cd3c..abddd8eca87c83cea8d383bf174a77f48b22ce79 100644
--- a/VECTO/VECTO.vbproj
+++ b/VECTO/VECTO.vbproj
@@ -131,6 +131,7 @@
     <Reference Include="System" />
     <Reference Include="System.Data" />
     <Reference Include="System.Deployment" />
+    <Reference Include="System.Design" />
     <Reference Include="System.Drawing" />
     <Reference Include="System.Management" />
     <Reference Include="System.Runtime.Remoting" />
diff --git a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
index 1760a7744515ed1ea378713aa4469c48674e3e6d..55728cb9f1864219f8c9e1e7443d6962a5ec4192 100644
--- a/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
+++ b/VECTOAux/VectoAuxiliaries/AdvancedAuxiliaries.vb
@@ -9,6 +9,7 @@
 '
 ' See the LICENSE.txt for the specific language governing permissions and limitations.
 
+Imports System.Runtime.CompilerServices
 Imports VectoAuxiliaries
 Imports VectoAuxiliaries.Electrics
 Imports VectoAuxiliaries.Pneumatics
@@ -22,10 +23,12 @@ Imports System.Windows.Forms
 ''' This class represents slide number 17 titled Calculations of Cycle FC accounting for Smart Auxiliaries.
 ''' </summary>
 ''' <remarks></remarks>
+<Assembly: InternalsVisibleTo("VectoCore")> 
+
 Public Class AdvancedAuxiliaries
 	Implements IAdvancedAuxiliaries
 
-	Private auxConfig As AuxiliaryConfig
+	Protected Friend auxConfig As AuxiliaryConfig
 
 	'Supporting classes which may generate event messages
 	Private WithEvents compressorMap As ICompressorMap
@@ -34,7 +37,7 @@ Public Class AdvancedAuxiliaries
 	Private WithEvents ssmToolModule14 As SSMTOOL
 
 	Private WithEvents alternatorMap As IAlternatorMap
-	Private WithEvents actuationsMap As IPneumaticActuationsMAP
+	Protected Friend WithEvents actuationsMap As IPneumaticActuationsMAP
 	Private fuelMap As IFuelConsumptionMap
 
 	'Classes which compose the model.
@@ -61,7 +64,7 @@ Public Class AdvancedAuxiliaries
 
 	'Event Handler top level bubble.
 	Public Sub VectoEventHandler(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) _
-		Handles CompressorMap.AuxiliaryEvent, AlternatorMap.AuxiliaryEvent, SSMTOOL.Message, ssmToolModule14.Message
+		Handles compressorMap.AuxiliaryEvent, alternatorMap.AuxiliaryEvent, ssmTool.Message, ssmToolModule14.Message
 
 		If Signals.AuxiliaryEventReportingLevel <= messageType Then
 
@@ -155,7 +158,7 @@ Public Class AdvancedAuxiliaries
 										auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency,
 										auxConfig.ElectricalUserInputsConfig.PowerNetVoltage,
 										Signals,
-										ssmTOOL)
+										ssmTool)
 
 
 		M2 = New M2_AverageElectricalLoadDemand(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers,
@@ -409,7 +412,7 @@ Public Class AdvancedAuxiliaries
 
 			Return _
 				If _
-					(signals.EngineSpeed <= _signals.EngineIdleSpeed AndAlso (Not signals.ClutchEngaged OrElse signals.InNeutral), 1, 0)
+					(Signals.EngineSpeed <= _Signals.EngineIdleSpeed AndAlso (Not Signals.ClutchEngaged OrElse Signals.InNeutral), 1, 0)
 		End Get
 	End Property
 
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb b/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb
index e73f5be3e2de3ce7fb78ad67f175963b6e5ab1a4..86ed08f799771706a01d983271e4f3a038cadca3 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/ElectricalConsumerList.vb
@@ -13,165 +13,197 @@
 Imports System.Collections.Generic
 
 Namespace Electrics
-
-  Public Class ElectricalConsumerList
-    Implements IElectricalConsumerList
-
-   Private _items As New List(Of IElectricalConsumer)
-   Private _powernetVoltage As Single
-   Private _doorDutyCycleZeroToOne As single
-
-
-   'Constructor
-   Public Sub New(powernetVoltage As Single,doorDutyCycle_ZeroToOne As single, Optional createDefaultList As Boolean = False)
-
-   _powernetVoltage = powernetVoltage
-   
-   If createDefaultList Then 
-
-    _items = GetDefaultConsumerList()
-
-   End If
-   
-   
-   _doorDutyCycleZeroToOne = doorDutyCycle_ZeroToOne
-
-End Sub
- 
-   'Transfers the Info comments from a default set of consumables to a live set.
-   'This way makes the comments not dependent on saved data.
-   Public Sub MergeInfoData() Implements IElectricalConsumerList.MergeInfoData
-
-     If _items.Count <> GetDefaultConsumerList().Count then return
-
-     Dim dflt As List(Of IElectricalConsumer) = GetDefaultConsumerList()
-
-     For idx As Integer=0 to _items.Count-1
-
-         _items(idx).Info= dflt(idx).Info
-
-     Next
-
-     
-
-   End Sub
- 
-   'Initialise default set of consumers
-   Public function GetDefaultConsumerList() As List(Of IElectricalConsumer)
-
-     'This populates the default settings as per engineering spreadsheet.
-     'Vehicle Basic Equipment' category can be added or remove by customers.
-     'At some time in the future, this may be removed and replace with file based consumer lists.
-    
-     Dim items As New List(Of IElectricalConsumer)
-    
-     Dim c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20 As IElectricalConsumer
-    
-     c1 = CType(New ElectricalConsumer(False, "Doors", "Doors per Door",                                                                        3.00, 0.096339, _powernetVoltage,          3,""), IElectricalConsumer)
-     c2 = CType(New ElectricalConsumer(True, "Veh Electronics &Engine", "Controllers,Valves etc",                                               25.00, 1.00, _powernetVoltage,             1,""), IElectricalConsumer )
-     c3 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Radio City",                                                           2.00, 0.80, _powernetVoltage,             1,""), IElectricalConsumer )
-     c4 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Radio Intercity",                                                      5.00, 0.80, _powernetVoltage,             0,""), IElectricalConsumer )
-     c5 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Radio/Audio Tourism",                                                  9.00, 0.80, _powernetVoltage,             0,""), IElectricalConsumer )
-     c6 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Fridge",                                                               4.00, 0.50, _powernetVoltage,             0,""), IElectricalConsumer )
-     c7 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Kitchen Standard",                                                    67.00, 0.05, _powernetVoltage,             0,""), IElectricalConsumer )
-     c8 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Interior lights City/ Intercity + Doorlights [Should be 1/m]",         1.00, 0.70, _powernetVoltage,            12,"1 Per metre length of bus"), IElectricalConsumer)
-     c9 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "LED Interior lights ceiling city/Intercity + door [Should be 1/m]",    0.60, 0.70, _powernetVoltage,             0,"1 Per metre length of bus"), IElectricalConsumer)
-     c10 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Interior lights Tourism + reading [1/m]",                             1.10, 0.70, _powernetVoltage,             0,"1 Per metre length of bus"), IElectricalConsumer)
-     c11 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "LED Interior lights ceiling Tourism + LED reading [Should be 1/m]",   0.66, 0.70, _powernetVoltage,             0,"1 Per metre length of bus"), IElectricalConsumer)
-     c12 = CType(New ElectricalConsumer(False, "Customer Specific Equipment", "External Displays Font/Side/Rear",                                2.65017667844523, 1.00, _powernetVoltage, 4,""), IElectricalConsumer)
-     c13 = CType(New ElectricalConsumer(False, "Customer Specific Equipment", "Internal display per unit ( front side rear)",                    1.06007067137809, 1.00, _powernetVoltage, 1,""), IElectricalConsumer)
-     c14 = CType(New ElectricalConsumer(False, "Customer Specific Equipment", "CityBus Ref EBSF Table4 Devices ITS No Displays",                 9.30, 1.00, _powernetVoltage,             1,""), IElectricalConsumer)
-     c15 = CType(New ElectricalConsumer(False, "Lights", "Exterior Lights BULB",                                                                 7.40, 1.00, _powernetVoltage,             1,""), IElectricalConsumer)
-     c16 = CType(New ElectricalConsumer(False, "Lights", "Day running lights LED bonus",                                                        -0.723, 1.00, _powernetVoltage,            1,""), IElectricalConsumer)
-     c17 = CType(New ElectricalConsumer(False, "Lights", "Antifog rear lights LED bonus",                                                       -0.17, 1.00, _powernetVoltage,             1,""), IElectricalConsumer)
-     c18 = CType(New ElectricalConsumer(False, "Lights", "Position lights LED bonus",                                                           -1.20, 1.00, _powernetVoltage,             1,""), IElectricalConsumer)
-     c19 = CType(New ElectricalConsumer(False, "Lights", "Direction lights LED bonus",                                                          -0.30, 1.00, _powernetVoltage,             1,""), IElectricalConsumer)
-            c20 = CType(New ElectricalConsumer(False, "Lights", "Brake Lights LED bonus", -1.2, 1.0, _powernetVoltage, 1, ""), IElectricalConsumer)
-    
-     items.Add(c1)
-     items.Add(c2)
-     items.Add(c3)
-     items.Add(c4)
-     items.Add(c5)
-     items.Add(c6)
-     items.Add(c7)
-     items.Add(c8)
-     items.Add(c9)
-     items.Add(c10)
-     items.Add(c11)
-     items.Add(c12)
-     items.Add(c13)
-     items.Add(c14)
-     items.Add(c15)
-     items.Add(c16)
-     items.Add(c17)
-     items.Add(c18)
-     items.Add(c19)
-     items.Add(c20)
-    
-    Return items
-
-End Function    
-  
-
-   'Interface implementation
-   Public Property DoorDutyCycleFraction As single Implements IElectricalConsumerList.DoorDutyCycleFraction
-
- Get
-  Return _doorDutyCycleZeroToOne
- End Get
- Set(value As Single)
-  _doorDutyCycleZeroToOne=value
- End Set
-
-end property  
-   Public ReadOnly Property Items As List(Of  IElectricalConsumer) Implements IElectricalConsumerList.Items
-    Get
-     Return _items
-    End Get
-End Property
-   Public Sub AddConsumer(consumer As IElectricalConsumer) Implements Electrics.IElectricalConsumerList.AddConsumer
-
-       If Not _items.Contains(consumer) Then
-         _items.Add(consumer)
-       Else
-      
-       Throw New ArgumentException("Consumer Already Present in the list")
-      
-       End If
-
-   End Sub
-   Public Sub RemoveConsumer(consumer As IElectricalConsumer) Implements Electrics.IElectricalConsumerList.RemoveConsumer
-
-     If _items.Contains(consumer) Then
-    
-     _items.Remove(consumer)
-    
-     Else
-    
-       Throw New ArgumentException("Consumer Not In List")
-    
-     End If
-
-   End Sub
-   Public Function GetTotalAverageDemandAmps(excludeOnBase As Boolean) As Single Implements Electrics.IElectricalConsumerList.GetTotalAverageDemandAmps
-
-     Dim Amps As Single
-
-     If excludeOnBase Then
-       Amps = Aggregate item In Items Where item.BaseVehicle = False Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction))
-     Else
-       Amps = Aggregate item In Items Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction))
-     End If
-
-
-    Return Amps
-
-   End Function
-
-
-End Class
-
+	Public Class ElectricalConsumerList
+		Implements IElectricalConsumerList
+
+		Private _items As New List(Of IElectricalConsumer)
+		Private _powernetVoltage As Single
+		Private _doorDutyCycleZeroToOne As Single
+
+
+		'Constructor
+		Public Sub New(powernetVoltage As Single, doorDutyCycle_ZeroToOne As Single,
+						Optional createDefaultList As Boolean = False)
+
+			_powernetVoltage = powernetVoltage
+
+			If createDefaultList Then
+
+				_items = GetDefaultConsumerList()
+
+			End If
+
+
+			_doorDutyCycleZeroToOne = doorDutyCycle_ZeroToOne
+		End Sub
+
+		'Transfers the Info comments from a default set of consumables to a live set.
+		'This way makes the comments not dependent on saved data.
+		Public Sub MergeInfoData() Implements IElectricalConsumerList.MergeInfoData
+
+			If _items.Count <> GetDefaultConsumerList().Count Then Return
+
+			Dim dflt As List(Of IElectricalConsumer) = GetDefaultConsumerList()
+
+			For idx As Integer = 0 To _items.Count - 1
+
+				_items(idx).Info = dflt(idx).Info
+
+			Next
+		End Sub
+
+		'Initialise default set of consumers
+		Public Function GetDefaultConsumerList() As List(Of IElectricalConsumer)
+
+			'This populates the default settings as per engineering spreadsheet.
+			'Vehicle Basic Equipment' category can be added or remove by customers.
+			'At some time in the future, this may be removed and replace with file based consumer lists.
+
+			Dim items As New List(Of IElectricalConsumer)
+
+			Dim c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20 As IElectricalConsumer
+
+			c1 = CType(New ElectricalConsumer(False, "Doors", "Doors per Door", 3.0, 0.096339, _powernetVoltage, 3, ""), 
+						IElectricalConsumer)
+			c2 = CType(New ElectricalConsumer(True, "Veh Electronics &Engine", "Controllers,Valves etc", 25.0, 1.0,
+											_powernetVoltage, 1, ""), 
+						IElectricalConsumer)
+			c3 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Radio City", 2.0, 0.8, _powernetVoltage, 1, ""), 
+						IElectricalConsumer)
+			c4 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Radio Intercity", 5.0, 0.8, _powernetVoltage,
+											0, ""), 
+						IElectricalConsumer)
+			c5 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Radio/Audio Tourism", 9.0, 0.8,
+											_powernetVoltage, 0, ""), 
+						IElectricalConsumer)
+			c6 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Fridge", 4.0, 0.5, _powernetVoltage, 0, ""), 
+						IElectricalConsumer)
+			c7 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Kitchen Standard", 67.0, 0.05, _powernetVoltage,
+											0, ""), 
+						IElectricalConsumer)
+			c8 = CType(New ElectricalConsumer(False, "Vehicle basic equipment",
+											"Interior lights City/ Intercity + Doorlights [Should be 1/m]", 1.0, 0.7, _powernetVoltage, 12,
+											"1 Per metre length of bus"), 
+						IElectricalConsumer)
+			c9 = CType(New ElectricalConsumer(False, "Vehicle basic equipment",
+											"LED Interior lights ceiling city/Intercity + door [Should be 1/m]", 0.6, 0.7, _powernetVoltage, 0,
+											"1 Per metre length of bus"), 
+						IElectricalConsumer)
+			c10 = CType(New ElectricalConsumer(False, "Vehicle basic equipment", "Interior lights Tourism + reading [1/m]", 1.1,
+												0.7, _powernetVoltage, 0, "1 Per metre length of bus"), 
+						IElectricalConsumer)
+			c11 = CType(New ElectricalConsumer(False, "Vehicle basic equipment",
+												"LED Interior lights ceiling Tourism + LED reading [Should be 1/m]", 0.66, 0.7, _powernetVoltage, 0,
+												"1 Per metre length of bus"), 
+						IElectricalConsumer)
+			c12 = CType(New ElectricalConsumer(False, "Customer Specific Equipment", "External Displays Font/Side/Rear",
+												2.65017667844523, 1.0, _powernetVoltage, 4, ""), 
+						IElectricalConsumer)
+			c13 = CType(New ElectricalConsumer(False, "Customer Specific Equipment",
+												"Internal display per unit ( front side rear)", 1.06007067137809, 1.0, _powernetVoltage, 1, ""), 
+						IElectricalConsumer)
+			c14 = CType(New ElectricalConsumer(False, "Customer Specific Equipment",
+												"CityBus Ref EBSF Table4 Devices ITS No Displays", 9.3, 1.0, _powernetVoltage, 1, ""), 
+						IElectricalConsumer)
+			c15 = CType(New ElectricalConsumer(False, "Lights", "Exterior Lights BULB", 7.4, 1.0, _powernetVoltage, 1, ""), 
+						IElectricalConsumer)
+			c16 = CType(New ElectricalConsumer(False, "Lights", "Day running lights LED bonus", -0.723, 1.0, _powernetVoltage,
+												1, ""), 
+						IElectricalConsumer)
+			c17 = CType(New ElectricalConsumer(False, "Lights", "Antifog rear lights LED bonus", -0.17, 1.0, _powernetVoltage,
+												1, ""), 
+						IElectricalConsumer)
+			c18 = CType(New ElectricalConsumer(False, "Lights", "Position lights LED bonus", -1.2, 1.0, _powernetVoltage, 1,
+												""), 
+						IElectricalConsumer)
+			c19 = CType(New ElectricalConsumer(False, "Lights", "Direction lights LED bonus", -0.3, 1.0, _powernetVoltage, 1,
+												""), 
+						IElectricalConsumer)
+			c20 = CType(New ElectricalConsumer(False, "Lights", "Brake Lights LED bonus", -1.2, 1.0, _powernetVoltage, 1, ""), 
+						IElectricalConsumer)
+
+			items.Add(c1)
+			items.Add(c2)
+			items.Add(c3)
+			items.Add(c4)
+			items.Add(c5)
+			items.Add(c6)
+			items.Add(c7)
+			items.Add(c8)
+			items.Add(c9)
+			items.Add(c10)
+			items.Add(c11)
+			items.Add(c12)
+			items.Add(c13)
+			items.Add(c14)
+			items.Add(c15)
+			items.Add(c16)
+			items.Add(c17)
+			items.Add(c18)
+			items.Add(c19)
+			items.Add(c20)
+
+			Return items
+		End Function
+
+
+		'Interface implementation
+		Public Property DoorDutyCycleFraction As Single Implements IElectricalConsumerList.DoorDutyCycleFraction
+
+			Get
+				Return _doorDutyCycleZeroToOne
+			End Get
+			Set(value As Single)
+				_doorDutyCycleZeroToOne = value
+			End Set
+		End Property
+
+		Public ReadOnly Property Items As List(Of IElectricalConsumer) Implements IElectricalConsumerList.Items
+			Get
+				Return _items
+			End Get
+		End Property
+
+		Public Sub AddConsumer(consumer As IElectricalConsumer) Implements Electrics.IElectricalConsumerList.AddConsumer
+
+			If Not _items.Contains(consumer) Then
+				_items.Add(consumer)
+			Else
+
+				Throw New ArgumentException("Consumer Already Present in the list")
+
+			End If
+		End Sub
+
+		Public Sub RemoveConsumer(consumer As IElectricalConsumer) Implements Electrics.IElectricalConsumerList.RemoveConsumer
+
+			If _items.Contains(consumer) Then
+
+				_items.Remove(consumer)
+
+			Else
+
+				Throw New ArgumentException("Consumer Not In List")
+
+			End If
+		End Sub
+
+		Public Function GetTotalAverageDemandAmps(excludeOnBase As Boolean) As Single _
+			Implements Electrics.IElectricalConsumerList.GetTotalAverageDemandAmps
+
+			Dim Amps As Single
+
+			If excludeOnBase Then
+				Amps =
+					Aggregate item In Items Where item.BaseVehicle = False Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction))
+			Else
+				Amps = Aggregate item In Items Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction))
+			End If
+
+
+			Return Amps
+		End Function
+	End Class
 End Namespace
 
 
diff --git a/VectoConsole/Properties/Version.cs b/VectoConsole/Properties/Version.cs
index 993af88e9b8fe22aab5d8b307cf0382c6ef95937..a9fdbc4a3a78f6526eee325abe8ebd0a1f76a3fd 100644
--- a/VectoConsole/Properties/Version.cs
+++ b/VectoConsole/Properties/Version.cs
@@ -30,5 +30,5 @@
 */
 
 using System.Reflection;
-[assembly: AssemblyVersion("3.0.3.495")]
-[assembly: AssemblyFileVersion("3.0.3.495")]
+[assembly: AssemblyVersion("3.0.3.537")]
+[assembly: AssemblyFileVersion("3.0.3.537")]
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs
index 91489d43671d9caf5df9675a845abeae419db34a..9e983100e784555e83e61df0831fa2e4a960f7f4 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs
@@ -42,6 +42,7 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
 using TUGraz.VectoCore.OutputData;
 using TUGraz.VectoCore.Utils;
 using VectoAuxiliaries;
+using VectoAuxiliaries.Pneumatics;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 {
@@ -66,8 +67,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			DataBus = container;
 			var tmpAux = new AdvancedAuxiliaries();
 
+			//var actuationsMap = new PneumaticActuationsMAP();
+
+
 			// 'Set Statics
-			tmpAux.VectoInputs.Cycle = DetermineCycle(cycleName, tmpAux.Signals);
+			tmpAux.VectoInputs.Cycle = DetermineCycle(cycleName);
+			// tmpAux.Signals.TotalCycleTimeSeconds =
+			//	tmpAux.actuationsMap.GetNumActuations(new ActuationsKey("CycleTime", tmpAux.VectoInputs.Cycle));
+
 			tmpAux.VectoInputs.VehicleWeightKG = (float)vehicleWeight.Value();
 			_fcMapAdapter = new FuelConsumptionAdapter() { FcMap = fcMap };
 			tmpAux.VectoInputs.FuelMap = _fcMapAdapter;
@@ -77,40 +84,40 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			tmpAux.Signals.EngineIdleSpeed = (float)(engineIdleSpeed.Value() / Constants.RPMToRad);
 			tmpAux.Initialise(Path.GetFileName(aauxFile), Path.GetDirectoryName(Path.GetFullPath(aauxFile)) + @"\");
 
+			tmpAux.Signals.TotalCycleTimeSeconds =
+				tmpAux.actuationsMap.GetNumActuations(new ActuationsKey("CycleTime", tmpAux.VectoInputs.Cycle));
+
+			// call initialize again _after_ setting the cycle time to get the correct consumtions
+			tmpAux.Initialise(Path.GetFileName(aauxFile), Path.GetDirectoryName(Path.GetFullPath(aauxFile)) + @"\");
+
+
 			Auxiliaries = tmpAux;
 		}
 
-		private static string DetermineCycle(string cycleName, ISignals aauxsignals)
+		private static string DetermineCycle(string cycleName)
 		{
 			var cycle = cycleName.ToLower();
 
-			// cycle time is hard coded based on previous simulations
 			if (cycle.Contains("bus")) {
 				if (cycle.Contains("heavy_urban")) {
-					aauxsignals.TotalCycleTimeSeconds = 8912;
 					return "Heavy urban";
 				}
 				if (cycle.Contains("suburban")) {
-					aauxsignals.TotalCycleTimeSeconds = 3283;
 					return "Suburban";
 				}
 				if (cycle.Contains("interurban")) {
-					aauxsignals.TotalCycleTimeSeconds = 12962;
 					return "Interurban";
 				}
 				if (cycle.Contains("urban")) {
-					aauxsignals.TotalCycleTimeSeconds = 8149;
 					return "Urban";
 				}
 			}
 			if (cycle.Contains("coach")) {
-				aauxsignals.TotalCycleTimeSeconds = 15086;
 				return "Coach";
 			}
 			Logger<BusAuxiliariesAdapter>()
 				.Warn("UnServiced Cycle Name '{0}' in Pneumatics Actuations Map 0 Actuations returned", cycleName);
-			aauxsignals.TotalCycleTimeSeconds = 1;
-			return "UnknownCycleName";
+			return cycle;
 		}
 
 		public IEngineAuxPort Port()
diff --git a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
index 55d26cee907dcb222379281d47eba6bd1dccbfd7..69cb27aafdc102f26bdc3bf9be5c7f3fc2219869 100644
--- a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
@@ -185,7 +185,11 @@ namespace TUGraz.VectoCore.OutputData
 
 			var strCols = dataColumns.Select(x => x.GetName())
 				.Concat((Auxiliaries.Values.Select(c => c.ColumnName)))
-				.Concat(new[] { ModalResultField.FCMap, ModalResultField.FCAUXc, ModalResultField.FCWHTCc }.Select(x => x.GetName()));
+				.Concat(
+					new[] {
+						ModalResultField.FCMap, ModalResultField.FCAUXc, ModalResultField.FCWHTCc, ModalResultField.FCAAUX,
+						ModalResultField.FCFinal
+					}.Select(x => x.GetName()));
 
 			if (_mode != ExecutionMode.Declaration || WriteModalResults) {
 				//VectoCSVFile.Write(_modWriter, new DataView(Data).ToTable(false, strCols.ToArray()));
diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
index 6dd12d98eb28ec65bf0f00cf70090dd7d8c61b29..39830a4f407803e5bd678d278c1d6c4de4e44a88 100644
--- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs
@@ -264,8 +264,9 @@ namespace TUGraz.VectoCore.OutputData
 
 		protected virtual void Dispose(bool disposing)
 		{
-			if (disposing)
+			if (disposing) {
 				_table.Dispose();
+			}
 		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Properties/AssemblyInfo.cs b/VectoCore/VectoCore/Properties/AssemblyInfo.cs
index 9f31bbc7c809d3b2d0ab7f713de8e0dd48fec002..26acbf31628823236bf0dc257eb059a500dcb353 100644
--- a/VectoCore/VectoCore/Properties/AssemblyInfo.cs
+++ b/VectoCore/VectoCore/Properties/AssemblyInfo.cs
@@ -43,5 +43,6 @@ using System.Runtime.InteropServices;
 [assembly: ComVisible(false)]
 [assembly: Guid("b843f4c2-660b-4a3e-a336-c1f9c20aa993")]
 [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("VectoAPI")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("VECTO")]
 [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("VectoCoreTest")]
 [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("VectoAPITest")]
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Properties/Version.cs b/VectoCore/VectoCore/Properties/Version.cs
index e99a7e338db7dcd602aac93947ef9d93423e2dcd..032a2e14e2c07c52c6071533cc0be3aef8e3db9d 100644
--- a/VectoCore/VectoCore/Properties/Version.cs
+++ b/VectoCore/VectoCore/Properties/Version.cs
@@ -30,5 +30,5 @@
 */
 
 using System.Reflection;
-[assembly: AssemblyVersion("3.0.3.495")]
-[assembly: AssemblyFileVersion("3.0.3.495")]
+[assembly: AssemblyVersion("3.0.3.537")]
+[assembly: AssemblyFileVersion("3.0.3.537")]
diff --git a/VectoCore/VectoCore/Utils/VectoCSVFile.cs b/VectoCore/VectoCore/Utils/VectoCSVFile.cs
index 657dac3cd1bb125afc08be0e554b42c3ae4d8e5d..d6f47c2f26c5636713eb41e5c7ac10a933405ec2 100644
--- a/VectoCore/VectoCore/Utils/VectoCSVFile.cs
+++ b/VectoCore/VectoCore/Utils/VectoCSVFile.cs
@@ -101,8 +101,9 @@ namespace TUGraz.VectoCore.Utils
 		private static IEnumerable<string> ReadLines(Stream stream)
 		{
 			using (var reader = new StreamReader(stream, Encoding.UTF8)) {
-				while (!reader.EndOfStream)
+				while (!reader.EndOfStream) {
 					yield return reader.ReadLine();
+				}
 			}
 		}
 
@@ -155,6 +156,9 @@ namespace TUGraz.VectoCore.Utils
 				table.Columns.Add(col);
 			}
 
+			if (lines.Current == null) {
+				return table;
+			}
 			// read data into table
 			var i = 0;
 			do {
@@ -187,8 +191,9 @@ namespace TUGraz.VectoCore.Utils
 		/// <param name="table">The Datatable.</param>
 		public static void Write(string fileName, DataTable table)
 		{
-			using (var sw = new StreamWriter(new FileStream(fileName, FileMode.Create), Encoding.UTF8))
+			using (var sw = new StreamWriter(new FileStream(fileName, FileMode.Create), Encoding.UTF8)) {
 				Write(sw, table);
+			}
 		}
 
 		/// <summary>
diff --git a/VectoCore/VectoCoreTest/FileIO/JsonTest.cs b/VectoCore/VectoCoreTest/FileIO/JsonTest.cs
index 55fd0a38b150673b7498d7b27b28c8d15fc04769..d1205edaae76ddfaa015e007976d8b01092273a3 100644
--- a/VectoCore/VectoCoreTest/FileIO/JsonTest.cs
+++ b/VectoCore/VectoCoreTest/FileIO/JsonTest.cs
@@ -60,7 +60,8 @@ namespace TUGraz.VectoCore.Tests.FileIO
 			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
 			((JObject)json["Body"]).Property("EngineFile").Remove();
 
-			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile), "Failed to read Engine file.");
+			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile),
+				"Failed to read input data: Key EngineFile not found");
 		}
 
 		[TestMethod]
@@ -69,7 +70,8 @@ namespace TUGraz.VectoCore.Tests.FileIO
 			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
 			((JObject)json["Body"]).Property("GearboxFile").Remove();
 
-			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile), "Failed to read Gearbox file.");
+			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile),
+				"Failed to read input data: Key GearboxFile not found");
 		}
 
 		[TestMethod]
@@ -78,7 +80,8 @@ namespace TUGraz.VectoCore.Tests.FileIO
 			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
 			((JObject)json["Body"]).Property("VehicleFile").Remove();
 
-			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile), "Failed to read Vehicle file.");
+			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile),
+				"Failed to read input data: Key VehicleFile not found");
 		}
 
 		[TestMethod]