diff --git a/VectoCore/VectoCore.csproj b/VectoCore/VectoCore.csproj
index cdc012fe680190d06d7bcdee22dfc351594fed9f..6575bb3606fc880f1c34ece98efd36cb60342c4a 100644
--- a/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore.csproj
@@ -91,6 +91,7 @@
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />
+    <Reference Include="System.Drawing" />
     <Reference Include="System.Runtime.Serialization" />
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
diff --git a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
index 3b685cc3db059716f2d5472a28b41d41e9ba4ac8..47bc46a555b15c37eea7c8fbba01825a6594189b 100644
--- a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
+++ b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestCoach.cs
@@ -1,8 +1,5 @@
-using System.IO;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
 using NLog;
-using TUGraz.VectoCore.FileIO.Reader;
-using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Tests.Utils;
 
 namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
@@ -16,135 +13,190 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void DisableLogging()
 		{
 			LogManager.DisableLogging();
+			GraphWriter.Disable();
 		}
 
 		[TestMethod]
-		public void Accelerate_20_60_level()
+		public void Coach_Accelerate_20_60_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_Level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_level.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_20_60_uphill_5()
+		public void Coach_Accelerate_20_60_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphilll_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_uphill_5.vmod");
 		}
 
 
 		[TestMethod]
-		public void Accelerate_20_60_downhill_5()
+		public void Coach_Accelerate_20_60_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_downhill_5.vmod");
 		}
 
 
 		[TestMethod, Ignore]
-		public void Accelerate_20_60_uphill_25()
+		public void Coach_Accelerate_20_60_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_25);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_20_60_downhill_25()
+		public void Coach_Accelerate_20_60_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_25);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_downhill_25.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_downhill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_downhill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_20_60_uphill_15()
+		public void Coach_Accelerate_20_60_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_uphill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_uphill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_uphill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_20_60_downhill_15()
+		public void Coach_Accelerate_20_60_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_60_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_60_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_60_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_level()
+		public void Coach_Accelerate_0_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_level.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_uphill_1()
+		public void Coach_Accelerate_0_85_uphill_1()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_1);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_1.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_1.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_1.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_uphill_2()
+		public void Coach_Accelerate_0_85_uphill_2()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_2);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_2.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_2.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_2.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_uphill_5()
+		public void Coach_Accelerate_0_85_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_downhill_5()
+		public void Coach_Accelerate_0_85_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_downhill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_uphill_25()
+		public void Coach_Accelerate_0_85_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_25);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_downhill_25()
+		public void Coach_Accelerate_0_85_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_25);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_25.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_downhill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_uphill_10()
+		public void Coach_Accelerate_0_85_uphill_10()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_10);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_uphill_10.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_uphill_10.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_uphill_10.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_downhill_15()
+		public void Coach_Accelerate_0_85_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_0_85_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_0_85_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_0_85_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_stop_0_85_level()
+		public void Coach_Accelerate_stop_0_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_stop_0_85_level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_stop_0_85_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_stop_0_85_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_stop_0_85_level.vmod");
 		}
 
 
 		[TestMethod]
-		public void Accelerate_20_22_uphill_5()
+		public void Coach_Accelerate_20_22_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_22_uphill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Accelerate_20_22_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Accelerate_20_22_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Accelerate_20_22_uphill_5.vmod");
 		}
 
 		#endregion
@@ -152,52 +204,73 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		#region Decelerate
 
 		[TestMethod]
-		public void Decelerate_22_20_downhill_5()
+		public void Coach_Decelerate_22_20_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_22_20_downhill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_22_20_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_22_20_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_22_20_downhill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_60_20_level()
+		public void Coach_Decelerate_60_20_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_level.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_45_0_level()
+		public void Coach_Decelerate_45_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_45_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_45_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_45_0_uphill_5()
+		public void Coach_Decelerate_45_0_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_uphill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_45_0_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_45_0_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_45_0_downhill_5()
+		public void Coach_Decelerate_45_0_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_downhill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_45_0_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_45_0_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_45_0_downhill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_60_20_uphill_5()
+		public void Coach_Decelerate_60_20_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_60_20_downhill_5()
+		public void Coach_Decelerate_60_20_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_downhill_5.vmod");
 		}
 
 		[TestMethod, Ignore]
@@ -205,13 +278,19 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_25);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_60_20_downhill_25()
+		public void Coach_Decelerate_60_20_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_25);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_downhill_25.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_downhill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_downhill_25.vmod");
 		}
 
 		[TestMethod, Ignore]
@@ -219,10 +298,13 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_uphill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_uphill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_uphill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_60_20_downhill_15()
+		public void Coach_Decelerate_60_20_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
@@ -231,27 +313,39 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 				"1000, 20, -15,     0",
 			});
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_60_20_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_60_20_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_60_20_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_level()
+		public void Coach_Decelerate_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_uphill_5()
+		public void Coach_Decelerate_80_0_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_downhill_5()
+		public void Coach_Decelerate_80_0_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_downhill_5.vmod");
 		}
 
 		[TestMethod, Ignore]
@@ -259,13 +353,19 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_25);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_steep_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_downhill_25()
+		public void Coach_Decelerate_80_0_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_25);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_downhill_25.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_downhill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_downhill_25.vmod");
 		}
 
 		[TestMethod, Ignore]
@@ -273,13 +373,19 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_steep_uphill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_downhill_15()
+		public void Coach_Decelerate_80_0_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Decelerate_80_0_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Decelerate_80_0_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Decelerate_80_0_downhill_15.vmod");
 		}
 
 		#endregion
@@ -287,119 +393,167 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		#region Drive
 
 		[TestMethod]
-		public void Drive_80_level()
+		public void Coach_Drive_80_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_80_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_level.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_uphill_5()
+		public void Coach_Drive_80_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_80_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_downhill_5()
+		public void Coach_Drive_80_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_80_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_downhill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_20_downhill_15()
+		public void Coach_Drive_20_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_20_downhill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_20_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_20_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_20_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_30_downhill_15()
+		public void Coach_Drive_30_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_downhill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_30_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_50_downhill_15()
+		public void Coach_Drive_50_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_downhill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_50_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_downhill_15.vmod");
 		}
 
 		[TestMethod, Ignore]
-		public void Drive_80_uphill_25()
+		public void Coach_Drive_80_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_25);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_80_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_downhill_15()
+		public void Coach_Drive_80_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_80_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_uphill_15()
+		public void Coach_Drive_80_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_uphill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_80_uphill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_uphill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_level()
+		public void Coach_Drive_10_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_10_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_level.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_uphill_5()
+		public void Coach_Drive_10_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
 				"   0,  10, 5,    0",
-				"1000,  10, 5,    0",
+				"800,  10, 5,    0",
 			});
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_10_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_downhill_5()
+		public void Coach_Drive_10_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_5);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_10_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_downhill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_downhill_25()
+		public void Coach_Drive_10_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_25);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_25.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_10_downhill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_downhill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_uphill_25()
+		public void Coach_Drive_10_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_25);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_10_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_downhill_15()
+		public void Coach_Drive_10_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_10_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_uphill_15()
+		public void Coach_Drive_10_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_15);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_10_uphill_15.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_10_uphill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_10_uphill_15.vmod");
 		}
 
 		#endregion
@@ -407,67 +561,94 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		#region Slope
 
 		[TestMethod]
-		public void Drive_80_Increasing_Slope()
+		public void Coach_Drive_80_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_inc.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_80_slope_inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_slope_inc.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_50_Increasing_Slope()
+		public void Coach_Drive_50_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_inc.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_50_slope_inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_slope_inc.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_30_Increasing_Slope()
+		public void Coach_Drive_30_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_inc.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_30_slope_inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_slope_inc.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_Decreasing_Slope()
+		public void Coach_Drive_80_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_dec.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_80_slope_dec.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_slope_dec.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_50_Decreasing_Slope()
+		public void Coach_Drive_50_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_dec.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_50_slope_dec.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_slope_dec.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_30_Decreasing_Slope()
+		public void Coach_Drive_30_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_dec.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_30_slope_dec.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_slope_dec.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_Dec_Increasing_Slope()
+		public void Coach_Drive_80_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_80_slope_dec-inc.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_80_slope_dec-inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_80_slope_dec-inc.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_50_Dec_Increasing_Slope()
+		public void Coach_Drive_50_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_50_slope_dec-inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_50_slope_dec-inc.vmod");
 		}
 
 
 		[TestMethod]
-		public void Drive_30_Dec_Increasing_Slope()
+		public void Coach_Drive_30_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_30_slope_dec-inc.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_30_slope_dec-inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_30_slope_dec-inc.vmod");
 		}
 
 		#endregion
@@ -475,38 +656,53 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		#region Misc
 
 		[TestMethod]
-		public void DecelerateWhileBrake_80_0_level()
+		public void Coach_DecelerateWhileBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_DecelerateWhileBrake_80_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void AccelerateWhileBrake_80_0_level()
+		public void Coach_AccelerateWhileBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_AccelerateWhileBrake_80_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void AccelerateAtBrake_80_0_level()
+		public void Coach_AccelerateAtBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_AccelerateAtBrake_80_0_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_AccelerateAtBrake_80_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_AccelerateAtBrake_80_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void AccelerateBeforeBrake_80_0_level()
+		public void Coach_AccelerateBeforeBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_AccelerateBeforeBrake_80_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_stop_85_stop_85_level()
+		public void Coach_Drive_stop_85_stop_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level);
 			CoachPowerTrain.CreateEngineeringRun(cycle, "Coach_DriverStrategy_Drive_stop_85_stop_85_level.vmod").Run();
+
+			GraphWriter.Write("Coach_DriverStrategy_Drive_stop_85_stop_85_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\Coach\24t Coach_Cycle_Drive_stop_85_stop_85_level.vmod");
 		}
 
 		#endregion
diff --git a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
index 202e73580b58174b1b41487df9799077fbc39216..83474253d1d9e4998bc3e20a2147ef6752963c10 100644
--- a/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
+++ b/VectoCoreTest/Integration/DriverStrategy/DriverStrategyTestTruck.cs
@@ -13,61 +13,83 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		public void DisableLogging()
 		{
 			LogManager.DisableLogging();
+			GraphWriter.Disable();
 		}
 
 		[TestMethod]
-		public void Accelerate_20_60_level()
+		public void Truck_Accelerate_20_60_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_Level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_level.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_20_60_uphill_5()
+		public void Truck_Accelerate_20_60_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphilll_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_5.vmod");
 		}
 
 
 		[TestMethod]
-		public void Accelerate_20_60_downhill_5()
+		public void Truck_Accelerate_20_60_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_5.vmod");
 		}
 
 
 		[TestMethod, Ignore]
-		public void Accelerate_20_60_uphill_25()
+		public void Truck_Accelerate_20_60_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_25);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_20_60_downhill_25()
+		public void Truck_Accelerate_20_60_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_25);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_downhill_25.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_20_60_uphill_15()
+		public void Truck_Accelerate_20_60_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_uphill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_uphill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_uphill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_uphill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_20_60_downhill_15()
+		public void Truck_Accelerate_20_60_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_60_downhill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_60_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_60_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_60_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_level()
+		public void Truck_Accelerate_0_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_level.vmod").Run();
@@ -77,74 +99,104 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_uphill_1()
+		public void Truck_Accelerate_0_85_uphill_1()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_1);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_1.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_1.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_1.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_uphill_2()
+		public void Truck_Accelerate_0_85_uphill_2()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_2);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_2.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_2.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_2.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_uphill_5()
+		public void Truck_Accelerate_0_85_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_downhill_5()
+		public void Truck_Accelerate_0_85_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_uphill_25()
+		public void Truck_Accelerate_0_85_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_25);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_downhill_25()
+		public void Truck_Accelerate_0_85_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_25);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_25.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_uphill_10()
+		public void Truck_Accelerate_0_85_uphill_10()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_uphill_10);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_uphill_10.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_uphill_10.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_uphill_10.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_0_85_downhill_15()
+		public void Truck_Accelerate_0_85_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_0_85_downhill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_0_85_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_0_85_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_0_85_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Accelerate_stop_0_85_level()
+		public void Truck_Accelerate_stop_0_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_stop_0_85_level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_stop_0_85_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_stop_0_85_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_stop_0_85_level.vmod");
 		}
 
 
 		[TestMethod]
-		public void Accelerate_20_22_uphill_5()
+		public void Truck_Accelerate_20_22_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerate_20_22_uphill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Accelerate_20_22_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Accelerate_20_22_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Accelerate_20_22_uphill_5.vmod");
 		}
 
 		#endregion
@@ -152,52 +204,73 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		#region Decelerate
 
 		[TestMethod]
-		public void Decelerate_22_20_downhill_5()
+		public void Truck_Decelerate_22_20_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_22_20_downhill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_22_20_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_22_20_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_22_20_downhill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_60_20_level()
+		public void Truck_Decelerate_60_20_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_level.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_45_0_level()
+		public void Truck_Decelerate_45_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_45_0_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_45_0_uphill_5()
+		public void Truck_Decelerate_45_0_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_uphill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_45_0_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_45_0_downhill_5()
+		public void Truck_Decelerate_45_0_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_45_0_downhill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_45_0_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_45_0_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_45_0_downhill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_60_20_uphill_5()
+		public void Truck_Decelerate_60_20_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_60_20_downhill_5()
+		public void Truck_Decelerate_60_20_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_5.vmod");
 		}
 
 		[TestMethod, Ignore]
@@ -205,13 +278,19 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_25);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_60_20_downhill_25()
+		public void Truck_Decelerate_60_20_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_25);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_downhill_25.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_25.vmod");
 		}
 
 		[TestMethod, Ignore]
@@ -219,10 +298,13 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_uphill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_uphill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_uphill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_uphill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_60_20_downhill_15()
+		public void Truck_Decelerate_60_20_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
@@ -231,27 +313,39 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 				"1000, 20, -15,     0",
 			});
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_60_20_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_60_20_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_60_20_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_level()
+		public void Truck_Decelerate_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_60_20_downhill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_uphill_5()
+		public void Truck_Decelerate_80_0_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_downhill_5()
+		public void Truck_Decelerate_80_0_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_downhill_5.vmod");
 		}
 
 		[TestMethod, Ignore]
@@ -259,13 +353,19 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_25);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_steep_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_steep_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_downhill_25()
+		public void Truck_Decelerate_80_0_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_25);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_downhill_25.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_downhill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_downhill_25.vmod");
 		}
 
 		[TestMethod, Ignore]
@@ -273,13 +373,19 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_uphill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_steep_uphill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_steep_uphill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Decelerate_80_0_downhill_15()
+		public void Truck_Decelerate_80_0_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerate_80_0_downhill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Decelerate_80_0_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Decelerate_80_0_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Decelerate_80_0_downhill_15.vmod");
 		}
 
 		#endregion
@@ -287,119 +393,167 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		#region Drive
 
 		[TestMethod]
-		public void Drive_80_level()
+		public void Truck_Drive_80_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_80_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_level.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_uphill_5()
+		public void Truck_Drive_80_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_downhill_5()
+		public void Truck_Drive_80_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_80_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_downhill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_20_downhill_15()
+		public void Truck_Drive_20_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_20_downhill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_20_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_20_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_20_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_30_downhill_15()
+		public void Truck_Drive_30_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_downhill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_30_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_50_downhill_15()
+		public void Truck_Drive_50_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_downhill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_50_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_downhill_15.vmod");
 		}
 
 		[TestMethod, Ignore]
-		public void Drive_80_uphill_25()
+		public void Truck_Drive_80_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_25);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_downhill_15()
+		public void Truck_Drive_80_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_downhill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_80_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_uphill_15()
+		public void Truck_Drive_80_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_uphill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_uphill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_80_uphill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_uphill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_level()
+		public void Truck_Drive_10_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_10_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_level.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_uphill_5()
+		public void Truck_Drive_10_uphill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(new[] {
 				// <s>,<v>,<grad>,<stop>
 				"   0,  10, 5,    0",
-				"1000,  10, 5,    0",
+				"500,  10, 5,    0",
 			});
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_downhill_5()
+		public void Truck_Drive_10_downhill_5()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_5);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_5.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_5.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_5.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_downhill_25()
+		public void Truck_Drive_10_downhill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_25);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_25.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_uphill_25()
+		public void Truck_Drive_10_uphill_25()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_25);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_25.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_25.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_25.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_downhill_15()
+		public void Truck_Drive_10_downhill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_downhill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_downhill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_10_downhill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_downhill_15.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_10_uphill_15()
+		public void Truck_Drive_10_uphill_15()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_10_uphill_15);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_10_uphill_15.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_10_uphill_15.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_10_uphill_15.vmod");
 		}
 
 		#endregion
@@ -407,67 +561,94 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		#region Slope
 
 		[TestMethod]
-		public void Drive_80_Increasing_Slope()
+		public void Truck_Drive_80_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Increasing_Slope);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_inc.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_slope_inc.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_50_Increasing_Slope()
+		public void Truck_Drive_50_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Increasing_Slope);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_inc.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_slope_inc.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_30_Increasing_Slope()
+		public void Truck_Drive_30_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Increasing_Slope);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_inc.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_slope_inc.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_Decreasing_Slope()
+		public void Truck_Drive_80_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Decreasing_Slope);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_dec.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_dec.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_slope_dec.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_50_Decreasing_Slope()
+		public void Truck_Drive_50_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Decreasing_Slope);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_dec.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_dec.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_slope_dec.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_30_Decreasing_Slope()
+		public void Truck_Drive_30_Decreasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Decreasing_Slope);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_dec.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_dec.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_slope_dec.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_80_Dec_Increasing_Slope()
+		public void Truck_Drive_80_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_80_Dec_Increasing_Slope);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_80_slope_dec-inc.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_80_slope_dec-inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_80_slope_dec-inc.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_50_Dec_Increasing_Slope()
+		public void Truck_Drive_50_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_50_Dec_Increasing_Slope);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_50_slope_dec-inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_50_slope_dec-inc.vmod");
 		}
 
 
 		[TestMethod]
-		public void Drive_30_Dec_Increasing_Slope()
+		public void Truck_Drive_30_Dec_Increasing_Slope()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_30_Dec_Increasing_Slope);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_30_slope_dec-inc.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_30_slope_dec-inc.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_30_slope_dec-inc.vmod");
 		}
 
 		#endregion
@@ -475,38 +656,53 @@ namespace TUGraz.VectoCore.Tests.Integration.DriverStrategy
 		#region Misc
 
 		[TestMethod]
-		public void DecelerateWhileBrake_80_0_level()
+		public void Truck_DecelerateWhileBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDecelerateWhileBrake_80_0_level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_DecelerateWhileBrake_80_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_DecelerateWhileBrake_80_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void AccelerateWhileBrake_80_0_level()
+		public void Truck_AccelerateWhileBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateWhileBrake_80_0_level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_AccelerateWhileBrake_80_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateWhileBrake_80_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void AccelerateAtBrake_80_0_level()
+		public void Truck_AccelerateAtBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateAtBrake_80_0_level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_AccelerateAtBrake_80_0_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_AccelerateAtBrake_80_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateAtBrake_80_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void AccelerateBeforeBrake_80_0_level()
+		public void Truck_AccelerateBeforeBrake_80_0_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleAccelerateBeforeBrake_80_0_level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_AccelerateBeforeBrake_80_0_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_AccelerateBeforeBrake_80_0_level.vmod");
 		}
 
 		[TestMethod]
-		public void Drive_stop_85_stop_85_level()
+		public void Truck_Drive_stop_85_stop_85_level()
 		{
 			var cycle = SimpleDrivingCycles.CreateCycleData(SimpleDrivingCycles.CycleDrive_stop_85_stop_85_level);
 			Truck40tPowerTrain.CreateEngineeringRun(cycle, "Truck_DriverStrategy_Drive_stop_85_stop_85_level.vmod").Run();
+
+			GraphWriter.Write("Truck_DriverStrategy_Drive_stop_85_stop_85_level.vmod",
+				@"..\..\TestData\Integration\DriverStrategy\Vecto2.2\40t Truck\40t_Long_Haul_Truck_Cycle_Drive_stop_85_stop_85_level.vmod");
 		}
 
 		#endregion
diff --git a/VectoCoreTest/Integration/SimpleDrivingCycles.cs b/VectoCoreTest/Integration/SimpleDrivingCycles.cs
index 4625b894f8df3867d995233fcd38727324ffbafd..f8e3215f65d5fba536cf8789a97c552b9f0540a9 100644
--- a/VectoCoreTest/Integration/SimpleDrivingCycles.cs
+++ b/VectoCoreTest/Integration/SimpleDrivingCycles.cs
@@ -303,13 +303,13 @@ namespace TUGraz.VectoCore.Tests.Integration
 		public static readonly string[] CycleDrive_10_level = {
 			// <s>,<v>,<grad>,<stop>
 			"   0,  10, 0,    0",
-			"1000,  10, 0,    0",
+			"500,  10, 0,    0",
 		};
 
 		public static readonly string[] CycleDrive_10_uphill_5 = {
 			// <s>,<v>,<grad>,<stop>
 			"   0,  10, -5,    0",
-			" 1000, 10,  -5,   0",
+			" 800, 10,  -5,   0",
 		};
 
 		public static readonly string[] CycleDrive_10_downhill_25 = {
@@ -321,7 +321,7 @@ namespace TUGraz.VectoCore.Tests.Integration
 		public static readonly string[] CycleDrive_10_uphill_25 = {
 			// <s>,<v>,<grad>,<stop>
 			"   0, 10, 25,    0",
-			" 500, 10, 25,    0",
+			" 800, 10, 25,    0",
 		};
 
 		public static readonly string[] CycleDrive_10_downhill_15 = {
diff --git a/VectoCoreTest/Utils/GraphWriter.cs b/VectoCoreTest/Utils/GraphWriter.cs
index a8d8c4ad0113512e3cf1590b2093277cf8e177ea..8fc4f77561e280815330a67abfc17d22caf1c8bf 100644
--- a/VectoCoreTest/Utils/GraphWriter.cs
+++ b/VectoCoreTest/Utils/GraphWriter.cs
@@ -1,9 +1,14 @@
 using System;
+using System.Collections.Generic;
 using System.Collections.Specialized;
 using System.Data;
 using System.IO;
+using System.Drawing;
+using System.Drawing.Text;
 using System.Linq;
 using System.Net;
+using System.Text.RegularExpressions;
+using NLog;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Utils;
 
@@ -11,9 +16,84 @@ namespace TUGraz.VectoCore.Tests.Utils
 {
 	public static class GraphWriter
 	{
+		private static bool _enabled = true;
+
+		public static void Enabled()
+		{
+			_enabled = true;
+		}
+
+		public static void Disable()
+		{
+			_enabled = false;
+		}
+
+
+		public static void Write(string fileName)
+		{
+			if (!_enabled) {
+				return;
+			}
+
+			var modDataV3 = VectoCSVFile.Read(fileName);
+
+			var xfields = new[] { ModalResultField.time, ModalResultField.dist };
+
+			var yfields = new[] {
+				ModalResultField.v_act, ModalResultField.n, ModalResultField.Gear, ModalResultField.Pe_eng, ModalResultField.Tq_eng,
+				ModalResultField.FCMap
+			};
+
+			var images = new List<Stream>();
+			try {
+				foreach (var xfield in xfields) {
+					var x = modDataV3.Rows.Cast<DataRow>().Select(v => v.Field<string>(xfield.GetName())).ToArray();
+
+					for (var i = 1; i <= yfields.Length; i++) {
+						var yfield = yfields[i - 1];
+						var y = modDataV3.Rows.Cast<DataRow>().Select(v => v.Field<string>(yfield.GetName())).ToArray();
+
+						var values = string.Format("{0}|{1}", string.Join(",", x), string.Join(",", y));
+
+						if (yfield == ModalResultField.v_act) {
+							var y3 =
+								modDataV3.Rows.Cast<DataRow>()
+									.Select(v => v.Field<string>(ModalResultField.v_targ.GetName()))
+									.Select(v => string.IsNullOrWhiteSpace(v) ? "0" : v);
+
+							values += string.Format("|{0}|{1}", string.Join(",", x), string.Join(",", y3));
+						}
+
+						values = values.Replace("NaN", "0");
+						if (values.Length > 14000) {
+							// remove all decimal places to reduce request size
+							values = Regex.Replace(values, @"\..*?,", ",");
+						}
+						var maxX = (int)Math.Ceiling(x.ToDouble().Max());
+						images.Add(CreateGraphStream(xfield.GetCaption(), yfield.GetCaption(), maxX, values));
+					}
+					var outfileName = string.Format("{0}_{1}.png", Path.GetFileNameWithoutExtension(fileName), xfield.GetName());
+					SaveImages(outfileName, images.ToArray());
+					images.Clear();
+				}
+			} finally {
+				images.ForEach(x => x.Close());
+			}
+		}
+
+
 		public static void Write(string fileNameV3, string fileNameV22)
 		{
+			if (!_enabled) {
+				return;
+			}
+
 			var modDataV3 = VectoCSVFile.Read(fileNameV3);
+			if (!File.Exists(fileNameV22)) {
+				LogManager.GetCurrentClassLogger().Error("Modfile V2.2 not found: " + fileNameV22);
+				Write(fileNameV3);
+				return;
+			}
 			var modDataV22 = VectoCSVFile.Read(fileNameV22);
 
 			var xfields = new[] { ModalResultField.time, ModalResultField.dist };
@@ -23,44 +103,99 @@ namespace TUGraz.VectoCore.Tests.Utils
 				ModalResultField.FCMap
 			};
 
-			foreach (var xfield in xfields) {
-				for (var i = 1; i <= yfields.Length; i++) {
-					var yfield = yfields[i - 1];
-					var x = modDataV3.Rows.Cast<DataRow>().Select(v => v.Field<string>(ModalResultField.time.GetName())).ToArray();
-					var y = modDataV3.Rows.Cast<DataRow>().Select(v => v.Field<string>(yfield.GetName())).ToArray();
+			var images = new List<Stream>();
+			try {
+				foreach (var xfield in xfields) {
+					var x = modDataV3.Rows.Cast<DataRow>().Select(v => v.Field<string>(xfield.GetName())).ToArray();
+					var x2 = modDataV22.Rows.Cast<DataRow>().Select(v => v.Field<string>(xfield.GetName())).ToArray();
+
+					for (var i = 1; i <= yfields.Length; i++) {
+						var yfield = yfields[i - 1];
+						var y = modDataV3.Rows.Cast<DataRow>().Select(v => v.Field<string>(yfield.GetName())).ToArray();
+						var y2 = modDataV22.Rows.Cast<DataRow>().Select(v => v.Field<string>(yfield.GetName())).ToArray();
 
-					var x2 = modDataV22.Rows.Cast<DataRow>().Select(v => v.Field<string>(ModalResultField.time.GetName())).ToArray();
-					var y2 = modDataV22.Rows.Cast<DataRow>().Select(v => v.Field<string>(yfield.GetName())).ToArray();
+						var values = string.Format("{0}|{1}|{2}|{3}", string.Join(",", x), string.Join(",", y), string.Join(",", x2),
+							string.Join(",", y2));
 
+						if (yfield == ModalResultField.v_act) {
+							var y3 =
+								modDataV3.Rows.Cast<DataRow>()
+									.Select(v => v.Field<string>(ModalResultField.v_targ.GetName()))
+									.Select(v => string.IsNullOrWhiteSpace(v) ? "0" : v);
 
-					var fileName = string.Format("{0}_{1}_{2}.png", Path.GetFileNameWithoutExtension(fileNameV3), xfield, i);
-					var values = string.Format("{0}|{1}|{2}|{3}", string.Join(",", x), string.Join(",", y), string.Join(",", x2),
-						string.Join(",", y2));
+							values += string.Format("|{0}|{1}", string.Join(",", x), string.Join(",", y3));
+						}
 
-					var maxX = (int)Math.Ceiling(Math.Max(x.ToDouble().Max(), x2.ToDouble().Max()));
-					CreateGraphFile(fileName, xfield.GetCaption(), yfield.GetCaption(), maxX, values);
+						values = values.Replace("NaN", "0");
+						if (values.Length > 14000) {
+							// remove all decimal places to reduce request size
+							values = Regex.Replace(values, @"\..*?,", ",");
+						}
+						var maxX = (int)Math.Ceiling(Math.Max(x.ToDouble().Max(), x2.ToDouble().Max()));
+						images.Add(CreateGraphStream(xfield.GetCaption(), yfield.GetCaption(), maxX, values));
+					}
+					var fileName = string.Format("{0}_{1}.png", Path.GetFileNameWithoutExtension(fileNameV3), xfield.GetName());
+					SaveImages(fileName, images.ToArray());
+					images.Clear();
 				}
+			} finally {
+				images.ForEach(x => x.Close());
 			}
 		}
 
-		private static void CreateGraphFile(string filename, string xLabel, string yLabel, int xAxisRange, string values)
+		private static Stream CreateGraphStream(string xLabel, string yLabel, int xAxisRange, string values)
 		{
 			using (var client = new WebClient()) {
-				byte[] response = client.UploadValues("https://chart.googleapis.com/chart", new NameValueCollection {
+				var response = client.UploadValues("https://chart.googleapis.com/chart", new NameValueCollection {
 					{ "cht", "lxy" },
 					{ "chd", "t:" + values },
-					{ "chs", "1000x300" },
+					{ "chs", "1000x230" },
 					{ "chxt", "x,x,y,y" },
 					{ "chds", "a" },
-					{ "chxr", string.Format("0,0,{0},10", xAxisRange) },
-					{ "chco", "0000FF,FF0000" },
+					{ "chxr", string.Format("0,0,{0},{1}", xAxisRange, xAxisRange / 10) },
+					{ "chco", "0000FF,FF0000,00FF00" },
 					{ "chg", "5,10" },
 					{ "chxl", string.Format("1:|{0}|3:|{1}", xLabel, yLabel) },
 					{ "chxp", "1,0|3,0" },
 					{ "chdl", "V3|V2.2" },
 				});
 
-				File.WriteAllBytes(filename, response);
+				return new MemoryStream(response);
+			}
+		}
+
+		public static void SaveImages(string outputFile, params Stream[] inputFiles)
+		{
+			var titleHeight = 36;
+			var images = new List<Image>();
+			Bitmap output = null;
+			Graphics g = null;
+
+			try {
+				images = inputFiles.Select(Image.FromStream).ToList();
+				output = new Bitmap(images.Max(x => x.Width), images.Sum(x => x.Height) + titleHeight);
+				g = Graphics.FromImage(output);
+				g.TextRenderingHint = TextRenderingHint.AntiAlias;
+
+				g.DrawString(outputFile, new Font("Arial", 16), Brushes.Black, output.Width / 2, 10,
+					new StringFormat { Alignment = StringAlignment.Center });
+
+				var ypos = titleHeight;
+				foreach (var image in images) {
+					g.DrawImage(image, new System.Drawing.Point(0, ypos));
+					ypos += image.Height;
+					image.Dispose();
+				}
+				output.Save(outputFile);
+			} finally {
+				images.ForEach(x => x.Dispose());
+				if (output != null) {
+					output.Dispose();
+				}
+
+				if (g != null) {
+					g.Dispose();
+				}
 			}
 		}
 	}
diff --git a/VectoCoreTest/VectoCoreTest.csproj b/VectoCoreTest/VectoCoreTest.csproj
index b70a6a6c16baaf6bcf2746b54891b8f20d454163..cd2b82cdf62cfc76c01a2f9570e37974f601479c 100644
--- a/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCoreTest/VectoCoreTest.csproj
@@ -43,6 +43,7 @@
     <Reference Include="System.Data" />
     <Reference Include="System.Data.DataSetExtensions" />
     <Reference Include="System.Design" />
+    <Reference Include="System.Drawing" />
     <Reference Include="System.Xml" />
   </ItemGroup>
   <Choose>