diff --git a/VECTO/Input Files/Engine.vb b/VECTO/Input Files/Engine.vb
index 6d00b176028bf9b51d6ad63e735f555d84a3c949..a1421cc170993bd62cbff5ff8a2a281267141e83 100644
--- a/VECTO/Input Files/Engine.vb	
+++ b/VECTO/Input Files/Engine.vb	
@@ -24,6 +24,7 @@ Imports TUGraz.VectoCore.Models.Declaration
 Imports TUGraz.VectoCore.Models.SimulationComponent.Data
 Imports TUGraz.VectoCore.Models.SimulationComponent.Impl
 Imports TUGraz.VectoCore.Utils
+Imports DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry
 
 
 ''' <summary>
diff --git a/VECTO/Input Files/Gearbox.vb b/VECTO/Input Files/Gearbox.vb
index a28e7c3000fce595f2c6d489d3a4fdc565dfeeac..1f55fd5e564a3b0855a833815e6ff4eff74a797a 100644
--- a/VECTO/Input Files/Gearbox.vb	
+++ b/VECTO/Input Files/Gearbox.vb	
@@ -28,6 +28,7 @@ Imports TUGraz.VectoCore.Models.SimulationComponent.Data
 Imports TUGraz.VectoCore.Models.SimulationComponent.Data.Engine
 Imports TUGraz.VectoCore.Models.SimulationComponent.Impl
 Imports TUGraz.VectoCore.Utils
+Imports DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry
 
 <CustomValidation(GetType(Gearbox), "ValidateGearbox")>
 Public Class Gearbox
diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb
index 64e65684f25f2bd39834d0a54af04c44d627b3ba..3b892b018d2c1009e2f51ac727193d2a85adf521 100644
--- a/VECTO/Input Files/Vehicle.vb	
+++ b/VECTO/Input Files/Vehicle.vb	
@@ -26,6 +26,7 @@ Imports TUGraz.VectoCore.Models.Declaration
 Imports TUGraz.VectoCore.Models.SimulationComponent.Data
 Imports TUGraz.VectoCore.Models.SimulationComponent.Impl
 Imports TUGraz.VectoCore.Utils
+Imports DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry
 
 <CustomValidation(GetType(Vehicle), "ValidateVehicle")>
 Public Class Vehicle
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter
new file mode 100644
index 0000000000000000000000000000000000000000..50da0f52338f61db5ca05bc81de27329323202c1
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DataAdapter
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ClassDiagram MajorVersion="1" MinorVersion="1" MembersFormat="NameAndType">
+  <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry">
+    <Position X="1" Y="2.75" Width="6" />
+    <Compartments>
+      <Compartment Name="Nested Types" Collapsed="false" />
+    </Compartments>
+    <NestedTypes>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.Conventional" Collapsed="true">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\Conventional.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P4">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P4.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S4" Collapsed="true">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_S4.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P1">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P1.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2_5">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P2_5.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P2.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S2" Collapsed="true">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_S2.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P3">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_P3.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S3" Collapsed="true">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_S3.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E2" Collapsed="true">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\PEV_E2.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E3" Collapsed="true">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\PEV_E3.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E4" Collapsed="true">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\PEV_E4.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.LorryBase" Collapsed="true">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\LorryBase.cs</NewMemberFileName>
+        </TypeIdentifier>
+        <Lollipop Position="0.2" />
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E_IEPC" Collapsed="true">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\PEV_E_IEPC.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+      <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S_IEPC" Collapsed="true">
+        <TypeIdentifier>
+          <NewMemberFileName>InputData\Reader\DataObjectAdapter\HeavyLorry\HEV_S_IEPC.cs</NewMemberFileName>
+        </TypeIdentifier>
+      </Class>
+    </NestedTypes>
+    <TypeIdentifier>
+      <HashCode>AAEAAAgAgCAgAAAAAAEAEgIAAAAAACAEAAAAQQABQAA=</HashCode>
+      <FileName>InputData\Reader\DataObjectAdapter\HeavyLorry\DeclarationDataAdapterHeavyLorry.cs</FileName>
+    </TypeIdentifier>
+    <Lollipop Position="0.2" />
+  </Class>
+  <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.AbstractSimulationDataAdapter">
+    <Position X="8.25" Y="0.5" Width="5" />
+    <TypeIdentifier>
+      <HashCode>AAggAEAAEAAABAAAAAAAAhAEABEAAgAMAAgAAAAADAA=</HashCode>
+      <FileName>InputData\Reader\DataObjectAdapter\AbstractSimulationDataAdapter.cs</FileName>
+    </TypeIdentifier>
+  </Class>
+  <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.DeclarationDataAdapterPrimaryBus">
+    <Position X="7.25" Y="7.75" Width="2.75" />
+    <TypeIdentifier>
+      <HashCode>AAAQAAAAgDAgAAAAAAAIAgIASABgAqIgEAAAAAABQAQ=</HashCode>
+      <FileName>InputData\Reader\DataObjectAdapter\DeclarationDataAdapterPrimaryBus.cs</FileName>
+    </TypeIdentifier>
+  </Class>
+  <Class Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.ElectricConsumerEntry">
+    <Position X="10.5" Y="6" Width="4" />
+    <TypeIdentifier>
+      <HashCode>AAAAAAAAAAAAAAAAAACAAAAACAAAAAAAAAAAEEAAAAA=</HashCode>
+      <FileName>InputData\Reader\DataObjectAdapter\DeclarationDataAdapterPrimaryBus.cs</FileName>
+    </TypeIdentifier>
+  </Class>
+  <Interface Name="TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.IDeclarationDataAdapter">
+    <Position X="6" Y="0.5" Width="3.25" />
+    <TypeIdentifier>
+      <HashCode>AAEAAAgAgCAgAAAAAAEAAgIAAAAAAAAEAAAAQAABQAA=</HashCode>
+      <FileName>InputData\Reader\DataObjectAdapter\IDeclarationDataAdapter.cs</FileName>
+    </TypeIdentifier>
+  </Interface>
+  <Font Name="Segoe UI" Size="9" />
+</ClassDiagram>
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs
index 08425cda422aa686f17033bbcac53cc397d33b81..1c3560efba3704b960f5a296d3ecd439506d6f16 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterNinjectModule.cs
@@ -10,46 +10,46 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 		public override void Load()
 		{
 			#region HeavyLorry
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.Conventional>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.Conventional>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.Conventional>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_S2>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S2>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_S2>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_S3>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S3>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_S3>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_S4>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S4>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_S4>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_S_IEPC>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_S_IEPC>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_S_IEPC>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_P1>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P1>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_P1>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_P2>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_P2>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_P2_5>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P2_5>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_P2_5>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_P3>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P3>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_P3>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.HEV_P4>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.HEV_P4>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.HEV_P4>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.PEV_E2>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E2>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.PEV_E2>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.PEV_E3>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E3>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.PEV_E3>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.PEV_E4>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E4>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.PEV_E4>();
 
-			Bind<IDeclarationDataAdapter>().To<DeclarationDataAdapterHeavyLorry.PEV_E_IEPC>()
+			Bind<IDeclarationDataAdapter>().To<HeavyLorry.DeclarationDataAdapterHeavyLorry.PEV_E_IEPC>()
 				.WhenInjectedExactlyInto<DeclarationModeHeavyLorryRunDataFactory.PEV_E_IEPC>();
 			#endregion HeavyLorry
 		}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
index 9067d8cca2f8b3c1afafdb6efd0ec35dbf48957b..373c7c44c700bdbaf8c1e6240eb9550f1952cd6f 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
@@ -19,7 +19,7 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 {
-	public class DeclarationDataAdapterPrimaryBus : DeclarationDataAdapterHeavyLorry.Conventional
+	public class DeclarationDataAdapterPrimaryBus : HeavyLorry.DeclarationDataAdapterHeavyLorry.Conventional
 	{
 		#region Overrides of DeclarationDataAdapterHeavyLorry
 
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs
index e5fb7b2d7584413d9cc16359757577620d62bde8..2363f7c692551f2186feae1ebcbc53e60cce413e 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs
@@ -145,7 +145,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 									: 4.SI<Meter>());
 					retVal.CrossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(
 						airDragArea,
-						DeclarationDataAdapterHeavyLorry.Conventional.GetDeclarationAirResistanceCurve(
+						HeavyLorry.DeclarationDataAdapterHeavyLorry.Conventional.GetDeclarationAirResistanceCurve(
 							GetAirdragParameterSet(
 								data.VehicleCategory, data.AxleConfiguration, data.Components.AxleWheels.AxlesEngineering.Count, data.GrossVehicleMassRating), airDragArea,
 							height),
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs
index 0b8b2a0ac553040762fe09ffc6179222efc8a4fc..ae836867a3c09c46eba77697ce710c8f9de7b040 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/Conventional.cs
@@ -16,7 +16,7 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
 using TUGraz.VectoCore.Utils;
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
@@ -76,10 +76,11 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 					WarnDeclarationMode("VehicleData");
 				}
 
-				return data.ExemptedVehicle
-					? CreateExemptedVehicleData(data)
-					: CreateNonExemptedVehicleData(data, segment, mission, loading.Value.Item1, loading.Value.Item2,
-						allowVocational);
+				//return data.ExemptedVehicle
+				//	? CreateExemptedVehicleData(data)
+				//	: CreateNonExemptedVehicleData(data, segment, mission, loading.Value.Item1, loading.Value.Item2,
+				//		allowVocational);
+				return CreateNonExemptedVehicleData(data, segment, mission, loading.Value.Item1, loading.Value.Item2, allowVocational);
 			}
 
 			protected virtual VehicleData CreateNonExemptedVehicleData(IVehicleDeclarationInputData data,
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs
index 573b15b7d3bc6d7585c62803f1ed7a6f049f8dce..377f87edd17e762dfe296f12eabe907eaecc89da 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/DeclarationDataAdapterHeavyLorry.cs
@@ -31,26 +31,16 @@
 
 using System;
 using System.Collections.Generic;
-using System.Linq;
-using TUGraz.VectoCommon.BusAuxiliaries;
-using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
-using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC;
-using TUGraz.VectoCore.InputData.Reader.ShiftStrategy;
-using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.SimulationComponent;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
-using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
-using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
-using TUGraz.VectoCore.Utils;
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	
 	public partial class DeclarationDataAdapterHeavyLorry : AbstractSimulationDataAdapter, IDeclarationDataAdapter
@@ -60,7 +50,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 		{
 			
 		}
-		private IDeclarationDataAdapter _declarationDataAdapterImplementation = new DeclarationDataAdapterHeavyLorry.Conventional();
+		private IDeclarationDataAdapter _declarationDataAdapterImplementation = new Conventional();
 		public static readonly GearboxType[] SupportedGearboxTypes = Conventional.SupportedGearboxTypes;
 		public static List<CrossWindCorrectionCurveReader.CrossWindCorrectionEntry> GetDeclarationAirResistanceCurve(string parameterSet, SquareMeter si, Meter meter)
 		{
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P1.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P1.cs
index d9ebb4ca1fc13fe212d469498b27ecf1c9161a22..bef6a10f64edcdfc2b70c1786bf7c26e2ba82620 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P1.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P1.cs
@@ -1,4 +1,4 @@
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2.cs
index 89991f09b9af4ce6cf01296c35bd1a1e47e91b6a..648cea5b2c096368dca2fe41efdc6e2572855311 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2.cs
@@ -1,5 +1,5 @@
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2_5.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2_5.cs
index 18b36227b4341e9bd3f493f03c2b0177780be933..da14951413573603d38431f25593f090ecbb3e79 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2_5.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P2_5.cs
@@ -1,9 +1,9 @@
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
-		public class HEV_P2_5 : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase
+		public class HEV_P2_5 : LorryBase
 		{
 
 		}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P3.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P3.cs
index 3b12407d168680061ce8469a8453fde6b886f6ff..331c5372f5c17875652d70fd50700a1de4c440b9 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P3.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P3.cs
@@ -1,5 +1,5 @@
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P4.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P4.cs
index 3fbaf1b7a66a14d7d423507f59ab7d1089509b9b..99a743928b60ef8eb74a09a5eb3d167543292e98 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P4.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_P4.cs
@@ -1,9 +1,9 @@
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
-		public class HEV_P4 : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase
+		public class HEV_P4 : LorryBase
 		{
 
 		}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S2.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S2.cs
index ea97ab174ca4e6ae9cf9ccb8ad33aa9bffe0914c..e15d55e1ba3bc0d7f2beae4dcfc424554e6600d1 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S2.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S2.cs
@@ -8,7 +8,7 @@ using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.SimulationComponent;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S3.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S3.cs
index d02d80057cbc3bbf0d28254be21fa2e82bfcee57..383233462fecb07cce5568abd06fe98cf2e63808 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S3.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S3.cs
@@ -1,11 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using TUGraz.VectoCore.InputData.Reader.Impl;
-
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
     public partial class DeclarationDataAdapterHeavyLorry
     {
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S4.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S4.cs
index ffa4b4975ec31f48a899f7b51d7feef73e1f81b7..48deec22b0b903a29bf8ff948dae859dfda98f17 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S4.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S4.cs
@@ -1,11 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using TUGraz.VectoCore.InputData.Reader.Impl;
-
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
     public partial class DeclarationDataAdapterHeavyLorry
     {
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S_IEPC.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S_IEPC.cs
index 0917520f49f053b79815b2b5e12ce0233994e801..44194285ad0bfcbb75be344bb9f01e78c93c1c0e 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S_IEPC.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/HEV_S_IEPC.cs
@@ -1,8 +1,8 @@
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
     public partial class DeclarationDataAdapterHeavyLorry
     {
-		public class HEV_S_IEPC : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase
+		public class HEV_S_IEPC : LorryBase
 		{
 
 		}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs
index 198243eef9d89e8d3cd51d97888c4c150243d0eb..2ab8ab830344df81df1115c7325eba4a59d8a9ae 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/LorryBase.cs
@@ -8,7 +8,7 @@ using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.SimulationComponent;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E2.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E2.cs
index 366d6ac6b4fcba36652d32f113b2c660828ec1dd..eeb02207a944990e1051e1f37aec000cf074c052 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E2.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E2.cs
@@ -1,9 +1,9 @@
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
-		public class PEV_E2 : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase
+		public class PEV_E2 : LorryBase
 		{
 
 		}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E3.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E3.cs
index 91528a457140bed8027a7f6f969bf9a7c78da9bc..ebcf0d47e627c0ef7fab180c6c320a05acd99ef7 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E3.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E3.cs
@@ -1,9 +1,9 @@
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
-		public class PEV_E3 : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase
+		public class PEV_E3 : LorryBase
 		{
 
 		}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E4.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E4.cs
index 4dac3f87fc7bb3d2c84fcc82468654270adbf42a..54254768d658c99ed912f240138656bd6570b1d4 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E4.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E4.cs
@@ -1,9 +1,9 @@
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
-		public class PEV_E4 : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase
+		public class PEV_E4 : LorryBase
 		{
 
 		}
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E_IEPC.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E_IEPC.cs
index 61f904f99874244f3131d602c6928e7b05363181..ba61ea4702264895b1689d5358ffc129c020e21d 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E_IEPC.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/HeavyLorry/PEV_E_IEPC.cs
@@ -1,9 +1,9 @@
 
-namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
+namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry
 {
 	public partial class DeclarationDataAdapterHeavyLorry
 	{
-		public class PEV_E_IEPC : DataObjectAdapter.DeclarationDataAdapterHeavyLorry.LorryBase
+		public class PEV_E_IEPC : LorryBase
 		{
 
 		}
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/Conventional.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/Conventional.cs
index e27fd01ee567ec9bbcea25db279dffa84b61d881..10d6a2bb4aa0850e0b2a0dc474c940121b3a3cfb 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/Conventional.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/Conventional.cs
@@ -15,7 +15,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa
 {
 	public abstract partial class DeclarationModeHeavyLorryRunDataFactory
 	{
-		public class Conventional : LorryBase
+		
+		public sealed class Conventional : LorryBase
 		{
 			public Conventional(IDeclarationInputDataProvider dataProvider, IDeclarationReport report,
 				IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { }
@@ -44,7 +45,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa
 				}
 			}
 
-			private VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, Mission mission,
+			protected override VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, Mission mission,
 				KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational)
 			{
 				var engine = InputDataProvider.JobInputData.Vehicle.Components.EngineInputData;
@@ -160,5 +161,11 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa
 			public PEV_E_IEPC(IDeclarationInputDataProvider dataProvider, IDeclarationReport report,
 				IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { }
 		}
+
+		public class Exempted : LorryBase
+		{
+			public Exempted(IDeclarationInputDataProvider dataProvider, IDeclarationReport report,
+				IDeclarationDataAdapter declarationDataAdapter) : base(dataProvider, report, declarationDataAdapter) { }
+		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs
index cbdb049b6a5975728e6090b58e679e67427040a8..cf845914d1196ac8b1f665e33f1e1e39ba327881 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/HeavyLorryRunDataFactory/DeclarationModeHeavyLorryRunDataFactory.cs
@@ -43,6 +43,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa
 			protected PTOData _ptoTransmissionData;
 			protected PTOData _municipalPtoTransmissionData;
 			protected ShiftStrategyParameters _gearshiftData;
+			private bool _allowVocational;
 
 
 			protected LorryBase(IDeclarationInputDataProvider dataProvider, IDeclarationReport report,
@@ -99,6 +100,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa
 			{
 				var vehicle = InputDataProvider.JobInputData.Vehicle;
 				_segment = GetSegment(vehicle, out var allowVocational);
+				_allowVocational = allowVocational;
 				_driverdata = DataAdapter.CreateDriverData();
 				_driverdata.AccelerationCurve = AccelerationCurveReader.ReadFromStream(_segment.AccelerationFile);
 				var tempVehicle = DataAdapter.CreateVehicleData(vehicle, _segment, _segment.Missions.First(),
@@ -157,7 +159,10 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa
 							CycleType.PTO, "PTO", false)
 				};
 			}
-			protected abstract VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational);
+			protected virtual VectoRunData CreateVectoRunData(IVehicleDeclarationInputData vehicle, int modeIdx, Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, bool allowVocational)
+			{
+				throw new NotImplementedException();
+			}
 
 			public virtual void InitializeReport()
 			{
@@ -166,14 +171,14 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDa
 				var vehicle = InputDataProvider.JobInputData.Vehicle;
 				if (vehicle.ExemptedVehicle)
 				{
-					powertrainConfig = CreateVectoRunData(vehicle, 0, null, new KeyValuePair<LoadingType, Tuple<Kilogram, double?>>());
+					powertrainConfig = CreateVectoRunData(vehicle, 0, null, new KeyValuePair<LoadingType, Tuple<Kilogram, double?>>(), _allowVocational);
 					fuels = new List<List<FuelData.Entry>>();
 				}
 				else
 				{
 					powertrainConfig = _segment.Missions.Select(
 							mission => CreateVectoRunData(
-								vehicle, 0, mission, mission.Loadings.First()))
+								vehicle, 0, mission, mission.Loadings.First(), _allowVocational))
 						.FirstOrDefault(x => x != null);
 					fuels = vehicle.Components.EngineInputData.EngineModes.Select(x => x.Fuels.Select(f => DeclarationData.FuelData.Lookup(f.FuelType, vehicle.TankSystem)).ToList())
 						.ToList();
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/RunDataFactories.cd b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/RunDataFactories.cd
new file mode 100644
index 0000000000000000000000000000000000000000..1c447d7f808150012cb6572c5d74bf709d603be3
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationMode/RunDataFactories.cd
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ClassDiagram MajorVersion="1" MinorVersion="1" MembersFormat="NameAndType">
+  <Class Name="TUGraz.VectoCore.InputData.Reader.Impl.DeclarationModeTruckVectoRunDataFactory">
+    <Position X="6.5" Y="4.75" Width="5.25" />
+    <TypeIdentifier>
+      <HashCode>gAKAIAAAAAAAAAABAAAABAAAAAQAAAEAAAAAAAAAAAA=</HashCode>
+      <FileName>InputData\Reader\Impl\DeclarationModeHeavyLorryVectoRunDataFactory.cs</FileName>
+    </TypeIdentifier>
+  </Class>
+  <Class Name="TUGraz.VectoCore.InputData.Reader.Impl.AbstractDeclarationVectoRunDataFactory">
+    <Position X="1.25" Y="2.25" Width="3.5" />
+    <TypeIdentifier>
+      <HashCode>gAoAAgAAAkEgAQIBAACgACgAAAAAAAEIAgAAgAQABAA=</HashCode>
+      <FileName>InputData\Reader\Impl\AbstractDeclarationVectoRunDataFactory.cs</FileName>
+    </TypeIdentifier>
+    <Lollipop Position="0.2" />
+  </Class>
+  <Class Name="TUGraz.VectoCore.InputData.Reader.Impl.DeclarationModePrimaryBusVectoRunDataFactory">
+    <Position X="6.5" Y="1.25" Width="6" />
+    <TypeIdentifier>
+      <HashCode>gAIBAgAAAAAAAAABAAAABAAAAAAIAAEAAAAAAAAAAAA=</HashCode>
+      <FileName>InputData\Reader\Impl\DeclarationModePrimaryBusVectoRunDataFactory.cs</FileName>
+    </TypeIdentifier>
+  </Class>
+  <Interface Name="TUGraz.VectoCore.InputData.IVectoRunDataFactory">
+    <Position X="2.75" Y="0.5" Width="3" />
+    <TypeIdentifier>
+      <HashCode>AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
+      <FileName>InputData\IVectoRunDataFactory.cs</FileName>
+    </TypeIdentifier>
+  </Interface>
+  <Font Name="Segoe UI" Size="9" />
+</ClassDiagram>
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs
index 4f39aff811299608d9de51e83a8b133e9daaee59..f7c2ed89007975302e727c13d1c17a4f4fc83ffb 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeHeavyLorryVectoRunDataFactory.cs
@@ -41,6 +41,7 @@ using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.OutputData;
+using DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry;
 
 
 namespace TUGraz.VectoCore.InputData.Reader.Impl
diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs
index 574d77a8497ddf95411de146f8765e0371d9a992..a40581987bfd5ab3216ec7c78152270aa8f1d1b0 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationVTPModeVectoRunDataFactoryLorries.cs
@@ -43,6 +43,7 @@ using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.OutputData;
+using DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry;
 
 namespace TUGraz.VectoCore.InputData.Reader.Impl
 {
diff --git a/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs b/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs
index fbd6e0359c33fd61aed011fdd031618fe1820e24..a1aabcb7d591c1382dc94c73d2fd9d020bcb1e1a 100644
--- a/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs
+++ b/VectoCore/VectoCore/InputData/Reader/VectoRunDataFactoryNinjectModule.cs
@@ -117,7 +117,8 @@ namespace TUGraz.VectoCore.InputData.Reader
 				_vehicleStringHelper.GetName(VehicleCategoryHelper.Lorry, VectoSimulationJobType.BatteryElectricVehicle,
 					ArchitectureID.E_IEPC));
 
-
+			Bind<IVectoRunDataFactory>().To<DeclarationModeHeavyLorryRunDataFactory.Exempted>().Named(
+				_vehicleStringHelper.GetName(VehicleCategoryHelper.Lorry, exempted: true));
 			#endregion
 
 			#region PrimaryBus
diff --git a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
index b0e5b91229de2228381bd7a4627db88262f5a08f..a6ac03e7afa17c3eeddd1e2d7a1651e645866eeb 100644
--- a/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
+++ b/VectoCore/VectoCore/Models/GenericModelData/GenericBusEngineData.cs
@@ -14,6 +14,7 @@ using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
 using TUGraz.VectoCore.Utils;
+using DeclarationDataAdapterHeavyLorry = TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry.DeclarationDataAdapterHeavyLorry;
 
 namespace TUGraz.VectoCore.Models.Declaration
 {
diff --git a/VectoCore/VectoCore/Utils/Ninject/VehicleTypeAndArchitectureStringHelper.cs b/VectoCore/VectoCore/Utils/Ninject/VehicleTypeAndArchitectureStringHelper.cs
index 99bf7c53dce67edf8448a70cd0abe3e7dbc988f0..9b6e8adb786d0a591540ae1e0306e1303ff92d25 100644
--- a/VectoCore/VectoCore/Utils/Ninject/VehicleTypeAndArchitectureStringHelper.cs
+++ b/VectoCore/VectoCore/Utils/Ninject/VehicleTypeAndArchitectureStringHelper.cs
@@ -114,38 +114,83 @@ namespace TUGraz.VectoCore.Utils.Ninject
 			return GetName(new VehicleClassification(jobType, archId, vehicleType, exempted, iepc, ihpc));
 		}
 
+		public string GetName(string vehicleType, bool exempted)
+		{
+			return GetName(vehicleType, VectoSimulationJobType.ConventionalVehicle, exempted: exempted);
+		}
+
 		#endregion
 
 		public struct VehicleClassification
 		{
+			private readonly VectoSimulationJobType _jobType;
+
+			private VectoSimulationJobType JobType
+			{
+				get
+				{
+					if (Exempted) {
+						return VectoSimulationJobType.ConventionalVehicle; //ignored for exempted vehicles
+					}
+					return _jobType;
+				}
+			}
+
+			private readonly ArchitectureID _archId;
+
+			private ArchitectureID ArchId
+			{
+				get
+				{
+					if (Exempted) {
+						return ArchitectureID.UNKNOWN; //ignored for exempted vehicles
+                    }
+					return _archId;
+				}
+			}
+
+			private readonly string _vehicleType;
+
+			private string VehicleType => _vehicleType;
+
+			private readonly bool _exempted;
+
+			private bool Exempted
+			{
+				get
+				{
+					return _exempted;
+				}
+			}
+
+			private readonly bool _iepc;
+
+			private bool Iepc => _iepc;
+
+			private readonly bool _ihpc;
 
-			private VectoSimulationJobType JobType { get; }
-			private ArchitectureID ArchId { get; }
-			private string VehicleType { get; }
-			private bool Exempted { get; }
-			private bool Iepc { get; }
-			private bool Ihpc { get; }
+			private bool Ihpc => _ihpc;
 
 			public VehicleClassification(VectoSimulationJobType jobType, ArchitectureID archId, string vehicleType, bool exempted, bool iepc, bool ihpc)
 			{
-				Iepc = iepc;
-				Ihpc = ihpc;
-				Exempted = exempted;
-				VehicleType = vehicleType;
-				ArchId = archId;
-				JobType = jobType;
+				_iepc = iepc;
+				_ihpc = ihpc;
+				_exempted = exempted;
+				_vehicleType = vehicleType;
+				_archId = archId;
+				_jobType = jobType;
 			}
 
 			public VehicleClassification(IVehicleDeclarationInputData inputData) : this()
 			{
 				//Iepc = (inputData.Components?.ElectricMachines?.Entries)?.Count(electric => electric.ElectricMachine.IHPCType != "None") > 0;
 				//Ihpc = (inputData.Components?.IEPC != null);
-				Iepc = false;
-				Ihpc = false;
-				Exempted = inputData.ExemptedVehicle;
-				VehicleType = inputData.VehicleCategory.GetVehicleType();
-				ArchId = inputData.ArchitectureID;
-				JobType = inputData.VehicleType;
+				_iepc = false;
+				_ihpc = false;
+				_exempted = inputData.ExemptedVehicle;
+				_vehicleType = inputData.VehicleCategory.GetVehicleType();
+				_archId = inputData.ArchitectureID;
+				_jobType = inputData.VehicleType;
 				
 			}
 
@@ -154,12 +199,12 @@ namespace TUGraz.VectoCore.Utils.Ninject
 			{
 				//Iepc = (inputData.MultistageJobInputData..Components?.ElectricMachines?.Entries)?.Count(electric => electric.ElectricMachine.IHPCType != "None") > 0;
 				//Ihpc = (inputData.Components?.IEPC != null);
-				Iepc = false;
-				Ihpc = false;
-				Exempted = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.ExemptedVehicle;
-				VehicleType = inputData.MultistageJobInputData.JobInputData.ConsolidateManufacturingStage.Vehicle.VehicleCategory.GetVehicleType();
-				ArchId = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.ArchitectureID;
-				JobType = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.VehicleType;
+				_iepc = false;
+				_ihpc = false;
+				_exempted = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.ExemptedVehicle;
+				_vehicleType = inputData.MultistageJobInputData.JobInputData.ConsolidateManufacturingStage.Vehicle.VehicleCategory.GetVehicleType();
+				_archId = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.ArchitectureID;
+				_jobType = inputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.VehicleType;
 
 				//inputData.MultistageJobInputData.JobInputData.ConsolidateManufacturingStage.
 			}
diff --git a/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs b/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs
index b4444c669ff787cd81e0a1351ed46aa895e711ab..c41ed30d97086f13d83e1240056f9b097feb7955 100644
--- a/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs
+++ b/VectoCore/VectoCoreTest/InputData/RunDataFactory/RunDataFactoryFactoryTest.cs
@@ -12,6 +12,7 @@ using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCore.InputData;
 using TUGraz.VectoCore.InputData.Reader;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry;
 using TUGraz.VectoCore.InputData.Reader.Impl;
 using TUGraz.VectoCore.InputData.Reader.Impl.DeclarationMode.HeavyLorryRunDataFactory;
 
@@ -196,10 +197,20 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory
 
 		}
 
-
-#endregion HeavyLorry
-#region PrimaryBus
 		[TestCase()]
+		public void Exempted_HeavyLorryTest(Type expectedDataAdapter = null)
+		{
+			var input = new Mock<IDeclarationInputDataProvider>()
+				.Exempted()
+				.Lorry();
+			CreateRunDataFactory(input, typeof(DeclarationModeHeavyLorryRunDataFactory.Exempted), expectedDataAdapter);
+
+		}
+
+
+        #endregion HeavyLorry
+        #region PrimaryBus
+        [TestCase()]
 		public void ConventionalPrimaryBus()
 		{
 			var input = new Mock<IDeclarationInputDataProvider>()
@@ -263,27 +274,24 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory
 			CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_S2));
 		}
 
-
 		[TestCase()]
-		public void HEV_P3_PrimaryBus()
+		public void HEV_P2_5_PrimaryBus()
 		{
 			var input = new Mock<IDeclarationInputDataProvider>()
-				.HEV(ArchitectureID.P3)
+				.HEV(ArchitectureID.P2_5)
 				.PrimaryBus();
-			CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P3));
+			CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P2_5));
 		}
 
-
-		[TestCase()]
-		public void HEV_P2_5_PrimaryBus()
+        [TestCase()]
+		public void HEV_P3_PrimaryBus()
 		{
 			var input = new Mock<IDeclarationInputDataProvider>()
-				.HEV(ArchitectureID.P2_5)
+				.HEV(ArchitectureID.P3)
 				.PrimaryBus();
-			CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P2_5));
+			CreateRunDataFactory(input, typeof(DeclarationModePrimaryBusRunDataFactory.HEV_P3));
 		}
 
-
 		[TestCase()]
 		public void HEV_P4_PrimaryBus()
 		{
@@ -331,7 +339,7 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory
 		}
 
         #endregion PrimaryBus
-        #region CompletedBus
+		#region CompletedBus
         [TestCase()]
         public void ConventionalCompletedBus()
         {
@@ -521,6 +529,13 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory
 			return mock;
 		}
 
+		internal static Mock<IDeclarationInputDataProvider> Exempted(this Mock<IDeclarationInputDataProvider> mock)
+		{
+			mock.Setup(p => p.JobInputData.Vehicle.ExemptedVehicle)
+				.Returns(true);
+			return mock;
+		}
+
 		internal static Mock<IMultistageVIFInputData> Conventional(this Mock<IMultistageVIFInputData> mock)
 		{
 			mock.Setup(p => p.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.VehicleType)
@@ -564,6 +579,13 @@ namespace TUGraz.VectoCore.Tests.InputData.RunDataFactory
 			return mock;
 		}
 
+		internal static Mock<IMultistageVIFInputData> Exempted(this Mock<IMultistageVIFInputData> mock)
+		{
+			mock.Setup(p => p.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.ExemptedVehicle).Returns(true);
+			return mock;
+		}
+
+
 
 
 	}
diff --git a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs
index 6334fd4bd787a59c547b77626e184749e5ec5646..4ae2f2680f9963e6261225fa4f2bf2316874c8b7 100644
--- a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs
+++ b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusFactorMethodTest.cs
@@ -22,6 +22,7 @@ using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.OutputData.FileIO;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry;
 using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC;
 using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
index 4fb62f6219cb6e058cdeb67c4448d55a9fa16d92..49685ca7fc07502c4a2c4f417a14091b31b30570 100644
--- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
@@ -41,6 +41,7 @@ using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.JSON;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry;
 using TUGraz.VectoCore.InputData.Reader.Impl;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs
index 89c56a1bfaa7430be54ec5fb05f111ca898f3348..defefa5236c1aa672fc6618c51a1a7381cfd4d40 100644
--- a/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Declaration/ShiftPolygonTest.cs
@@ -42,6 +42,7 @@ using TUGraz.VectoCore.InputData.FileIO.JSON;
 using TUGraz.VectoCore.InputData.FileIO.XML;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.Impl;
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs
index e84ed5e7500888f67281e06a47490a6095a0a047..03b0b59ca1e9bf0044926750a1c79828896dc353 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/ATGearboxTest.cs
@@ -40,6 +40,7 @@ using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.FileIO.JSON;
 using TUGraz.VectoCore.InputData.Impl;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry;
 using TUGraz.VectoCore.Models.Connector.Ports.Impl;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
index 94f1b6fbde457003cf2fb1f6f496172a9a9db82b..35435a494a35e1a6463182c6a7af47a036004c8e 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/GearboxTest.cs
@@ -53,6 +53,7 @@ using System.IO;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCore.InputData.FileIO.JSON;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry;
 
 // ReSharper disable RedundantAssignment
 // ReSharper disable UnusedVariable
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs
index 6381bb3e3ac7f164571b98c0bcf55a9f576d6467..7b0e6e6df52f43e7ddc9efee3c889f7691d87cde 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs
@@ -38,6 +38,7 @@ using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.DataBus;
 using TUGraz.VectoCore.Models.Simulation.Impl;
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs
index 2857d8a00c0d5542be77ea0d7d6a5a3fc90068e3..9ce9851a6f46adfdaa558df76c3c8b44781d28e5 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/ValidationTest.cs
@@ -42,6 +42,7 @@ using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.Impl;
diff --git a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs
index 171980a2aa031c888d275bcabce7b982b339b86d..5f6bcc6e0e02168211e788667e3e97f68f2fe3cf 100644
--- a/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs
+++ b/VectoCore/VectoCoreTest/Utils/MockSimulationDataFactory.cs
@@ -45,6 +45,7 @@ using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
 using TUGraz.VectoCore.Tests.FileIO;
 using TUGraz.VectoCommon.BusAuxiliaries;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Battery;
 
 namespace TUGraz.VectoCore.Tests.Utils
diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs
index 2bbb611ebd9468ba3e53bcb90db23813c14a014e..f0f570272d36c43bc48dac2c3138d9b5dfe4d5a1 100644
--- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs
+++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs
@@ -52,6 +52,7 @@ using NUnit.Framework;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCore.InputData.FileIO.XML;
 using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry;
 using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory;
 
 namespace TUGraz.VectoCore.Tests.XML