diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
index 67388a5ee2818b74ee53cc6fac16e3a3ee350dbb..ceb460468649ee77a02169da6a46c40f47df5ef2 100644
--- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
+++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs
@@ -44,57 +44,28 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.Declaration
 {
-	public sealed class DeclarationData
+	public static class DeclarationData
 	{
 		public const string DeclarationDataResourcePrefix = "TUGraz.VectoCore.Resources.Declaration";
 
 		public static readonly Watt MinEnginePowerForEMS = 300e3.SI<Watt>();
 
-		private static DeclarationData _instance;
-		private Segments _segments;
-		private Wheels _wheels;
-		private PT1 _pt1;
-		private ElectricSystem _electricSystem;
-		private Fan _fan;
-		private HeatingVentilationAirConditioning _heatingVentilationAirConditioning;
-		private PneumaticSystem _pneumaticSystem;
-		private SteeringPump _steeringPump;
-		private WHTCCorrection _whtcCorrection;
-		private AirDrag _airDrag;
-		private StandardBodies _standardBodies;
-		private Payloads _payloads;
-		private PTOTransmission _pto;
-
-		
-		public static PTOTransmission PTOTransmission
-		{
-			get { return Instance()._pto ?? (Instance()._pto = new PTOTransmission()); }
-		}
-
-		public static Wheels Wheels
-		{
-			get { return Instance()._wheels ?? (Instance()._wheels = new Wheels()); }
-		}
-
-		public static Segments Segments
-		{
-			get { return Instance()._segments ?? (Instance()._segments = new Segments()); }
-		}
-
-		public static PT1 PT1
-		{
-			get { return Instance()._pt1 ?? (Instance()._pt1 = new PT1()); }
-		}
+		public static readonly Segments Segments = new Segments();
+		public static readonly Wheels Wheels = new Wheels();
+		public static readonly PT1 PT1 = new PT1();
+		public static readonly ElectricSystem ElectricSystem = new ElectricSystem();
+		public static readonly Fan Fan = new Fan();
 
-		public static Payloads Payloads
-		{
-			get { return Instance()._payloads ?? (Instance()._payloads = new Payloads()); }
-		}
+		public static readonly HeatingVentilationAirConditioning HeatingVentilationAirConditioning =
+			new HeatingVentilationAirConditioning();
 
-		public static ElectricSystem ElectricSystem
-		{
-			get { return Instance()._electricSystem ?? (Instance()._electricSystem = new ElectricSystem()); }
-		}
+		public static readonly PneumaticSystem PneumaticSystem = new PneumaticSystem();
+		public static readonly SteeringPump SteeringPump = new SteeringPump();
+		public static readonly WHTCCorrection WHTCCorrection = new WHTCCorrection();
+		public static readonly AirDrag AirDrag = new AirDrag();
+		public static readonly StandardBodies StandardBodies = new StandardBodies();
+		public static readonly Payloads Payloads = new Payloads();
+		public static readonly PTOTransmission PTOTransmission = new PTOTransmission();
 
 		/// <summary>
 		/// Formula for calculating the payload for a given gross vehicle weight.
@@ -115,54 +86,11 @@ namespace TUGraz.VectoCore.Models.Declaration
 			return Payloads.LookupTrailer(grossVehicleWeight, curbWeight);
 		}
 
-		public static Fan Fan
-		{
-			get { return Instance()._fan ?? (Instance()._fan = new Fan()); }
-		}
-
-		public static HeatingVentilationAirConditioning HeatingVentilationAirConditioning
-		{
-			get {
-				return Instance()._heatingVentilationAirConditioning ??
-						(Instance()._heatingVentilationAirConditioning = new HeatingVentilationAirConditioning());
-			}
-		}
-
-		public static StandardBodies StandardBodies
-		{
-			get { return Instance()._standardBodies ?? (Instance()._standardBodies = new StandardBodies()); }
-		}
-
-		public static PneumaticSystem PneumaticSystem
-		{
-			get { return Instance()._pneumaticSystem ?? (Instance()._pneumaticSystem = new PneumaticSystem()); }
-		}
-
-		public static SteeringPump SteeringPump
-		{
-			get { return Instance()._steeringPump ?? (Instance()._steeringPump = new SteeringPump()); }
-		}
-
-		public static WHTCCorrection WHTCCorrection
-		{
-			get { return Instance()._whtcCorrection ?? (Instance()._whtcCorrection = new WHTCCorrection()); }
-		}
-
-		public static AirDrag AirDrag
-		{
-			get { return Instance()._airDrag ?? (Instance()._airDrag = new AirDrag()); }
-		}
-
 		public static int PoweredAxle()
 		{
 			return 1;
 		}
 
-		private static DeclarationData Instance()
-		{
-			return _instance ?? (_instance = new DeclarationData());
-		}
-
 		public static class Physics
 		{
 			/// <summary>
@@ -223,6 +151,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 		{
 			public const double RollResistanceCoefficient = 0.00555;
 			public const double TyreTestLoad = 37500;
+
 			public const bool TwinTyres = false;
 			//public const string WheelsType = "385/65 R 22.5";
 		}
@@ -258,7 +187,9 @@ namespace TUGraz.VectoCore.Models.Declaration
 			public static readonly Second MinTimeBetweenGearshifts = 1.5.SI<Second>();
 			public static readonly Second DownshiftAfterUpshiftDelay = 10.SI<Second>();
 			public static readonly Second UpshiftAfterDownshiftDelay = 10.SI<Second>();
+
 			public static readonly MeterPerSquareSecond UpshiftMinAcceleration = 0.1.SI<MeterPerSquareSecond>();
+
 			//public static readonly PerSecond TorqueConverterSpeedLimit = 1600.RPMtoRad();
 			public static readonly double TorqueConverterSecondGearThreshold = 1.8;
 
@@ -307,10 +238,11 @@ namespace TUGraz.VectoCore.Models.Declaration
 				if (gear > 0) {
 					downShift =
 						new[] { p2, downshiftCorr.P1, downshiftCorr.P2 }.Select(
-							point => new ShiftPolygon.ShiftPolygonEntry() {
-								AngularSpeed = point.X.SI<PerSecond>(),
-								Torque = point.Y.SI<NewtonMeter>()
-							}).ToList();
+								point => new ShiftPolygon.ShiftPolygonEntry() {
+									AngularSpeed = point.X.SI<PerSecond>(),
+									Torque = point.Y.SI<NewtonMeter>()
+								})
+							.ToList();
 
 					downShift[0].Torque = maxDragTorque;
 				}
@@ -334,7 +266,8 @@ namespace TUGraz.VectoCore.Models.Declaration
 					.Select(point => new ShiftPolygon.ShiftPolygonEntry() {
 						AngularSpeed = point.X.SI<PerSecond>(),
 						Torque = point.Y.SI<NewtonMeter>()
-					}).ToList();
+					})
+					.ToList();
 				upShift[0].Torque = maxDragTorque;
 				return new ShiftPolygon(downShift, upShift);
 			}
@@ -454,11 +387,11 @@ namespace TUGraz.VectoCore.Models.Declaration
 				var data = VectoCSVFile.ReadStream(RessourceHelper.ReadStream(resourceId), source: resourceId);
 				var characteristicTorque = (from DataRow row in data.Rows
 					select
-						new TorqueConverterEntry() {
-							SpeedRatio = row.ParseDouble(TorqueConverterDataReader.Fields.SpeedRatio),
-							Torque = row.ParseDouble(TorqueConverterDataReader.Fields.CharacteristicTorque).SI<NewtonMeter>(),
-							TorqueRatio = row.ParseDouble(TorqueConverterDataReader.Fields.TorqueRatio)
-						}).ToArray();
+					new TorqueConverterEntry() {
+						SpeedRatio = row.ParseDouble(TorqueConverterDataReader.Fields.SpeedRatio),
+						Torque = row.ParseDouble(TorqueConverterDataReader.Fields.CharacteristicTorque).SI<NewtonMeter>(),
+						TorqueRatio = row.ParseDouble(TorqueConverterDataReader.Fields.TorqueRatio)
+					}).ToArray();
 				foreach (var torqueConverterEntry in characteristicTorque) {
 					torqueConverterEntry.SpeedRatio = torqueConverterEntry.SpeedRatio * ratio;
 					torqueConverterEntry.TorqueRatio = torqueConverterEntry.TorqueRatio / ratio;