diff --git a/Documentation/User Manual Source/Release Notes Vecto3.x.pdf b/Documentation/User Manual Source/Release Notes Vecto3.x.pdf
index ee285f355f180aa6d239b1711e7cd8a997a6696f..5be2955f0647b49c49cfbf1b082bf01b72187c21 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 9a2b5d44c8dd13eea3c166afb166989a7d31b0a3..712a71d14bbd6fcf9b6010a4f61dd6b9368202e4 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/6-changelog/changelog.md b/Documentation/User Manual/6-changelog/changelog.md
index 4b551c5164121b87db3d17fdb936a5237f3e731f..58bcc72bf104bdea8609900ea995284298dc0e18 100644
--- a/Documentation/User Manual/6-changelog/changelog.md	
+++ b/Documentation/User Manual/6-changelog/changelog.md	
@@ -2,7 +2,13 @@
 
 **VECTO 3.0.4**
 
+***Build 565 (2016-07-19)***
 
+- Bugfixes
+    + AAUX HVAC Dialog does not store path to ActuationsMap and SSMSource
+    + GUI: check for axle loads in declaration mode renders editing dialog useless 
+    + Vecto 2.2: Simulation aborts (Vecto terminates) when simulating EngineOnly cycles
+    + Vecto 3: Building SimulationRun EngineOnly simulation failed
 
 ***Build 544 (2016-06-28)***
 
diff --git a/VECTO/MODcalc/cMOD.vb b/VECTO/MODcalc/cMOD.vb
index da733076eb4019a7f9a4aef56726e650463289ab..072191c58301e6a1c50f07be5ccbd592d740a4a7 100644
--- a/VECTO/MODcalc/cMOD.vb
+++ b/VECTO/MODcalc/cMOD.vb
@@ -762,11 +762,20 @@ Public Class cMOD
 					If .EngState(t) = tEngState.Stopped Then
 						s.Append(Sepp & "0" & Sepp & "0")
 					Else
-						If t = 0 Then
-							s.Append(Sepp & nPeToM(.nU(t), GBX.FLD(Gear).Pfull(.nU(t))) & Sepp & nPeToM(.nU(t), ENG.FLD.Pdrag(.nU(t))))
+						If Not VEC.EngOnly Then
+							If t = 0 Then
+								s.Append(Sepp & nPeToM(.nU(t), GBX.FLD(Gear).Pfull(.nU(t))) & Sepp & nPeToM(.nU(t), ENG.FLD.Pdrag(.nU(t))))
+							Else
+								s.Append(
+									Sepp & nPeToM(.nU(t), GBX.FLD(Gear).Pfull(.nU(t), .Pe(t - 1))) & Sepp & nPeToM(.nU(t), ENG.FLD.Pdrag(.nU(t))))
+							End If
 						Else
-							s.Append(
-								Sepp & nPeToM(.nU(t), GBX.FLD(Gear).Pfull(.nU(t), .Pe(t - 1))) & Sepp & nPeToM(.nU(t), ENG.FLD.Pdrag(.nU(t))))
+							If t = 0 Then
+								s.Append(Sepp & nPeToM(.nU(t), ENG.FLD.Pfull(.nU(t))) & Sepp & nPeToM(.nU(t), ENG.FLD.Pdrag(.nU(t))))
+							Else
+								s.Append(
+									Sepp & nPeToM(.nU(t), ENG.FLD.Pfull(.nU(t), .Pe(t - 1))) & Sepp & nPeToM(.nU(t), ENG.FLD.Pdrag(.nU(t))))
+							End If
 						End If
 					End If
 
@@ -785,10 +794,18 @@ Public Class cMOD
 				If .EngState(t) = tEngState.Stopped Then
 					s.Append(Sepp & "-" & Sepp & "-")
 				Else
-					If t = 0 Then
-						s.Append(Sepp & GBX.FLD(Gear).Pfull(.nU(t)) & Sepp & ENG.FLD.Pdrag(.nU(t)))
+					If Not VEC.EngOnly Then
+						If t = 0 Then
+							s.Append(Sepp & GBX.FLD(Gear).Pfull(.nU(t)) & Sepp & ENG.FLD.Pdrag(.nU(t)))
+						Else
+							s.Append(Sepp & GBX.FLD(Gear).Pfull(.nU(t), .Pe(t - 1)) & Sepp & ENG.FLD.Pdrag(.nU(t)))
+						End If
 					Else
-						s.Append(Sepp & GBX.FLD(Gear).Pfull(.nU(t), .Pe(t - 1)) & Sepp & ENG.FLD.Pdrag(.nU(t)))
+						If t = 0 Then
+							s.Append(Sepp & ENG.FLD.Pfull(.nU(t)) & Sepp & ENG.FLD.Pdrag(.nU(t)))
+						Else
+							s.Append(Sepp & ENG.FLD.Pfull(.nU(t), .Pe(t - 1)) & Sepp & ENG.FLD.Pdrag(.nU(t)))
+						End If
 					End If
 				End If
 
@@ -848,23 +865,23 @@ Public Class cMOD
 					'AA-TB
 					'Advanced Auxiliaries
 					s.Append(
-						Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_NonSmartAlternatorsEfficiency(t).ToString(), ""))
-					s.Append(Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartIdleCurrent_Amps(t).ToString(), ""))
+						Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_NonSmartAlternatorsEfficiency(t).ToString(), ""))
+					s.Append(Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartIdleCurrent_Amps(t).ToString(), ""))
 					s.Append(
-						Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartIdleAlternatorsEfficiency(t).ToString(), ""))
-					s.Append(Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartTractionCurrent_Amps(t).ToString(), ""))
+						Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartIdleAlternatorsEfficiency(t).ToString(), ""))
+					s.Append(Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartTractionCurrent_Amps(t).ToString(), ""))
 					s.Append(
-						Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartTractionAlternatorEfficiency(t).ToString(), ""))
-					s.Append(Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartOverrunCurrent_Amps(t).ToString(), ""))
+						Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartTractionAlternatorEfficiency(t).ToString(), ""))
+					s.Append(Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartOverrunCurrent_Amps(t).ToString(), ""))
 					s.Append(
-						Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartOverrunAlternatorEfficiency(t).ToString(), ""))
+						Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_SmartOverrunAlternatorEfficiency(t).ToString(), ""))
 					s.Append(
-						Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_CompressorFlowRate_LitrePerSec(t).ToString(), ""))
-					s.Append(Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_OverrunFlag(t).ToString(), ""))
-					s.Append(Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_EngineIdleFlag(t).ToString(), ""))
-					s.Append(Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_CompressorFlag(t).ToString(), ""))
-					s.Append(Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_TotalCycleFC_Grams(t).ToString(), ""))
-					s.Append(Sepp & If(vecto_global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_TotalCycleFC_Litres(t).ToString(), ""))
+						Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_CompressorFlowRate_LitrePerSec(t).ToString(), ""))
+					s.Append(Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_OverrunFlag(t).ToString(), ""))
+					s.Append(Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_EngineIdleFlag(t).ToString(), ""))
+					s.Append(Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_CompressorFlag(t).ToString(), ""))
+					s.Append(Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_TotalCycleFC_Grams(t).ToString(), ""))
+					s.Append(Sepp & If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_TotalCycleFC_Litres(t).ToString(), ""))
 					s.Append(
 						Sepp &
 						If(VECTO_Global.VEC.AuxiliaryAssembly <> "CLASSIC", AA_AveragePowerDemandCrankHVACMechanicals(t).ToString(), ""))
diff --git a/VectoCommon/VectoCommon/Models/ExecutionMode.cs b/VectoCommon/VectoCommon/Models/ExecutionMode.cs
index d9649eda77fb74ea84c1af8a719d700cda0eb477..66202daf7cb947cf9f35d11e7a5eca0d93d669c8 100644
--- a/VectoCommon/VectoCommon/Models/ExecutionMode.cs
+++ b/VectoCommon/VectoCommon/Models/ExecutionMode.cs
@@ -35,6 +35,5 @@ namespace TUGraz.VectoCommon.Models
 	{
 		Engineering,
 		Declaration,
-		EngineOnly,
 	}
 }
\ No newline at end of file
diff --git a/VectoConsole/Properties/Version.cs b/VectoConsole/Properties/Version.cs
index 5497f10083fae36888721bb64fa2ad76ffeea9b4..d42f246163c209244f0d00deaada820e1ee450eb 100644
--- a/VectoConsole/Properties/Version.cs
+++ b/VectoConsole/Properties/Version.cs
@@ -30,5 +30,5 @@
 */
 
 using System.Reflection;
-[assembly: AssemblyVersion("3.0.3.544")]
-[assembly: AssemblyFileVersion("3.0.3.544")]
+[assembly: AssemblyVersion("3.0.3.565")]
+[assembly: AssemblyFileVersion("3.0.3.565")]
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs
index e55d23d01d7dca5e806ff107b132dde28279c89a..7522a855aac3a954aeaac866d2efff83c858386f 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONGearboxData.cs
@@ -38,6 +38,7 @@ using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.Impl;
+using TUGraz.VectoCore.Models.Declaration;
 
 namespace TUGraz.VectoCore.InputData.FileIO.JSON
 {
@@ -214,7 +215,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			get
 			{
 				return Body["DownshiftAferUpshiftDelay"] == null
-					? 10.SI<Second>()
+					? DeclarationData.Gearbox.DownshiftAfterUpshiftDelay
 					: Body.GetEx<double>("DownshiftAferUpshiftDelay").SI<Second>();
 			}
 		}
@@ -224,7 +225,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			get
 			{
 				return Body["UpshiftAfterDownshiftDelay"] == null
-					? 10.SI<Second>()
+					? DeclarationData.Gearbox.UpshiftAfterDownshiftDelay
 					: Body.GetEx<double>("UpshiftAfterDownshiftDelay").SI<Second>();
 			}
 		}
@@ -234,7 +235,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			get
 			{
 				return Body["UpshiftMinAcceleration"] == null
-					? 0.1.SI<MeterPerSquareSecond>()
+					? DeclarationData.Gearbox.UpshiftMinAcceleration
 					: Body.GetEx<double>("UpshiftMinAcceleration").SI<MeterPerSquareSecond>();
 			}
 		}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs
index 93d13bd06f603c4c40c7df242c019e08e045e1ad..116010cb45326f3340edfa23c5c835e196e9e3b1 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs
@@ -223,9 +223,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 					});
 			}).ToDictionary(kv => kv.Key, kv => kv.Value);
 
-			retVal.DownshiftAfterUpshiftDelay = 10.SI<Second>();
-			retVal.UpshiftAfterDownshiftDelay = 10.SI<Second>();
-			retVal.UpshiftMinAcceleration = 0.1.SI<MeterPerSquareSecond>();
+			retVal.DownshiftAfterUpshiftDelay = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay;
+			retVal.UpshiftAfterDownshiftDelay = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay;
+			retVal.UpshiftMinAcceleration =DeclarationData.Gearbox.UpshiftMinAcceleration;
 			return retVal;
 		}
 
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs
index 9c89f79f64f7845aa27ec2f7665078b9df082d1d..2d17c6f02a38d7a8c7553d64c76aa87421462ecc 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineOnlyVectoRunDataFactory.cs
@@ -54,7 +54,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 					JobName = InputDataProvider.JobInputData().JobName,
 					EngineData = dao.CreateEngineData(InputDataProvider.EngineInputData),
 					Cycle = DrivingCycleDataReader.ReadFromDataTable(cycle.CycleData, CycleType.EngineOnly, cycle.Name, false),
-					ExecutionMode = ExecutionMode.EngineOnly
+					ExecutionMode = ExecutionMode.Engineering
 				};
 				yield return simulationRunData;
 			}
diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
index f351bc3df5901233fcbef4093b1738cc108196eb..e15e1c13dc1758a94a8d6ce4711996bbd8708ce7 100644
--- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
+++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
@@ -262,6 +262,9 @@ namespace TUGraz.VectoCore.Models.Declaration
 			private static double ShiftPolygonEngineFldMargin = 0.98;
 
 			public static readonly Second MinTimeBetweenGearshifts = 2.SI<Second>();
+			public static readonly Second DownshiftAfterUpshiftDelay = 10.SI<Second>();
+			public static readonly Second UpshiftAfterDownshiftDelay = 10.SI<Second>();
+			public static readonly MeterPerSquareSecond UpshiftMinAcceleration = 0.1.SI<MeterPerSquareSecond>();
 
 			/// <summary>
 			/// computes the shift polygons for a single gear according to the whitebook 2016
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
index fde68a15e2b74dfd8b6a0dde4650ae519c46f2e6..49d476a3fc13cec989a474b87a651adcf5c52643 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
@@ -58,19 +58,16 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 
 		public VehicleContainer Build(VectoRunData data)
 		{
-			if (data.ExecutionMode == ExecutionMode.EngineOnly) {
-				return BuildEngineOnly(data);
+			switch (data.Cycle.CycleType) {
+				case CycleType.EngineOnly:
+					return BuildEngineOnly(data);
+				case CycleType.PWheel:
+					return BuildPWheel(data);
+				case CycleType.MeasuredSpeed:
+					return BuildMeasuredSpeed(data);
+				case CycleType.MeasuredSpeedGear:
+					return BuildMeasuredSpeedGear(data);
 			}
-			if (data.Cycle.CycleType == CycleType.PWheel) {
-				return BuildPWheel(data);
-			}
-			if (data.Cycle.CycleType == CycleType.MeasuredSpeed) {
-				return BuildMeasuredSpeed(data);
-			}
-			if (data.Cycle.CycleType == CycleType.MeasuredSpeedGear) {
-				return BuildMeasuredSpeedGear(data);
-			}
-
 			return BuildFullPowertrain(data);
 		}
 
@@ -78,8 +75,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 		{
 			if (data.Cycle.CycleType != CycleType.EngineOnly)
 				throw new VectoException("CycleType must be EngineOnly.");
-
-			var container = new VehicleContainer(ExecutionMode.EngineOnly, _modData, _sumWriter) { RunData = data };
+			
+			var container = new VehicleContainer(ExecutionMode.Engineering, _modData, _sumWriter) { RunData = data };
 			var cycle = new PowertrainDrivingCycle(container, data.Cycle);
 
 			var directAux = new EngineAuxiliary(container);
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
index 56b9e13be24dcface21170e45d1ad87bad930974..9e59a781d64ab5784b4b86b61422a35d18e7ded2 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory.cs
@@ -54,6 +54,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 		private static int _jobNumberCounter;
 
 		private readonly ExecutionMode _mode;
+		private readonly bool _engineOnlyMode;
 
 		public SimulatorFactory(ExecutionMode mode, IInputDataProvider dataProvider, IOutputDataWriter writer,
 			DeclarationReport declarationReport = null)
@@ -80,14 +81,12 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 					if (engDataProvider == null) {
 						throw new VectoException("InputDataProvider does not implement Engineering interface");
 					}
-					DataReader = new EngineeringModeVectoRunDataFactory(engDataProvider);
-					break;
-				case ExecutionMode.EngineOnly:
-					var engineDataProvider = dataProvider as IEngineeringInputDataProvider;
-					if (engineDataProvider == null) {
-						throw new VectoException("InputDataProvider does not implement Engineering interface");
+					if (engDataProvider.JobInputData().EngineOnlyMode) {
+						DataReader = new EngineOnlyVectoRunDataFactory(engDataProvider);
+						_engineOnlyMode = true;
+					} else {
+						DataReader = new EngineeringModeVectoRunDataFactory(engDataProvider);
 					}
-					DataReader = new EngineOnlyVectoRunDataFactory(engineDataProvider);
 					break;
 				default:
 					throw new VectoException("Unkown factory mode in SimulatorFactory: {0}", mode);
@@ -118,17 +117,18 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 
 			foreach (var data in DataReader.NextRun()) {
 				var d = data;
+				Action<ModalDataContainer> addReportResult = writer => {
+					if (d.Report != null) {
+						d.Report.AddResult(d.Loading, d.Mission, writer);
+					}
+				};
 				IModalDataContainer modContainer =
 					new ModalDataContainer(data, ModWriter,
-						addReportResult: writer => {
-							if (d.Report != null) {
-								d.Report.AddResult(d.Loading, d.Mission, writer);
-							}
-						},
-						mode: _mode,
+						addReportResult: _mode == ExecutionMode.Declaration ? addReportResult : null,
+						writeEngineOnly: _engineOnlyMode,
 						filter: modDataFilter) {
 							WriteAdvancedAux = data.AdvancedAux != null && data.AdvancedAux.AuxiliaryAssembly == AuxiliaryModel.Advanced,
-							WriteModalResults = WriteModalResults
+							WriteModalResults = _mode != ExecutionMode.Declaration || WriteModalResults
 						};
 				var current = i++;
 				var builder = new PowertrainBuilder(modContainer, (writer, mass, loading) =>
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
index bf7b8ff70d78ff536f258fdcad1f273c4b04931e..2974e10c576a6ea9ece28dbc5ce0d774fdfcdefb 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/VehicleContainer.cs
@@ -266,7 +266,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 		public void CommitSimulationStep(Second time, Second simulationInterval)
 		{
 			Log.Info("VehicleContainer committing simulation. time: {0}, dist: {1}, speed: {2}", time,
-				ExecutionMode == ExecutionMode.EngineOnly ? null : Distance, VehicleSpeed);
+				 Distance, VehicleSpeed);
 
 			foreach (var component in _components) {
 				component.Item2.CommitSimulationStep(ModData);
diff --git a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
index 1e4241d7facf2d68614807c0788231a7c615f199..e9196dacce406a90afa3f7912254e727ba368529 100644
--- a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
@@ -45,7 +45,7 @@ namespace TUGraz.VectoCore.OutputData
 {
 	public class ModalDataContainer : IModalDataContainer
 	{
-		private readonly ExecutionMode _mode;
+		private readonly bool _writeEngineOnly;
 		private readonly IModalDataFilter[] _filters;
 		private readonly Action<ModalDataContainer> _addReportResult;
 		internal ModalResults Data { get; set; }
@@ -64,15 +64,15 @@ namespace TUGraz.VectoCore.OutputData
 
 		public bool WriteAdvancedAux { get; set; }
 
-		public ModalDataContainer(string runName, IModalDataWriter writer, ExecutionMode mode)
-			: this(runName, "", "", writer, _ => { }, mode) {}
+		public ModalDataContainer(string runName, IModalDataWriter writer, bool writeEngineOnly = false)
+			: this(runName, "", "", writer, _ => { }, writeEngineOnly) {}
 
 		public ModalDataContainer(VectoRunData runData, IModalDataWriter writer, Action<ModalDataContainer> addReportResult,
-			ExecutionMode mode, params IModalDataFilter[] filter)
-			: this(runData.JobName, runData.Cycle.Name, runData.ModFileSuffix, writer, addReportResult, mode, filter) {}
+			bool writeEngineOnly, params IModalDataFilter[] filter)
+			: this(runData.JobName, runData.Cycle.Name, runData.ModFileSuffix, writer, addReportResult, writeEngineOnly, filter) {}
 
 		protected ModalDataContainer(string runName, string cycleName, string runSuffix, IModalDataWriter writer,
-			Action<ModalDataContainer> addReportResult, ExecutionMode mode, params IModalDataFilter[] filters)
+			Action<ModalDataContainer> addReportResult, bool writeEngineOnly, params IModalDataFilter[] filters)
 
 		{
 			HasTorqueConverter = false;
@@ -81,9 +81,9 @@ namespace TUGraz.VectoCore.OutputData
 			RunSuffix = runSuffix;
 			_writer = writer;
 
-			_mode = mode;
+			_writeEngineOnly = writeEngineOnly;
 			_filters = filters;
-			_addReportResult = addReportResult;
+			_addReportResult = addReportResult ?? (x => { });
 
 			Data = new ModalResults();
 			Auxiliaries = new Dictionary<string, DataColumn>();
@@ -105,7 +105,7 @@ namespace TUGraz.VectoCore.OutputData
 
 			RunStatus = runStatus;
 
-			if (_mode != ExecutionMode.EngineOnly) {
+			if (!_writeEngineOnly) {
 				dataColumns.AddRange(new[] {
 					ModalResultField.simulationInterval,
 					ModalResultField.dist,
@@ -115,7 +115,7 @@ namespace TUGraz.VectoCore.OutputData
 					ModalResultField.grad
 				});
 			}
-			if (_mode != ExecutionMode.EngineOnly) {
+			if (!_writeEngineOnly) {
 				dataColumns.AddRange(new[] {
 					ModalResultField.Gear,
 				});
@@ -135,7 +135,7 @@ namespace TUGraz.VectoCore.OutputData
 				ModalResultField.P_aux
 			});
 
-			if (_mode != ExecutionMode.EngineOnly) {
+			if (!_writeEngineOnly) {
 				dataColumns.AddRange(new[] {
 					ModalResultField.P_gbx_in,
 					ModalResultField.P_gbx_loss,
@@ -166,7 +166,7 @@ namespace TUGraz.VectoCore.OutputData
 					});
 				}
 			}
-			if (_mode != ExecutionMode.EngineOnly && WriteAdvancedAux) {
+			if (!_writeEngineOnly && WriteAdvancedAux) {
 				dataColumns.AddRange(new[] {
 					ModalResultField.AA_NonSmartAlternatorsEfficiency,
 					ModalResultField.AA_SmartIdleCurrent_Amps,
@@ -198,7 +198,7 @@ namespace TUGraz.VectoCore.OutputData
 						ModalResultField.FCAAUX, ModalResultField.FCFinal
 					}.Select(x => x.GetName()));
 
-			if (_mode != ExecutionMode.Declaration || WriteModalResults) {
+			if (WriteModalResults) {
 				var filteredData = Data;
 				foreach (var filter in _filters) {
 					RunSuffix += "_" + filter.ID;
@@ -207,9 +207,7 @@ namespace TUGraz.VectoCore.OutputData
 				_writer.WriteModData(RunName, CycleName, RunSuffix, new DataView(filteredData).ToTable(false, strCols.ToArray()));
 			}
 
-			if (_mode == ExecutionMode.Declaration) {
-				_addReportResult(this);
-			}
+			_addReportResult(this);
 		}
 
 		public IEnumerable<T> GetValues<T>(DataColumn col)
diff --git a/VectoCore/VectoCore/Properties/Version.cs b/VectoCore/VectoCore/Properties/Version.cs
index a4d9b2b153af2efc2c6343b9d39a8255dd52909b..6d96b40242ac8fdb3018a167a07c1db321c5da74 100644
--- a/VectoCore/VectoCore/Properties/Version.cs
+++ b/VectoCore/VectoCore/Properties/Version.cs
@@ -30,5 +30,5 @@
 */
 
 using System.Reflection;
-[assembly: AssemblyVersion("3.0.4.544")]
-[assembly: AssemblyFileVersion("3.0.4.544")]
+[assembly: AssemblyVersion("3.0.4.565")]
+[assembly: AssemblyFileVersion("3.0.4.565")]
diff --git a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs
index 2826cf2d25c7b17a9b72659eed17d58a13458415..0d889a00838c3a9badaa5b1681d05fdaef5fe505 100644
--- a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs
+++ b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs
@@ -72,7 +72,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 			bool overspeed = false)
 		{
 			var fileWriter = new FileOutputWriter(modFileName);
-			var modData = new ModalDataContainer(modFileName, fileWriter, ExecutionMode.Engineering) { WriteAdvancedAux = true };
+			var modData = new ModalDataContainer(modFileName, fileWriter) { WriteAdvancedAux = true };
 			var container = new VehicleContainer(ExecutionMode.Engineering, modData) {
 				RunData = new VectoRunData { JobName = modFileName, Cycle = cycleData }
 			};
@@ -133,9 +133,9 @@ namespace TUGraz.VectoCore.Tests.Integration
 				StartTorqueReserve = 0.2,
 				SkipGears = true,
 				TorqueReserve = 0.2,
-				UpshiftAfterDownshiftDelay = 10.SI<Second>(),
-				DownshiftAfterUpshiftDelay = 10.SI<Second>(),
-				UpshiftMinAcceleration = 0.1.SI<MeterPerSquareSecond>()
+				DownshiftAfterUpshiftDelay = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay,
+				UpshiftAfterDownshiftDelay = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay,
+				UpshiftMinAcceleration = DeclarationData.Gearbox.UpshiftMinAcceleration
 			};
 		}
 
diff --git a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs
index 9339a1ade92cf34405a2f329004313f6b9158bb8..734a48b373424f690e546ab0b8d9e6cd1b714ac9 100644
--- a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs
+++ b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs
@@ -70,7 +70,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 			bool overspeed = false, KilogramSquareMeter gearBoxInertia = null)
 		{
 			var fileWriter = new FileOutputWriter(modFileName);
-			var modData = new ModalDataContainer(modFileName, fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer(modFileName, fileWriter);
 			var container = new VehicleContainer(ExecutionMode.Engineering, modData) {
 				RunData = new VectoRunData { JobName = modFileName, Cycle = cycleData }
 			};
@@ -78,8 +78,9 @@ namespace TUGraz.VectoCore.Tests.Integration
 			var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile);
 			var axleGearData = CreateAxleGearData();
 			var gearboxData = CreateGearboxData();
-			if (gearBoxInertia != null)
+			if (gearBoxInertia != null) {
 				gearboxData.Inertia = gearBoxInertia;
+			}
 
 			var vehicleData = CreateVehicleData(3300.SI<Kilogram>());
 			var driverData = CreateDriverData(AccelerationFile, overspeed);
@@ -134,9 +135,9 @@ namespace TUGraz.VectoCore.Tests.Integration
 				StartTorqueReserve = 0.2,
 				SkipGears = true,
 				TorqueReserve = 0.2,
-				UpshiftAfterDownshiftDelay = 10.SI<Second>(),
-				DownshiftAfterUpshiftDelay = 10.SI<Second>(),
-				UpshiftMinAcceleration = 0.1.SI<MeterPerSquareSecond>()
+				DownshiftAfterUpshiftDelay = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay,
+				UpshiftAfterDownshiftDelay = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay,
+				UpshiftMinAcceleration = DeclarationData.Gearbox.UpshiftMinAcceleration
 			};
 		}
 
diff --git a/VectoCore/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs b/VectoCore/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
index 798b6af731955d509109ee2e48bc5a35160ca262..32f49f0fa4c979a7e9354898cf7244662ab01347 100644
--- a/VectoCore/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
@@ -86,9 +86,9 @@ namespace TUGraz.VectoCore.Tests.Integration.EngineOnlyCycle
 			var dt = 1.SI<Second>();
 
 			var modFile = Path.GetFileNameWithoutExtension(modalResultFile);
-				//Path.GetFileNameWithoutExtension(Path.GetRandomFileName()); // + ".vmod";
+			//Path.GetFileNameWithoutExtension(Path.GetRandomFileName()); // + ".vmod";
 			var fileWriter = new FileOutputWriter(modFile);
-			var modData = new ModalDataContainer(modFile, fileWriter, ExecutionMode.EngineOnly);
+			var modData = new ModalDataContainer(modFile, fileWriter, true) { WriteModalResults = true };
 
 			port.Initialize(data.Entries.First().Torque, data.Entries.First().AngularVelocity);
 			foreach (var cycleEntry in data.Entries) {
@@ -112,7 +112,7 @@ namespace TUGraz.VectoCore.Tests.Integration.EngineOnlyCycle
 		{
 			var dataWriter = new MockModalDataContainer();
 
-			var vehicleContainer = new VehicleContainer(ExecutionMode.EngineOnly);
+			var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering);
 
 			var engine = new CombustionEngine(vehicleContainer, MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile));
 
diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs
index 38e3a83dff12504d009571aa89907ea4cfdbc8bf..73e36b2edd5617d2740a64fc8628b0888515eb6c 100644
--- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs
+++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/FullPowertrain.cs
@@ -70,7 +70,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
 		public void Test_FullPowertrain_SimpleGearbox()
 		{
 			var fileWriter = new FileOutputWriter("Coach_FullPowertrain_SimpleGearbox");
-			var modData = new ModalDataContainer("Coach_FullPowertrain_SimpleGearbox", fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("Coach_FullPowertrain_SimpleGearbox", fileWriter);
 			var container = new VehicleContainer(ExecutionMode.Engineering, modData);
 
 			var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile);
@@ -129,7 +129,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
 		public void Test_FullPowertrain()
 		{
 			var fileWriter = new FileOutputWriter("Coach_FullPowertrain");
-			var modData = new ModalDataContainer("Coach_FullPowertrain", fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("Coach_FullPowertrain", fileWriter);
 			var container = new VehicleContainer(ExecutionMode.Engineering, modData);
 
 			var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile);
@@ -203,7 +203,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
 		public void Test_FullPowertrain_LowSpeed()
 		{
 			var fileWriter = new FileOutputWriter("Coach_FullPowertrain_LowSpeed");
-			var modData = new ModalDataContainer("Coach_FullPowertrain_LowSpeed", fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("Coach_FullPowertrain_LowSpeed", fileWriter);
 			var container = new VehicleContainer(ExecutionMode.Engineering, modData);
 
 			var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile);
@@ -318,9 +318,9 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
 				StartAcceleration = 0.6.SI<MeterPerSquareSecond>(),
 				StartTorqueReserve = 0.2,
 				TorqueReserve = 0.2,
-				DownshiftAfterUpshiftDelay = 10.SI<Second>(),
-				UpshiftAfterDownshiftDelay = 10.SI<Second>(),
-				UpshiftMinAcceleration = 0.1.SI<MeterPerSquareSecond>()
+				DownshiftAfterUpshiftDelay = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay,
+				UpshiftAfterDownshiftDelay = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay,
+				UpshiftMinAcceleration = DeclarationData.Gearbox.UpshiftMinAcceleration
 			};
 		}
 
@@ -356,9 +356,9 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
 				StartAcceleration = 0.6.SI<MeterPerSquareSecond>(),
 				StartTorqueReserve = 0.2,
 				TorqueReserve = 0.2,
-				DownshiftAfterUpshiftDelay = 10.SI<Second>(),
-				UpshiftAfterDownshiftDelay = 10.SI<Second>(),
-				UpshiftMinAcceleration = 0.1.SI<MeterPerSquareSecond>()
+				DownshiftAfterUpshiftDelay = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay,
+				UpshiftAfterDownshiftDelay = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay,
+				UpshiftMinAcceleration = DeclarationData.Gearbox.UpshiftMinAcceleration
 			};
 		}
 
diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs
index 715e9716c38b3a6b9b562eb2b1fd914129d972e1..8c7f127015a4ff910bccab0da2ee16d3313f5b0b 100644
--- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs
+++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs
@@ -74,7 +74,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
 			var driverData = CreateDriverData(AccelerationFile);
 
 			var fileWriter = new FileOutputWriter("Coach_MinimalPowertrainOverload");
-			var modData = new ModalDataContainer("Coach_MinimalPowertrainOverload", fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("Coach_MinimalPowertrainOverload", fileWriter);
 			var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering, modData);
 
 			var driver = new Driver(vehicleContainer, driverData, new DefaultDriverStrategy());
@@ -123,7 +123,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
 			var driverData = CreateDriverData(AccelerationFile);
 
 			var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain");
-			var modData = new ModalDataContainer("Coach_MinimalPowertrain", fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("Coach_MinimalPowertrain", fileWriter);
 			var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering, modData);
 
 			var cycle = new DistanceBasedDrivingCycle(vehicleContainer, cycleData);
@@ -197,7 +197,7 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
 			var driverData = CreateDriverData(AccelerationFile2);
 
 			var fileWriter = new FileOutputWriter("Coach_MinimalPowertrainOverload");
-			var modData = new ModalDataContainer("Coach_MinimalPowertrainOverload", fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("Coach_MinimalPowertrainOverload", fileWriter);
 			var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering, modData);
 
 			var cycle = new DistanceBasedDrivingCycle(vehicleContainer, cycleData);
diff --git a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs
index f292ba05c5d993abc9dfb159d9406da9ee5d2b69..ae4ad0c609414b9cc0af103ee61771a5b857bad8 100644
--- a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs
+++ b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs
@@ -84,7 +84,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 			Kilogram massExtra, Kilogram loading, bool overspeed = false, GearboxType gbxType = GearboxType.AMT)
 		{
 			var fileWriter = new FileOutputWriter(modFileName);
-			var modData = new ModalDataContainer(Path.GetFileName(modFileName), fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer(Path.GetFileName(modFileName), fileWriter);
 			var container = new VehicleContainer(ExecutionMode.Engineering, modData) {
 				RunData = new VectoRunData { JobName = modFileName, Cycle = cycleData }
 			};
@@ -152,9 +152,9 @@ namespace TUGraz.VectoCore.Tests.Integration
 				StartTorqueReserve = 0.2,
 				SkipGears = true,
 				EarlyShiftUp = true,
-				UpshiftAfterDownshiftDelay = 10.SI<Second>(),
-				DownshiftAfterUpshiftDelay = 10.SI<Second>(),
-				UpshiftMinAcceleration = 0.1.SI<MeterPerSquareSecond>()
+				DownshiftAfterUpshiftDelay = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay,
+				UpshiftAfterDownshiftDelay = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay,
+				UpshiftMinAcceleration = DeclarationData.Gearbox.UpshiftMinAcceleration
 			};
 		}
 
diff --git a/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs b/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs
index ebd013e2e2da5ac5cb2ec4b0599f33375516931c..70d7c3a54d2fff0aa77f457ed713d0ecc4378adf 100644
--- a/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs
+++ b/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs
@@ -56,7 +56,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 
 		{
 			var fileWriter = new FileOutputWriter("AuxWriteModFileSumFile");
-			var modData = new ModalDataContainer("AuxWriteModFileSumFile", fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("AuxWriteModFileSumFile", fileWriter);
 			modData.AddAuxiliary("FAN");
 			modData.AddAuxiliary("PS");
 			modData.AddAuxiliary("STP");
diff --git a/VectoCore/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs b/VectoCore/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs
index ee80cf4dc60299ed9ce33f4f2a53b5df3a2d1146..e35c1571183035268e14793828c27bec5f8a409c 100644
--- a/VectoCore/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs
+++ b/VectoCore/VectoCoreTest/Models/Simulation/DrivingCycleTests.cs
@@ -51,7 +51,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 		public void TestEngineOnly()
 		{
 			var dataWriter = new MockModalDataContainer();
-			var container = new VehicleContainer(ExecutionMode.EngineOnly, dataWriter);
+			var container = new VehicleContainer(ExecutionMode.Engineering, dataWriter);
 
 			var cycleData = DrivingCycleDataReader.ReadFromFile(@"TestData\Cycles\Coach Engine Only.vdri", CycleType.EngineOnly,
 				false);
@@ -82,7 +82,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 		[TestMethod]
 		public void TestEngineOnlyWithTimestamps()
 		{
-			var container = new VehicleContainer(ExecutionMode.EngineOnly);
+			var container = new VehicleContainer(ExecutionMode.Engineering);
 
 			var cycleData = DrivingCycleDataReader.ReadFromFile(@"TestData\Cycles\Coach Engine Only Paux_var-dt.vdri",
 				CycleType.EngineOnly, false);
diff --git a/VectoCore/VectoCoreTest/Models/Simulation/SimulationTests.cs b/VectoCore/VectoCoreTest/Models/Simulation/SimulationTests.cs
index ed64a12e5e910ae809b519318664e475a32638d1..9d878f10214ea0cbc36f49f2a11ac48981e39ef6 100644
--- a/VectoCore/VectoCoreTest/Models/Simulation/SimulationTests.cs
+++ b/VectoCore/VectoCoreTest/Models/Simulation/SimulationTests.cs
@@ -98,7 +98,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var sumWriter = new SummaryDataContainer(fileWriter);
 
 			var inputData = JSONInputDataFactory.ReadJsonJob(EngineOnlyJob);
-			var factory = new SimulatorFactory(ExecutionMode.EngineOnly, inputData, fileWriter) {
+			var factory = new SimulatorFactory(ExecutionMode.Engineering, inputData, fileWriter) {
 				SumData = sumWriter
 			};
 
@@ -114,7 +114,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var jobContainer = new JobContainer(sumWriter);
 
 			var inputData = JSONInputDataFactory.ReadJsonJob(jobFile);
-			var runsFactory = new SimulatorFactory(ExecutionMode.EngineOnly,
+			var runsFactory = new SimulatorFactory(ExecutionMode.Engineering,
 				inputData, fileWriter);
 
 			jobContainer.AddRuns(runsFactory);
diff --git a/VectoCore/VectoCoreTest/Models/Simulation/VechicleContainerTests.cs b/VectoCore/VectoCoreTest/Models/Simulation/VechicleContainerTests.cs
index a8bd60d9a474c24cd789f8ff3dbe471cb10dd743..581733901edc7378d40fb31376abfbd0d93a40c3 100644
--- a/VectoCore/VectoCoreTest/Models/Simulation/VechicleContainerTests.cs
+++ b/VectoCore/VectoCoreTest/Models/Simulation/VechicleContainerTests.cs
@@ -45,7 +45,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 		[TestMethod]
 		public void VechicleContainerHasEngine()
 		{
-			var vehicle = new VehicleContainer(ExecutionMode.EngineOnly);
+			var vehicle = new VehicleContainer(ExecutionMode.Engineering);
 			var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile);
 			var engine = new CombustionEngine(vehicle, engineData);
 
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
index d6c34adc2c9bfaa60f167a7cf76d35a5edc68254..eaf3bf38d361a89e34ef0c8e6fb01925b2f3df69 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
@@ -63,7 +63,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 		[TestCase]
 		public void TestEngineHasOutPort()
 		{
-			var vehicle = new VehicleContainer(ExecutionMode.EngineOnly);
+			var vehicle = new VehicleContainer(ExecutionMode.Engineering);
 			var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(CoachEngine);
 			var engine = new CombustionEngine(vehicle, engineData);
 
@@ -74,7 +74,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 		[TestCase]
 		public void TestOutPortRequestNotFailing()
 		{
-			var vehicle = new VehicleContainer(ExecutionMode.EngineOnly);
+			var vehicle = new VehicleContainer(ExecutionMode.Engineering);
 			var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(CoachEngine);
 			var engine = new CombustionEngine(vehicle, engineData);
 
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs
index ef309e5375f01e4484a32886b0d506da0c13d5e4..345719ff41c0846a5cb201339c7d5e0da58840f0 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs
@@ -69,7 +69,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var driverData = CreateDriverData();
 
 			var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain_Coasting");
-			var modData = new ModalDataContainer("Coach_MinimalPowertrain_Coasting", fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("Coach_MinimalPowertrain_Coasting", fileWriter);
 			var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering, modData);
 			var mockCycle = new MockDrivingCycle(vehicleContainer, null);
 
@@ -125,7 +125,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var driverData = CreateDriverData();
 
 			var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain_Coasting");
-			var modData = new ModalDataContainer("Coach_MinimalPowertrain_Coasting", fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("Coach_MinimalPowertrain_Coasting", fileWriter);
 			var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering, modData);
 			var mockCycle = new MockDrivingCycle(vehicleContainer, null);
 
@@ -184,7 +184,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var driverData = CreateDriverData();
 
 			var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain");
-			var modData = new ModalDataContainer("Coach_MinimalPowertrain", fileWriter, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("Coach_MinimalPowertrain", fileWriter);
 			var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering, modData);
 
 			var cycle = new MockDrivingCycle(vehicleContainer, null);
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
index 8a0851f9cb975f9b3971a6e85238a5cc86a6d106..89fb85d1e3f408b277ede49d715b1be1de16c405 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
@@ -38,6 +38,7 @@ using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.InputData.Reader;
 using TUGraz.VectoCore.Models.Connector.Ports.Impl;
+using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.DataBus;
 using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
@@ -92,6 +93,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 				ShiftTime = 2.SI<Second>(),
 				Inertia = 0.SI<KilogramSquareMeter>(),
 				TractionInterruption = 1.SI<Second>(),
+				DownshiftAfterUpshiftDelay = DeclarationData.Gearbox.DownshiftAfterUpshiftDelay,
+				UpshiftAfterDownshiftDelay = DeclarationData.Gearbox.UpshiftAfterDownshiftDelay,
+				UpshiftMinAcceleration = DeclarationData.Gearbox.UpshiftMinAcceleration
 			};
 		}
 
diff --git a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
index 383a5a0d8e80d81a2cde7617b9eea36260245b0c..1a6ce22dccc6fc4d21ff90c3821bb6ea311fab12 100644
--- a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
+++ b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs
@@ -49,7 +49,8 @@ namespace TUGraz.VectoCore.Tests.Reports
 			var writer = new FileOutputWriter("testsumcalc_fixed");
 			var sumWriter = new SummaryDataContainer(writer);
 
-			var modData = new ModalDataContainer("testsumcalc_fixed", writer, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("testsumcalc_fixed", writer);
+			
 			modData.AddAuxiliary("FAN");
 
 			for (var i = 0; i < 500; i++) {
@@ -99,7 +100,7 @@ namespace TUGraz.VectoCore.Tests.Reports
 			var writer = new FileOutputWriter("testsumcalc_var");
 			var sumWriter = new SummaryDataContainer(writer);
 
-			var modData = new ModalDataContainer("testsumcalc_var", writer, ExecutionMode.Engineering);
+			var modData = new ModalDataContainer("testsumcalc_var", writer);
 			modData.AddAuxiliary("FAN");
 
 			var timeSteps = new[]