diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
index 15f8883ed2ae995fa9fd4e8ee5d5670621a33932..46065fe6837898415cb2c64c1e145161331d1f40 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs
@@ -141,15 +141,15 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 		{
 			TransmissionLossMap axleLossMap;
 			if (data.LossMap == null && useEfficiencyFallback) {
-				axleLossMap = TransmissionLossMapReader.Create(data.Efficiency, data.Ratio, "AxleGear");
+				axleLossMap = TransmissionLossMapReader.Create(data.Efficiency, data.Ratio, "Axlegear");
 			} else {
 				if (data.LossMap == null) {
-					throw new Exception("LossMap for AxleGear is missing.");
+					throw new InvalidFileFormatException("LossMap for Axlegear is missing.");
 				}
-				axleLossMap = TransmissionLossMapReader.Create(data.LossMap, data.Ratio, "AxleGear");
+				axleLossMap = TransmissionLossMapReader.Create(data.LossMap, data.Ratio, "Axlegear");
 			}
 			if (axleLossMap == null) {
-				throw new Exception("LossMap for AxleGear is missing.");
+				throw new InvalidFileFormatException("LossMap for Axlegear is missing.");
 			}
 
 			return new AxleGearData {
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/AccelerationCurve.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/AccelerationCurve.cs
index ad52bffd2940dc50b46252ddd1edfd6397fdd9bb..35a68b857d43b58fc169edb8e58f22740f973b2a 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/AccelerationCurve.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/AccelerationCurve.cs
@@ -31,6 +31,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Diagnostics;
 using System.Linq;
 using TUGraz.VectoCommon.Utils;
@@ -100,7 +101,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
 		[DebuggerDisplay("Acceleration: {Acceleration}, Deceleration: {Deceleration}")]
 		public class AccelerationEntry
 		{
+			[Required, SIRange(0.3, 10)]
 			public MeterPerSquareSecond Acceleration { get; set; }
+
+			[Required, SIRange(-0.5, -10)]
 			public MeterPerSquareSecond Deceleration { get; set; }
 		}
 
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs
index 8d484b39a51d16d93be0be34fd71fcc74330a512..9f2c83b285f95fda4cb9e55b14cd71896493d85f 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/VehicleData.cs
@@ -205,12 +205,12 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
 			}
 			// vvvvvvv these checks apply only for declaration mode! vvvvvv
 
-			if (vehicleData.AxleConfiguration.NumAxles() != vehicleData.AxleData.Count) {
-				return
-					new ValidationResult(
-						string.Format("For a {0} type vehicle exactly {1} number of axles have to pe specified. Found {2}",
-							vehicleData.AxleConfiguration.GetName(), vehicleData.AxleConfiguration.NumAxles(), vehicleData.AxleData.Count));
-			}
+			//if (vehicleData.AxleConfiguration.NumAxles() != vehicleData.AxleData.Count) {
+			//	return
+			//		new ValidationResult(
+			//			string.Format("For a {0} type vehicle exactly {1} number of axles have to pe specified. Found {2}",
+			//				vehicleData.AxleConfiguration.GetName(), vehicleData.AxleConfiguration.NumAxles(), vehicleData.AxleData.Count));
+			//}
 
 			if (vehicleData.TotalVehicleWeight() > gvwTotal) {
 				return new ValidationResult(
diff --git a/VectoCore/VectoCoreTest/FileIO/JsonTest.cs b/VectoCore/VectoCoreTest/FileIO/JsonTest.cs
index 61d734158f9615f00e41a905131f4325958f157e..00fe6de361ed1f4e1f65e2cd758754a561f63e0e 100644
--- a/VectoCore/VectoCoreTest/FileIO/JsonTest.cs
+++ b/VectoCore/VectoCoreTest/FileIO/JsonTest.cs
@@ -94,8 +94,8 @@ namespace TUGraz.VectoCore.Tests.FileIO
 			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
 			((JObject)json["Body"]).Property("Cycles").Remove();
 
-			AssertHelper.Exception<InvalidFileFormatException>(
-				() => { var tmp = new JSONInputDataV2(json, TestJobFile).Cycles; }, "Key Cycles not found");
+			var tmp = new JSONInputDataV2(json, TestJobFile).Cycles;
+			Assert.AreEqual(0, tmp.Count);
 		}
 
 		[TestMethod]
@@ -115,10 +115,9 @@ namespace TUGraz.VectoCore.Tests.FileIO
 			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
 			((JObject)json["Body"]).Property("VACC").Remove();
 
-			AssertHelper.Exception<VectoException>(() => {
-				IEngineeringInputDataProvider input = new JSONInputDataV2(json, TestJobFile);
-				var tmp = input.DriverInputData.AccelerationCurve;
-			}, "AccelerationCurve (VACC) required");
+			IEngineeringInputDataProvider input = new JSONInputDataV2(json, TestJobFile);
+			var tmp = input.DriverInputData.AccelerationCurve;
+			Assert.IsNull(tmp);
 		}
 
 		[TestMethod]
diff --git a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs
index cb5971d3e6210eaa1d152a60bdbf414c5c420204..b53a86c0bc97f8ae68f698c3e7e6560cb0d6eba5 100644
--- a/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs
+++ b/VectoCore/VectoCoreTest/Integration/ATPowerTrain.cs
@@ -175,7 +175,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 				AccelerationCurve = AccelerationCurveReader.ReadFromFile(accelerationFile),
 				LookAheadCoasting = new DriverData.LACData {
 					Enabled = true,
-					//MinSpeed = 50.KMPHtoMeterPerSecond(),
+					MinSpeed = 50.KMPHtoMeterPerSecond(),
 					//Deceleration = -0.5.SI<MeterPerSquareSecond>()
 					LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor,
 					LookAheadDecisionFactor = new LACDecisionFactor()
diff --git a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs
index 29e2aa7d5cabf7cd2b9a2dab8f9f477ae02f27c4..3018ddcc37b1068f3175d9f4cb4141a43996d7be 100644
--- a/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs
+++ b/VectoCore/VectoCoreTest/Integration/CoachAdvancedAuxPowertrain.cs
@@ -193,7 +193,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 				AccelerationCurve = AccelerationCurveReader.ReadFromFile(accelerationFile),
 				LookAheadCoasting = new DriverData.LACData {
 					Enabled = true,
-					//MinSpeed = 50.KMPHtoMeterPerSecond(),
+					MinSpeed = 50.KMPHtoMeterPerSecond(),
 					//Deceleration = -0.5.SI<MeterPerSquareSecond>()
 					LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor,
 					LookAheadDecisionFactor = new LACDecisionFactor()
diff --git a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs
index 5c4738dfb0e3e13021ec05da297df9e5342a0fd0..549d9d70cb022f715673b560d3b1e6265568a0f6 100644
--- a/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs
+++ b/VectoCore/VectoCoreTest/Integration/CoachPowerTrain.cs
@@ -196,7 +196,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 				AccelerationCurve = AccelerationCurveReader.ReadFromFile(accelerationFile),
 				LookAheadCoasting = new DriverData.LACData {
 					Enabled = true,
-					//MinSpeed = 50.KMPHtoMeterPerSecond(),
+					MinSpeed = 50.KMPHtoMeterPerSecond(),
 					//Deceleration = -0.5.SI<MeterPerSquareSecond>()
 					LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor,
 					LookAheadDecisionFactor = new LACDecisionFactor()
diff --git a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs
index c9802f412b3ba5d4eb9a49547d4b16a3ca8fa052..10a8ec888a00f89542499485920945f1a43a3d18 100644
--- a/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs
+++ b/VectoCore/VectoCoreTest/Integration/Truck40tPowerTrain.cs
@@ -230,7 +230,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 				AccelerationCurve = AccelerationCurveReader.ReadFromFile(accelerationFile),
 				LookAheadCoasting = new DriverData.LACData {
 					Enabled = true,
-					//MinSpeed = 50.KMPHtoMeterPerSecond(),
+					MinSpeed = 50.KMPHtoMeterPerSecond(),
 					//Deceleration = -0.5.SI<MeterPerSquareSecond>(),
 					LookAheadDistanceFactor = DeclarationData.Driver.LookAhead.LookAheadDistanceFactor,
 					LookAheadDecisionFactor = new LACDecisionFactor()
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs
index 8f62fa8781c58895e69be14ce963eb9e57726f2c..e46ffa316d80812ba9b2c27e985b445fb4850db8 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs
@@ -27,10 +27,10 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 		TestCase(5, 600, 1),
 		TestCase(15, 100, 3),
 		TestCase(15, 300, 3),
-		TestCase(15, 600, 2),
+		TestCase(15, 600, 3),
 		TestCase(40, 100, 6),
-		TestCase(40, 300, 5),
-		TestCase(40, 600, 4),
+		TestCase(40, 300, 6),
+		TestCase(40, 600, 6),
 		TestCase(70, 100, 6),
 		TestCase(70, 300, 6),
 		TestCase(70, 600, 6),
diff --git a/VectoCore/VectoCoreTest/TestData/Components/AT_GBX/GearboxPowerSplit.vgbx b/VectoCore/VectoCoreTest/TestData/Components/AT_GBX/GearboxPowerSplit.vgbx
index c9f9715f9027e5bf754bbf7a9862c4c389dc6386..e6667e5d17fb988d41a51d14f2f1f4bc48a7220f 100644
--- a/VectoCore/VectoCoreTest/TestData/Components/AT_GBX/GearboxPowerSplit.vgbx
+++ b/VectoCore/VectoCoreTest/TestData/Components/AT_GBX/GearboxPowerSplit.vgbx
@@ -18,19 +18,19 @@
       {
         "Ratio": 1.35,
         "Efficiency": "0.98",
-        "ShiftPolygon": "<NOFILE>",
+        "ShiftPolygon": "AT-Shift.vgbs",
         "FullLoadCurve": "<NOFILE>"
       },
       {
         "Ratio": 1.0,
         "Efficiency": "0.98",
-        "ShiftPolygon": "<NOFILE>",
+        "ShiftPolygon": "AT-Shift.vgbs",
         "FullLoadCurve": "<NOFILE>"
       },
       {
         "Ratio": 0.73,
         "Efficiency": "0.98",
-        "ShiftPolygon": "<NOFILE>",
+        "ShiftPolygon": "AT-Shift.vgbs",
         "FullLoadCurve": "<NOFILE>"
       },
     ],
@@ -45,6 +45,7 @@
     "TorqueConverter": {
       "Enabled": true,
       "File": "TorqueConverterPowerSplit.vtcc",
+	  "ShiftPolygon": "AT-Shift.vgbs",
       "RefRPM": 1000.0,
       "Inertia": 0.0
     },
diff --git a/VectoCore/VectoCoreTest/TestData/Components/AT_GBX/GearboxSerialDualTC.vgbx b/VectoCore/VectoCoreTest/TestData/Components/AT_GBX/GearboxSerialDualTC.vgbx
index bc75d4a29bb2fc061fb91354db454a26a127bc4a..350c4602373e90054485362db955f09e2a4104a9 100644
--- a/VectoCore/VectoCoreTest/TestData/Components/AT_GBX/GearboxSerialDualTC.vgbx
+++ b/VectoCore/VectoCoreTest/TestData/Components/AT_GBX/GearboxSerialDualTC.vgbx
@@ -18,31 +18,31 @@
       {
         "Ratio": 4.35,
         "Efficiency": "0.98",
-        "ShiftPolygon": "<NOFILE>",
+        "ShiftPolygon": "AT-Shift.vgbs",
         "FullLoadCurve": "<NOFILE>"
       },
       {
         "Ratio": 2.4,
         "Efficiency": "0.98",
-        "ShiftPolygon": "<NOFILE>",
+        "ShiftPolygon": "AT-Shift.vgbs",
         "FullLoadCurve": "<NOFILE>"
       },
       {
         "Ratio": 1.8,
         "Efficiency": "0.98",
-        "ShiftPolygon": "<NOFILE>",
+        "ShiftPolygon": "AT-Shift.vgbs",
         "FullLoadCurve": "<NOFILE>"
       },
       {
         "Ratio": 1.3,
         "Efficiency": "0.98",
-        "ShiftPolygon": "<NOFILE>",
+        "ShiftPolygon": "AT-Shift.vgbs",
         "FullLoadCurve": "<NOFILE>"
       },
       {
         "Ratio": 1.0,
         "Efficiency": "0.98",
-        "ShiftPolygon": "<NOFILE>",
+        "ShiftPolygon": "AT-Shift.vgbs",
         "FullLoadCurve": "<NOFILE>"
       }
     ],
@@ -57,6 +57,7 @@
     "TorqueConverter": {
       "Enabled": true,
       "File": "TorqueConverter.vtcc",
+	  "ShiftPolygon": "AT-Shift.vgbs",
       "RefRPM": 1000.0,
       "Inertia": 0.0
     },