diff --git a/VectoCoreTest/Integration/CoachPowerTrain.cs b/VectoCoreTest/Integration/CoachPowerTrain.cs
index f0c74c0c808b09089efc5f9cea33f6a81ad7ac78..91dcbeaea1d845ca86dc42d2a485941e46a09f3c 100644
--- a/VectoCoreTest/Integration/CoachPowerTrain.cs
+++ b/VectoCoreTest/Integration/CoachPowerTrain.cs
@@ -78,10 +78,10 @@ namespace TUGraz.VectoCore.Tests.Integration
 				new Gearbox(container, gearboxData, new AMTShiftStrategy(gearboxData, container)));
 			tmp = Port.AddComponent(tmp, clutch);
 
-			var aux = new Auxiliary(container);
+			var aux = new EngineAuxiliary(container);
 			aux.AddConstant("", 0.SI<Watt>());
 
-			tmp = Port.AddComponent(tmp, aux);
+			engine.Connect(aux.Port());
 
 			Port.AddComponent(tmp, engine);
 
diff --git a/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs b/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
index a4243448546c9539e480b0c73f351f918f909f2a..0f4d827fd0a8ff74264b8db65ae192dcb1ffccc2 100644
--- a/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
+++ b/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
@@ -49,13 +49,14 @@ namespace TUGraz.VectoCore.Tests.Integration.EngineOnlyCycle
 			var engineData =
 				MockSimulationDataFactory.CreateEngineDataFromFile(TestContext.DataRow["EngineFile"].ToString());
 
-			var aux = new Auxiliary(vehicle);
+			var aux = new EngineAuxiliary(vehicle);
 			aux.AddDirect();
 
 			var engine = new EngineOnlyCombustionEngine(vehicle, engineData);
+			engine.Connect(aux);
 
-			aux.InPort().Connect(engine.OutPort());
-			var port = aux.OutPort();
+			//aux.InPort().Connect(engine.OutPort());
+			var port = engine.OutPort();
 
 			var absTime = 0.SI<Second>();
 			var dt = 1.SI<Second>();
diff --git a/VectoCoreTest/Integration/Truck40tPowerTrain.cs b/VectoCoreTest/Integration/Truck40tPowerTrain.cs
index 71cd2261d37e49696861367da8d2f8207b0e4e85..217586646fa5da1c2dc96556743ab494743b5c4e 100644
--- a/VectoCoreTest/Integration/Truck40tPowerTrain.cs
+++ b/VectoCoreTest/Integration/Truck40tPowerTrain.cs
@@ -89,10 +89,10 @@ namespace TUGraz.VectoCore.Tests.Integration
 				new Gearbox(container, gearboxData, new AMTShiftStrategy(gearboxData, container)));
 			tmp = Port.AddComponent(tmp, clutch);
 
-			var aux = new Auxiliary(container);
+			var aux = new EngineAuxiliary(container);
 			aux.AddConstant("", 0.SI<Watt>());
+			engine.Connect(aux.Port());
 
-			tmp = Port.AddComponent(tmp, aux);
 
 			Port.AddComponent(tmp, engine);
 			engine.IdleController.RequestPort = clutch.IdleControlPort;
diff --git a/VectoCoreTest/Models/Simulation/AuxTests.cs b/VectoCoreTest/Models/Simulation/AuxTests.cs
index 711258af2393fc87815a9c6022333262f77dcaa9..3aa20918d2156a0d3090a3ad0c8d36335049713f 100644
--- a/VectoCoreTest/Models/Simulation/AuxTests.cs
+++ b/VectoCoreTest/Models/Simulation/AuxTests.cs
@@ -52,10 +52,8 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 				(writer, mass, loading) => sumWriter.WriteFullPowertrain(modData, "", "", "", null, null));
 			var data = DrivingCycleDataReader.ReadFromFile(@"TestData\Cycles\LongHaul_short.vdri", CycleType.DistanceBased);
 			var mockcycle = new MockDrivingCycle(container, data);
-			var port = new MockTnOutPort();
 
-			var aux = new Auxiliary(container);
-			aux.InPort().Connect(port);
+			var aux = new EngineAuxiliary(container);
 
 			var hdvClass = VehicleClass.Class5;
 			var mission = MissionType.LongHaul;
@@ -74,8 +72,9 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var t = 0.SI<Second>();
 			var dt = 1.SI<Second>();
 
+			aux.Initialize(torque, speed);
 			for (var i = 0; i < 11; i++) {
-				aux.OutPort().Request(t, dt, torque, speed);
+				aux.PowerDemand(t, dt, torque, speed);
 				modData[ModalResultField.dist] = i.SI<Meter>();
 				modData[ModalResultField.Pe_eng] = 0.SI<Watt>();
 				modData[ModalResultField.acc] = 0.SI<MeterPerSquareSecond>();
@@ -99,9 +98,8 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 		{
 			var dataWriter = new MockModalDataContainer();
 			var container = new VehicleContainer(dataWriter);
-			var port = new MockTnOutPort();
-			var aux = new Auxiliary(container);
-			aux.InPort().Connect(port);
+			//var port = new MockTnOutPort();
+			var aux = new EngineAuxiliary(container);
 
 			var constPower = 1200.SI<Watt>();
 			aux.AddConstant("CONSTANT", constPower);
@@ -109,24 +107,22 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var speed = 2358.RPMtoRad();
 			var torque = 500.SI<NewtonMeter>();
 			var t = 0.SI<Second>();
-			aux.OutPort().Request(t, t, torque, speed);
-			Assert.AreEqual(speed, port.AngularVelocity);
-			var newTorque = torque + constPower / speed;
-			AssertHelper.AreRelativeEqual(port.Torque, newTorque);
+
+			aux.Initialize(torque, speed);
+			var auxDemand = aux.PowerDemand(t, t, torque, speed);
+			AssertHelper.AreRelativeEqual(constPower / speed, auxDemand);
 
 			speed = 2358.RPMtoRad();
 			torque = 1500.SI<NewtonMeter>();
-			aux.OutPort().Request(t, t, torque, speed);
-			Assert.AreEqual(speed, port.AngularVelocity);
-			newTorque = torque + constPower / speed;
-			AssertHelper.AreRelativeEqual(port.Torque, newTorque);
+			aux.Initialize(torque, speed);
+			auxDemand = aux.PowerDemand(t, t, torque, speed);
+			AssertHelper.AreRelativeEqual(constPower / speed, auxDemand);
 
 			speed = 1500.RPMtoRad();
 			torque = 1500.SI<NewtonMeter>();
-			aux.OutPort().Request(t, t, torque, speed);
-			Assert.AreEqual(speed, port.AngularVelocity);
-			newTorque = torque + constPower / speed;
-			AssertHelper.AreRelativeEqual(port.Torque, newTorque);
+			aux.Initialize(torque, speed);
+			auxDemand = aux.PowerDemand(t, t, torque, speed);
+			AssertHelper.AreRelativeEqual(constPower / speed, auxDemand);
 		}
 
 		[TestMethod]
@@ -136,9 +132,8 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var container = new VehicleContainer(dataWriter);
 			var data = DrivingCycleDataReader.ReadFromFile(@"TestData\Cycles\Coach time based short.vdri", CycleType.TimeBased);
 			var cycle = new MockDrivingCycle(container, data);
-			var port = new MockTnOutPort();
-			var aux = new Auxiliary(container);
-			aux.InPort().Connect(port);
+
+			var aux = new EngineAuxiliary(container);
 
 			aux.AddDirect();
 
@@ -149,11 +144,10 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 
 			var expected = new[] { 6100, 3100, 2300, 4500, 6100 };
 			foreach (var e in expected) {
-				aux.OutPort().Request(t, t, torque, speed);
-				Assert.AreEqual(speed, port.AngularVelocity);
-				var newTorque = torque + e.SI<Watt>() / speed;
-				AssertHelper.AreRelativeEqual(port.Torque, newTorque);
+				aux.Initialize(torque, speed);
+				var auxDemand = aux.PowerDemand(t, t, torque, speed);
 
+				AssertHelper.AreRelativeEqual((e.SI<Watt>() / speed).Value(), auxDemand.Value());
 				cycle.CommitSimulationStep(null);
 			}
 		}
@@ -172,10 +166,8 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			// ALT1 in cycle file: 0, 0.3724 (=0.38*0.96), 0.4802 (=0.49*0.96), 0.6272 (0.64*0.96), ...
 
 			var cycle = new MockDrivingCycle(container, data);
-			var port = new MockTnOutPort();
 
-			var aux = new Auxiliary(container);
-			aux.InPort().Connect(port);
+			var aux = new EngineAuxiliary(container);
 
 			var auxData = AuxiliaryData.ReadFromFile(@"TestData\Components\24t_Coach_ALT.vaux");
 			// ratio = 4.078
@@ -208,10 +200,10 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			};
 
 			foreach (var e in expected) {
-				aux.OutPort().Request(t, t, torque, speed);
-				Assert.AreEqual(speed, port.AngularVelocity);
+				aux.Initialize(torque, speed);
+				var auxDemand = aux.PowerDemand(t, t, torque, speed);
 
-				AssertHelper.AreRelativeEqual(port.Torque, torque + e.SI<Watt>() / speed);
+				AssertHelper.AreRelativeEqual((e.SI<Watt>() / speed).Value(), auxDemand.Value());
 
 				cycle.CommitSimulationStep(null);
 			}
@@ -233,8 +225,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var cycle = new MockDrivingCycle(container, data);
 			var port = new MockTnOutPort();
 
-			var aux = new Auxiliary(container);
-			aux.InPort().Connect(port);
+			var aux = new EngineAuxiliary(container);
 
 			var auxData = AuxiliaryData.ReadFromFile(@"TestData\Components\24t_Coach_ALT.vaux");
 			// ratio = 4.078
@@ -262,10 +253,10 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			};
 
 			foreach (var e in expected) {
-				aux.OutPort().Request(t, t, torque, speed);
-				Assert.AreEqual(speed, port.AngularVelocity);
+				aux.Initialize(torque, speed);
+				var auxDemand = aux.PowerDemand(t, t, torque, speed);
 
-				AssertHelper.AreRelativeEqual(port.Torque, torque + e.SI<Watt>() / speed);
+				AssertHelper.AreRelativeEqual((e.SI<Watt>() / speed).Value(), auxDemand);
 
 				cycle.CommitSimulationStep(null);
 			}
@@ -278,7 +269,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var data = DrivingCycleDataReader.ReadFromFile(@"TestData\Cycles\Coach time based short.vdri", CycleType.TimeBased);
 			var cycle = new MockDrivingCycle(container, data);
 
-			var aux = new Auxiliary(container);
+			var aux = new EngineAuxiliary(container);
 			AssertHelper.Exception<VectoException>(() => aux.AddMapping("NONEXISTING_AUX", null),
 				"driving cycle does not contain column for auxiliary: NONEXISTING_AUX");
 		}
@@ -341,13 +332,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var inputData = JSONInputDataFactory.ReadJsonJob(@"TestData\Jobs\40t_Long_Haul_Truck_wrong_AUX.vecto");
 			var runsFactory = new SimulatorFactory(ExecutionMode.Declaration, inputData, fileWriter);
 
-			jobContainer.AddRuns(runsFactory);
-			jobContainer.Execute();
-
-			ResultFileHelper.TestSumFile(@"TestData\Results\Declaration\40t_Long_Haul_Truck.vsum",
-				@"AuxReadJobFileDeclarationMode.vsum");
-
-			Assert.Inconclusive();
+			AssertHelper.Exception<VectoException>(() => jobContainer.AddRuns(runsFactory));
 		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs b/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
index 8287214c48bd144abbc1cfbe41c0998f80c42297..80212576026ba87650d5783f450d58848c2ea4c4 100644
--- a/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
+++ b/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
@@ -223,15 +223,15 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 
 			var driver = new MockDriver(container);
 
-			var aux = new Auxiliary(container);
+			var aux = new EngineAuxiliary(container);
 			aux.AddConstant("", 5000.SI<Watt>());
 
 			gearbox.Gear = 1;
 
 			//gearbox.InPort().Connect(engine.OutPort());
 			gearbox.InPort().Connect(clutch.OutPort());
-			clutch.InPort().Connect(aux.OutPort());
-			aux.InPort().Connect(engine.OutPort());
+			clutch.InPort().Connect(engine.OutPort());
+			engine.Connect(aux.Port());
 			engine.IdleController.RequestPort = clutch.IdleControlPort;
 
 //			var expectedResults = VectoCSVFile.Read(TestContext.DataRow["ResultFile"].ToString());
@@ -314,8 +314,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 				absTime += dt;
 
 				Assert.IsInstanceOfType(response, typeof(ResponseSuccess));
-				Assert.AreEqual(engineSpeed[i].Value(), engine.PreviousState.EngineSpeed.Value(), Tolerance);
-				Assert.AreEqual(enginePower[i].Value(), engine.PreviousState.EnginePower.Value(), Tolerance);
+				Assert.AreEqual(engineSpeed[i].Value(), engine.PreviousState.EngineSpeed.Value(), Tolerance, "i: {0}", i);
+				Assert.AreEqual(enginePower[i].Value(), engine.PreviousState.EnginePower.Value(), Tolerance, "i: {0}", i);
 			}
 		}
 
@@ -510,15 +510,15 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 
 			var driver = new MockDriver(container);
 
-			var aux = new Auxiliary(container);
+			var aux = new EngineAuxiliary(container);
 			aux.AddConstant("", 5000.SI<Watt>());
 
 			gearbox.Gear = 1;
 
 			//gearbox.InPort().Connect(engine.OutPort());
 			gearbox.InPort().Connect(clutch.OutPort());
-			clutch.InPort().Connect(aux.OutPort());
-			aux.InPort().Connect(engine.OutPort());
+			clutch.InPort().Connect(engine.OutPort());
+			engine.Connect(aux.Port());
 
 			// has to be done after connecting components!
 			engine.IdleController.RequestPort = clutch.IdleControlPort;
diff --git a/VectoCoreTest/TestData/Jobs/12t Delivery Truck.vecto b/VectoCoreTest/TestData/Jobs/12t Delivery Truck.vecto
index bee5ae049e4eb564ea8e058b0d19eb57529d4bed..d9a0f98fd634bc2df57e4ad53a4138e002b8fb52 100644
--- a/VectoCoreTest/TestData/Jobs/12t Delivery Truck.vecto	
+++ b/VectoCoreTest/TestData/Jobs/12t Delivery Truck.vecto	
@@ -20,32 +20,32 @@
         "ID": "FAN",
         "Type": "Fan",
         "Path": "<NOFILE>",
-        "Technology": ""
+        "Technology": "Belt driven or driven via transm. - Discrete step clutch"
       },
       {
         "ID": "STP",
         "Type": "Steering pump",
         "Path": "<NOFILE>",
-        "Technology": ""
+        "Technology": "Variable displacement"
       },
       {
         "ID": "AC",
         "Type": "HVAC",
         "Path": "<NOFILE>",
-        "Technology": ""
+        "Technology": "Default"
       },
       {
         "ID": "ES",
         "Type": "Electric System",
         "Path": "<NOFILE>",
-        "Technology": "",
+        "Technology": "Custom Technology List",
         "TechList": []
       },
       {
         "ID": "PS",
         "Type": "Pneumatic System",
         "Path": "<NOFILE>",
-        "Technology": ""
+        "Technology": "Default"
       }
     ],
     "VACC": "<NOFILE>",
diff --git a/VectoCoreTest/TestData/Jobs/40t_Long_Haul_Truck_wrong_AUX.vecto b/VectoCoreTest/TestData/Jobs/40t_Long_Haul_Truck_wrong_AUX.vecto
new file mode 100644
index 0000000000000000000000000000000000000000..47373f2a7ecde271757f945d79202bfc094353d6
--- /dev/null
+++ b/VectoCoreTest/TestData/Jobs/40t_Long_Haul_Truck_wrong_AUX.vecto
@@ -0,0 +1,71 @@
+{
+  "Header": {
+    "CreatedBy": "Raphael Luz IVT TU-Graz (85407225-fc3f-48a8-acda-c84a05df6837)",
+    "Date": "29.07.2014 16:59:08",
+    "AppVersion": "2.0.4-beta",
+    "FileVersion": 2
+  },
+  "Body": {
+    "SavedInDeclMode": true,
+    "VehicleFile": "../Components/40t_Long_Haul_Truck.vveh",
+    "EngineFile": "../Components/40t_Long_Haul_Truck.veng",
+    "GearboxFile": "../Components/40t_Long_Haul_Truck.vgbx",
+    "Cycles": [
+      "Long Haul",
+      "Regional Delivery"
+    ],
+    "Aux": [
+      {
+        "ID": "FAN",
+        "Type": "Fan",
+        "Path": "<NOFILE>",
+        "Technology": "Hydraulic driven - Constant displacement pump"
+      },
+      {
+        "ID": "STP",
+        "Type": "Steering pump",
+        "Path": "<NOFILE>",
+        "Technology": "Variable displacement"
+      },
+      {
+        "ID": "ACA",
+        "Type": "HVAC",
+        "Path": "<NOFILE>",
+        "Technology": "Default"
+      },
+		{
+			"ID": "LIP",
+			"Type": "Electric System",
+			"Path": "<NOFILE>",
+			"Technology": "Custom Technology List",
+			"TechList": [ ]
+		},
+		      {
+        "ID": "LIP",
+        "Type": "Electric System",
+        "Path": "<NOFILE>",
+        "Technology": "Custom Technology List",
+        "TechList": []
+      }
+    ],
+    "VACC": "<NOFILE>",
+    "EngineOnlyMode": false,
+    "StartStop": {
+      "Enabled": false,
+      "MaxSpeed": 5.0,
+      "MinTime": 5.0,
+      "Delay": 5
+    },
+    "LAC": {
+      "Enabled": true,
+      "Dec": -0.5,
+      "MinSpeed": 50.0
+    },
+    "OverSpeedEcoRoll": {
+      "Mode": "OverSpeed",
+      "MinSpeed": 50.0,
+      "OverSpeed": 5.0,
+      "UnderSpeed": 5.0
+    }
+  }
+}
\ No newline at end of file
diff --git a/VectoCoreTest/VectoCoreTest.csproj b/VectoCoreTest/VectoCoreTest.csproj
index b9cfdd07436a12f98b800f76c164a8c5ccae1d59..544cae4a103b436149a07b1a48feace49ac2da46 100644
--- a/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCoreTest/VectoCoreTest.csproj
@@ -720,6 +720,9 @@
     <None Include="TestData\Jobs\40t_Long_Haul_Truck_invalid-JSON.vecto">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
+    <None Include="TestData\Jobs\40t_Long_Haul_Truck_wrong_AUX.vecto">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
     <None Include="TestData\Jobs\job-report.vecto">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>