diff --git a/VECTO.sln b/VECTO.sln
index 9f48ecc4f60cec6d8b8622d6d430b0249ae412e3..a61389e9951ac55085a81bffe9b5e7a9379d442e 100644
--- a/VECTO.sln
+++ b/VECTO.sln
@@ -65,11 +65,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HashingTool", "HashingTool\
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HashingCmd", "HashingCmd\HashingCmd.csproj", "{33F9848E-9257-4BE2-915F-68E748AEB204}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{B5A298FD-8117-4443-9419-66BADA094716}"
-	ProjectSection(SolutionItems) = preProject
-		.nuget\packages.config = .nuget\packages.config
-	EndProjectSection
-EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug PerformanceStats|Any CPU = Debug PerformanceStats|Any CPU
diff --git a/VECTO/GUI/VectoVTPJobForm.vb b/VECTO/GUI/VectoVTPJobForm.vb
index 5831b3d04b8e493ca7c8ec6c90d4fdac851f918b..3f54094b6bbdf4b6d6026d5b1497abed3a9af338 100644
--- a/VECTO/GUI/VectoVTPJobForm.vb
+++ b/VECTO/GUI/VectoVTPJobForm.vb
@@ -10,12 +10,9 @@
 ' See the LICENSE.txt for the specific language governing permissions and limitations.
 'Option Infer On
 
-Imports System.Collections.Generic
 Imports System.Drawing.Imaging
 Imports System.IO
 Imports System.Linq
-Imports System.Runtime.CompilerServices
-Imports System.Text.RegularExpressions
 Imports System.Windows.Forms.DataVisualization.Charting
 Imports System.Xml
 Imports TUGraz.VECTO.Input_Files
@@ -26,9 +23,7 @@ Imports TUGraz.VectoCore.InputData.FileIO.JSON
 Imports TUGraz.VectoCore.InputData.FileIO.XML.Declaration
 Imports TUGraz.VectoCore.InputData.Reader
 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>
 ''' Job Editor. Create/Edit VECTO job files (.vecto)
@@ -283,7 +278,7 @@ Public Class VectoVTPJobForm
         vectoJob.FanCoefficients = New Double() {
             tbC1.Text.ToDouble(0),
             tbC2.Text.ToDouble(0),
-            tbC3.Text.ToDouble(0)    
+            tbC3.Text.ToDouble(0)
         }
         vectoJob.FanDiameter = (tbFanDiameter.Text.ToDouble(0) / 1000).SI(of Meter)
 
@@ -625,89 +620,89 @@ Public Class VectoVTPJobForm
             Try
                 Dim inputData As XMLDeclarationInputDataProvider = New XMLDeclarationInputDataProvider(XmlReader.Create(vehicleFile), True)
                 vehicle = inputData.JobInputData.Vehicle
-			Catch
-			End Try
-		End If
-
-		If vehicle Is Nothing Then Return
+            Catch
+            End Try
+        End If
 
-		Dim maxMass As Kilogram = vehicle.GrossVehicleMassRating					'CSng(fTextboxToNumString(TbMassMass.Text))
+        If vehicle Is Nothing Then Return
 
-		Dim s0 As Segment = Nothing
-		Try
-			s0 = DeclarationData.Segments.Lookup(vehicle.VehicleCategory, vehicle.AxleConfiguration, maxMass, 0.SI(Of Kilogram),
-												True)
-		Catch
-		End Try
-		If Not s0.Found Then
-			HDVclass = "-"
-		Else
-			HDVclass = s0.VehicleClass.GetClassNumber()
+        Dim maxMass As Kilogram = vehicle.GrossVehicleMassRating                    'CSng(fTextboxToNumString(TbMassMass.Text))
 
-			If Cfg.DeclMode Then
-				LvCycles.Items.Clear()
-				Dim m0 As Mission
-				For Each m0 In s0.Missions
-					LvCycles.Items.Add(m0.MissionType.ToString())
-				Next
-			End If
+        Dim s0 As Segment = Nothing
+        Try
+            s0 = DeclarationData.Segments.Lookup(vehicle.VehicleCategory, vehicle.AxleConfiguration, maxMass, 0.SI(Of Kilogram),
+                                                True)
+        Catch
+        End Try
+        If Not s0.Found Then
+            HDVclass = "-"
+        Else
+            HDVclass = s0.VehicleClass.GetClassNumber()
+
+            If Cfg.DeclMode Then
+                LvCycles.Items.Clear()
+                Dim m0 As Mission
+                For Each m0 In s0.Missions
+                    LvCycles.Items.Add(m0.MissionType.ToString())
+                Next
+            End If
 
-		End If
+        End If
 
-		PicVehicle.Image = ConvPicPath(If(Not s0.Found, -1, HDVclass.ToInt()), False) _
-		'Image.FromFile(cDeclaration.ConvPicPath(HDVclass, False))
+        PicVehicle.Image = ConvPicPath(If(Not s0.Found, -1, HDVclass.ToInt()), False) _
+        'Image.FromFile(cDeclaration.ConvPicPath(HDVclass, False))
 
-		TbHVCclass.Text = String.Format("HDV Class {0}", HDVclass)
-		TbVehCat.Text = vehicle.VehicleCategory.GetCategoryName()	'ConvVehCat(VEH0.VehCat, True)
-		TbMass.Text = (vehicle.GrossVehicleMassRating.Value() / 1000) & " t"
-		TbAxleConf.Text = vehicle.AxleConfiguration.GetName()	'ConvAxleConf(VEH0.AxleConf)
-	End Sub
+        TbHVCclass.Text = String.Format("HDV Class {0}", HDVclass)
+        TbVehCat.Text = vehicle.VehicleCategory.GetCategoryName()   'ConvVehCat(VEH0.VehCat, True)
+        TbMass.Text = (vehicle.GrossVehicleMassRating.Value() / 1000) & " t"
+        TbAxleConf.Text = vehicle.AxleConfiguration.GetName()   'ConvAxleConf(VEH0.AxleConf)
+    End Sub
 
 
 #Region "Open File Context Menu"
 
-	Private _contextMenuFiles As String()
-	Private _basePath As String = ""
-
-	Private Sub OpenFiles(ParamArray files() As String)
-		If files.Length = 0 Then Exit Sub
-
-		_contextMenuFiles = files
-		OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName
-		CmOpenFile.Show(Windows.Forms.Cursor.Position)
-	End Sub
-
-	Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _
-		Handles OpenWithToolStripMenuItem.Click
-		If Not FileOpenAlt(_contextMenuFiles(0)) Then MsgBox("Failed to open file!")
-	End Sub
-
-	Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _
-		Handles ShowInFolderToolStripMenuItem.Click
-		If File.Exists(_contextMenuFiles(0)) Then
-			Try
-				Process.Start("explorer", "/select,""" & _contextMenuFiles(0) & "")
-			Catch ex As Exception
-				MsgBox("Failed to open file!")
-			End Try
-		Else
-			MsgBox("File not found!")
-		End If
-	End Sub
+    Private _contextMenuFiles As String()
+    Private _basePath As String = ""
+
+    Private Sub OpenFiles(ParamArray files() As String)
+        If files.Length = 0 Then Exit Sub
+
+        _contextMenuFiles = files
+        OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName
+        CmOpenFile.Show(Windows.Forms.Cursor.Position)
+    End Sub
+
+    Private Sub OpenWithToolStripMenuItem_Click(sender As Object, e As EventArgs) _
+        Handles OpenWithToolStripMenuItem.Click
+        If Not FileOpenAlt(_contextMenuFiles(0)) Then MsgBox("Failed to open file!")
+    End Sub
+
+    Private Sub ShowInFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) _
+        Handles ShowInFolderToolStripMenuItem.Click
+        If File.Exists(_contextMenuFiles(0)) Then
+            Try
+                Process.Start("explorer", "/select,""" & _contextMenuFiles(0) & "")
+            Catch ex As Exception
+                MsgBox("Failed to open file!")
+            End Try
+        Else
+            MsgBox("File not found!")
+        End If
+    End Sub
 
 #End Region
 
 
-	Private Sub LvCycles_MouseClick(sender As Object, e As MouseEventArgs) Handles LvCycles.MouseClick
-		If e.Button = MouseButtons.Right AndAlso LvCycles.SelectedItems.Count > 0 Then
-			OpenFiles(FileRepl(LvCycles.SelectedItems(0).SubItems(0).Text, GetPath(VectoFile)))
-		End If
-	End Sub
+    Private Sub LvCycles_MouseClick(sender As Object, e As MouseEventArgs) Handles LvCycles.MouseClick
+        If e.Button = MouseButtons.Right AndAlso LvCycles.SelectedItems.Count > 0 Then
+            OpenFiles(FileRepl(LvCycles.SelectedItems(0).SubItems(0).Text, GetPath(VectoFile)))
+        End If
+    End Sub
+
+    Private Sub LvAux_SelectedIndexChanged(sender As Object, e As EventArgs) Handles LvAux.SelectedIndexChanged
+    End Sub
 
-	Private Sub LvAux_SelectedIndexChanged(sender As Object, e As EventArgs) Handles LvAux.SelectedIndexChanged
-	End Sub
 
-   
 End Class
 
 
diff --git a/VECTO/VECTO.vbproj b/VECTO/VECTO.vbproj
index 62f7c9c1f85d491ec4d74ee0e3494271bf8d4861..0a898998adc2b65387b4569a95edfcd8d104e869 100644
--- a/VECTO/VECTO.vbproj
+++ b/VECTO/VECTO.vbproj
@@ -360,7 +360,6 @@
     </EmbeddedResource>
     <EmbeddedResource Include="GUI\VectoVTPJobForm.resx">
       <DependentUpon>VectoVTPJobForm.vb</DependentUpon>
-      <SubType>Designer</SubType>
     </EmbeddedResource>
     <EmbeddedResource Include="GUI\VehicleTorqueLimitsDialog.resx">
       <DependentUpon>VehicleTorqueLimitsDialog.vb</DependentUpon>
diff --git a/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs b/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs
index 76cacfd51125a2970c7ef405640534177527e676..00e58a6f581faac559f2a1b0920d24564615def8 100644
--- a/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs
@@ -729,13 +729,13 @@ namespace TUGraz.VectoCore.InputData.Reader
 						Time = row.ParseDouble(Fields.Time).SI<Second>(),
 						VehicleTargetSpeed = row.ParseDouble(Fields.VehicleSpeed).KMPHtoMeterPerSecond(),
 						AdditionalAuxPowerDemand =
-							row.ParseDoubleOrGetDefault(Fields.AdditionalAuxPowerDemand).SI().Kilo.Watt.Cast<Watt>(),
+							row.ParseDoubleOrGetDefault(Fields.AdditionalAuxPowerDemand).SI(Unit.SI.Kilo.Watt).Cast<Watt>(),
 						EngineSpeed = row.ParseDouble(Fields.EngineSpeedSuffix).RPMtoRad(),
 						WheelAngularVelocity = wheelSpeed,
 						Torque = (row.ParseDouble(Fields.WheelTorqueLeft).SI<NewtonMeter>() * row.ParseDouble(Fields.WheelSpeedLeft).RPMtoRad() + row.ParseDouble(Fields.WheelTorqueRight).SI<NewtonMeter>() * row.ParseDouble(Fields.WheelSpeedRight).RPMtoRad()) / wheelSpeed, 
 						FanSpeed = row.ParseDouble(Fields.FanSpeed).RPMtoRad(),
 						Gear = (uint)row.ParseDoubleOrGetDefault(Fields.Gear),
-						Fuelconsumption = row.ParseDoubleOrGetDefault(Fields.FuelConsumption).SI().Gramm.Per.Hour.ConvertTo().Kilo.Gramm.Per.Second.Cast<KilogramPerSecond>(),
+						Fuelconsumption = row.ParseDoubleOrGetDefault(Fields.FuelConsumption).SI(Unit.SI.Gramm.Per.Hour).Cast<KilogramPerSecond>(),
 					};
 				}).ToArray();
 
diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/EngineFanAuxiliary.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/EngineFanAuxiliary.cs
index d9c158fa36a1fda35aef69b90bd5da786e0e3b01..83e564d06d51e320c7dc76be49f3db59ea1bce52 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/EngineFanAuxiliary.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/EngineFanAuxiliary.cs
@@ -15,7 +15,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 				throw new ArgumentException("Three fan parameters are required!");
 			}
 			FanCoefficients = fanParameters;
-			FanDiameter = fanDiameter.ConvertTo().Milli.Meter.Value();
+			FanDiameter = fanDiameter.ConvertToMilliMeter();
 		}
 
 		public Watt PowerDemand(PerSecond fanSpeed)
diff --git a/VectoCore/VectoCoreTest/FileIO/SimulationDataReaderTest.cs b/VectoCore/VectoCoreTest/FileIO/SimulationDataReaderTest.cs
index 73718e8c142d0759fa2f4217b482cc3a810793bb..1440fab0f3c0922a73c779b5aef5cbae85bfcd8d 100644
--- a/VectoCore/VectoCoreTest/FileIO/SimulationDataReaderTest.cs
+++ b/VectoCore/VectoCoreTest/FileIO/SimulationDataReaderTest.cs
@@ -30,24 +30,24 @@
 */
 
 using NUnit.Framework;
-using System.IO;
-using System.Linq;
-using TUGraz.VectoCommon.Exceptions;
-using TUGraz.VectoCommon.InputData;
-using TUGraz.VectoCommon.Models;
-using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Configuration;
-using TUGraz.VectoCore.InputData.FileIO.JSON;
-using TUGraz.VectoCore.InputData.Reader.Impl;
-using TUGraz.VectoCore.Models.Declaration;
-using TUGraz.VectoCore.Tests.Utils;
-
-namespace TUGraz.VectoCore.Tests.FileIO
-{
-	[TestFixture]
-	public class SimulationDataReaderTest
-	{
-		protected const string DeclarationJob = @"TestData\Jobs\12t Delivery Truck.vecto";
+using System.IO;
+using System.Linq;
+using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Configuration;
+using TUGraz.VectoCore.InputData.FileIO.JSON;
+using TUGraz.VectoCore.InputData.Reader.Impl;
+using TUGraz.VectoCore.Models.Declaration;
+using TUGraz.VectoCore.Tests.Utils;
+
+namespace TUGraz.VectoCore.Tests.FileIO
+{
+	[TestFixture]
+	public class SimulationDataReaderTest
+	{
+		protected const string DeclarationJob = @"TestData\Jobs\12t Delivery Truck.vecto";
 		protected const double Tolerance = 0.0001;
 
         [OneTimeSetUp]
@@ -56,71 +56,71 @@ namespace TUGraz.VectoCore.Tests.FileIO
             Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
         }
 
-        [TestCase]
-		public void ReadDeclarationJobFile()
-		{
-			var dataProvider = JSONInputDataFactory.ReadJsonJob(DeclarationJob);
-			var declarationProvider = dataProvider as IDeclarationInputDataProvider;
-			if (declarationProvider == null) {
-				throw new VectoException("Failed to cas to Engineering InputDataProvider");
-			}
-			var reader = new DeclarationModeVectoRunDataFactory(declarationProvider, null);
-			//reader.SetJobFile(DeclarationJob);
-
-			var runData = reader.NextRun().First();
-
-			Assert.AreEqual(ExecutionMode.Declaration, runData.ExecutionMode);
-
-			Assert.AreEqual(Path.GetFileNameWithoutExtension(DeclarationJob), runData.JobName);
-
-			// curbweight + bodyCurbWeight + trailerCurbWeight (for Long Haul only)
-			Assert.AreEqual(5850 + 1900 + 3400, runData.VehicleData.TotalCurbWeight.Value());
-
-			Assert.AreEqual(11900, runData.VehicleData.GrossVehicleWeight.Value());
-			Assert.AreEqual(AxleConfiguration.AxleConfig_4x2, runData.VehicleData.AxleConfiguration);
-			AssertHelper.AreRelativeEqual(0.40726954, runData.VehicleData.DynamicTyreRadius);
-
-			Assert.AreEqual(VehicleClass.Class2, runData.VehicleData.VehicleClass);
-			Assert.AreEqual(4, runData.VehicleData.AxleData.Count);
-			Assert.AreEqual(6, runData.VehicleData.AxleData[0].Inertia.Value(), Tolerance);
-
-			Assert.AreEqual(true, runData.DriverData.LookAheadCoasting.Enabled);
-			//Assert.AreEqual(DeclarationData.Driver.LookAhead.MinimumSpeed.Value(),
-			//	runData.DriverData.LookAheadCoasting.MinSpeed.Value(), Tolerance);
-			//Assert.AreEqual(DeclarationData.Driver.LookAhead.Deceleration.Value(),
-			//	runData.DriverData.LookAheadCoasting.Deceleration.Value(), Tolerance);
-
-			Assert.AreNotEqual(DriverMode.Off, runData.DriverData.OverSpeedEcoRoll.Mode);
-			Assert.AreEqual(DeclarationData.Driver.OverSpeedEcoRoll.MinSpeed.Value(),
-				runData.DriverData.OverSpeedEcoRoll.MinSpeed.Value(), Tolerance);
-			Assert.AreEqual(DeclarationData.Driver.OverSpeedEcoRoll.OverSpeed.Value(),
-				runData.DriverData.OverSpeedEcoRoll.OverSpeed.Value(), Tolerance);
-			Assert.AreEqual(DeclarationData.Driver.OverSpeedEcoRoll.UnderSpeed.Value(),
-				runData.DriverData.OverSpeedEcoRoll.UnderSpeed.Value(), Tolerance);
-
-			Assert.AreEqual(3.7890, runData.EngineData.Inertia.Value(), 1e-6);
-
-			var downshiftSpeeds = new[] { 660, 660, 1679.9982 };
-			var downshiftTorque = new[] { -163.9, 257.9742, 988.9 };
-
-			Assert.AreEqual(downshiftSpeeds.Length, runData.GearboxData.Gears[2].ShiftPolygon.Downshift.Count);
-			for (var i = 0; i < downshiftSpeeds.Length; i++) {
-				Assert.AreEqual(downshiftSpeeds[i].RPMtoRad().Value(),
-					runData.GearboxData.Gears[2].ShiftPolygon.Downshift[i].AngularSpeed.Value(), Tolerance, "i: " + i);
-				Assert.AreEqual(downshiftTorque[i], runData.GearboxData.Gears[2].ShiftPolygon.Downshift[i].Torque.Value(), Tolerance,
-					"i: " + i);
-			}
-
-			var upshiftSpeed = new[] { 1889.6633, 1889.6633, 606.64575 / Constants.RPMToRad };
-			var upshiftTorque = new[] { -163.9, 245.31958, 988.9 };
-
-			Assert.AreEqual(upshiftSpeed.Length, runData.GearboxData.Gears[2].ShiftPolygon.Downshift.Count);
-			for (var i = 0; i < downshiftSpeeds.Length; i++) {
-				Assert.AreEqual(upshiftSpeed[i].RPMtoRad().Value(),
-					runData.GearboxData.Gears[1].ShiftPolygon.Upshift[i].AngularSpeed.Value(), Tolerance);
-				Assert.AreEqual(upshiftTorque[i], runData.GearboxData.Gears[1].ShiftPolygon.Upshift[i].Torque.Value(), Tolerance);
-			}
-			//Assert.AreEqual(, runData.DriverData.LookAheadCoasting.);
-		}
-	}
+        [TestCase]
+		public void ReadDeclarationJobFile()
+		{
+			var dataProvider = JSONInputDataFactory.ReadJsonJob(DeclarationJob);
+			var declarationProvider = dataProvider as IDeclarationInputDataProvider;
+			if (declarationProvider == null) {
+				throw new VectoException("Failed to cas to Engineering InputDataProvider");
+			}
+			var reader = new DeclarationModeVectoRunDataFactory(declarationProvider, null);
+			//reader.SetJobFile(DeclarationJob);
+
+			var runData = reader.NextRun().First();
+
+			Assert.AreEqual(ExecutionMode.Declaration, runData.ExecutionMode);
+
+			Assert.AreEqual(Path.GetFileNameWithoutExtension(DeclarationJob), runData.JobName);
+
+			// curbweight + bodyCurbWeight + trailerCurbWeight (for Long Haul only)
+			Assert.AreEqual(5850 + 1900 + 3400, runData.VehicleData.TotalCurbWeight.Value());
+
+			Assert.AreEqual(11900, runData.VehicleData.GrossVehicleWeight.Value());
+			Assert.AreEqual(AxleConfiguration.AxleConfig_4x2, runData.VehicleData.AxleConfiguration);
+			AssertHelper.AreRelativeEqual(0.40726954, runData.VehicleData.DynamicTyreRadius);
+
+			Assert.AreEqual(VehicleClass.Class2, runData.VehicleData.VehicleClass);
+			Assert.AreEqual(4, runData.VehicleData.AxleData.Count);
+			Assert.AreEqual(6, runData.VehicleData.AxleData[0].Inertia.Value(), Tolerance);
+
+			Assert.AreEqual(true, runData.DriverData.LookAheadCoasting.Enabled);
+			//Assert.AreEqual(DeclarationData.Driver.LookAhead.MinimumSpeed.Value(),
+			//	runData.DriverData.LookAheadCoasting.MinSpeed.Value(), Tolerance);
+			//Assert.AreEqual(DeclarationData.Driver.LookAhead.Deceleration.Value(),
+			//	runData.DriverData.LookAheadCoasting.Deceleration.Value(), Tolerance);
+
+			Assert.AreNotEqual(DriverMode.Off, runData.DriverData.OverSpeedEcoRoll.Mode);
+			Assert.AreEqual(DeclarationData.Driver.OverSpeedEcoRoll.MinSpeed.Value(),
+				runData.DriverData.OverSpeedEcoRoll.MinSpeed.Value(), Tolerance);
+			Assert.AreEqual(DeclarationData.Driver.OverSpeedEcoRoll.OverSpeed.Value(),
+				runData.DriverData.OverSpeedEcoRoll.OverSpeed.Value(), Tolerance);
+			Assert.AreEqual(DeclarationData.Driver.OverSpeedEcoRoll.UnderSpeed.Value(),
+				runData.DriverData.OverSpeedEcoRoll.UnderSpeed.Value(), Tolerance);
+
+			Assert.AreEqual(3.7890, runData.EngineData.Inertia.Value(), 1e-6);
+
+			var downshiftSpeeds = new[] { 660, 660, 1679.9982 };
+			var downshiftTorque = new[] { -163.9, 257.9742, 988.9 };
+
+			Assert.AreEqual(downshiftSpeeds.Length, runData.GearboxData.Gears[2].ShiftPolygon.Downshift.Count);
+			for (var i = 0; i < downshiftSpeeds.Length; i++) {
+				Assert.AreEqual(downshiftSpeeds[i].RPMtoRad().Value(),
+					runData.GearboxData.Gears[2].ShiftPolygon.Downshift[i].AngularSpeed.Value(), Tolerance, "i: " + i);
+				Assert.AreEqual(downshiftTorque[i], runData.GearboxData.Gears[2].ShiftPolygon.Downshift[i].Torque.Value(), Tolerance,
+					"i: " + i);
+			}
+
+			var upshiftSpeed = new[] { 1889.6633, 1889.6633, 606.64575 / Constants.RPMToRad };
+			var upshiftTorque = new[] { -163.9, 245.31958, 988.9 };
+
+			Assert.AreEqual(upshiftSpeed.Length, runData.GearboxData.Gears[2].ShiftPolygon.Downshift.Count);
+			for (var i = 0; i < downshiftSpeeds.Length; i++) {
+				Assert.AreEqual(upshiftSpeed[i].RPMtoRad().Value(),
+					runData.GearboxData.Gears[1].ShiftPolygon.Upshift[i].AngularSpeed.Value(), Tolerance);
+				Assert.AreEqual(upshiftTorque[i], runData.GearboxData.Gears[1].ShiftPolygon.Upshift[i].Torque.Value(), Tolerance);
+			}
+			//Assert.AreEqual(, runData.DriverData.LookAheadCoasting.);
+		}
+	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
index 300b2a75015f35e9683944a39635051f2f3a12ec..3a429221b67df3554b2a5afab384a0e20815f947 100644
--- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
@@ -362,10 +362,10 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 		[TestCase(VehicleClass.Class1, new[] { 0, 150, 150, 0, 0 }),
 		TestCase(VehicleClass.Class2, new[] { 200, 200, 150, 0, 0 }),
 		TestCase(VehicleClass.Class3, new[] { 0, 200, 150, 0, 0 }),
-		TestCase(VehicleClass.Class4, new[] { 350, 200, 0, 300, 0 }),
-		TestCase(VehicleClass.Class5, new[] { 350, 200, 0, 0, 0 }),
-		TestCase(VehicleClass.Class9, new[] { 350, 200, 0, 300, 0 }),
-		TestCase(VehicleClass.Class10, new[] { 350, 200, 0, 0, 0 }),
+		TestCase(VehicleClass.Class4, new[] { 350, 200, 200, 300, 0 }),
+		TestCase(VehicleClass.Class5, new[] { 350, 200, 200, 0, 0 }),
+		TestCase(VehicleClass.Class9, new[] { 350, 200, 200, 300, 0 }),
+		TestCase(VehicleClass.Class10, new[] { 350, 200, 200, 0, 0 }),
 		TestCase(VehicleClass.Class11, new[] { 350, 200, 0, 300, 200 }),
 		TestCase(VehicleClass.Class12, new[] { 350, 200, 0, 0, 200 }),
 		TestCase(VehicleClass.Class16, new[] { 0, 0, 0, 0, 200 })]