diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs
index fe39ffc971c0c8cc790702e04d69dde5c77f09ea..5a83a8bbf45288ab2d62a1f08863d0528307c1ee 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/SimulationComponents/StrategyDataAdapter/HybridStrategyParameterDataAdapter.cs
@@ -1,9 +1,8 @@
 using System;
 using System.Collections.Generic;
-using System.ComponentModel;
+using NLog.Targets;
 using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.HeavyLorry;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Battery;
@@ -12,11 +11,11 @@ using TUGraz.VectoCore.Models.SimulationComponent.Impl;
 namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponents.StrategyDataAdapter
 {
 
-	public abstract class HybridStrategyDataAdapter{
+    public abstract class HybridStrategyDataAdapter{
 
 	}
 
-	public class ParallelHybridStrategyParameterDataAdapter : HybridStrategyParameters
+	public class ParallelHybridStrategyParameterDataAdapter : HybridStrategyDataAdapter
 	{
 		public HybridStrategyParameters CreateHybridStrategyParameters(BatterySystemData batterySystemData, SuperCapData superCap)
 		{
@@ -53,7 +52,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 		}
 	}
 
-	public class SerialHybridStrategyParameterDataAdapter : HybridStrategyParameters
+	public class SerialHybridStrategyParameterDataAdapter : HybridStrategyDataAdapter
 	{
 		public HybridStrategyParameters CreateHybridStrategyParameters(BatterySystemData batterySystemData,
 			SuperCapData superCapData, Kilogram vehicleMass, VectoRunData.OvcHevMode ovcMode)
@@ -94,7 +93,6 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 					throw new ArgumentOutOfRangeException(nameof(ovcMode), ovcMode, null);
 			}
 
-			//TODO Move to DeclarationData.Hybridstrategy.Parallel
 
 
 
@@ -110,22 +108,28 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponen
 
 			result.MinSoC = tmpSystem.MinSoC + 2 * deltaSoc;
 			result.TargetSoC = tmpSystem.MaxSoC - 5 * deltaSoc;
-			result.MaxSoC = tmpSystem.MaxSoC;
+			result.MaxSoC = double.NaN;
+
 
+			if (result.MinSoC >= result.TargetSoC) {
+				deltaSoc = CalculatedDeltaSocSHev(vehicleMass, batterySystemData, tmpSystem, 50);
+				//Small battery
+				result.TargetSoC = tmpSystem.MaxSoC - 1 * deltaSoc;
+				result.MinSoC = tmpSystem.MinSoC + 2 * deltaSoc;
+				if (result.MinSoC >= result.TargetSoC) {
+					throw new VectoException("Min SOC higher than Target SOC");
+				}
+			}
 		}
 
-		private double CalculatedDeltaSocSHev(Kilogram vehicleMass, BatterySystemData batterySystemData, BatterySystem tmpSystem)
-		{
-			
-			
+		private double CalculatedDeltaSocSHev(Kilogram vehicleMass, BatterySystemData batterySystemData,
+			BatterySystem tmpSystem, double kmph = 100)
 
+		{
 			var v_nom = tmpSystem.NominalVoltage;
-			var c_nom = tmpSystem.Capacity;
-			double speedInkmph = 100;
-
-			var result = vehicleMass * speedInkmph.KMPHtoMeterPerSecond() * speedInkmph.KMPHtoMeterPerSecond() / v_nom / c_nom;
-
-			
+			var c_nom = tmpSystem.Capacity.AsAmpHour;
+			var v = kmph.KMPHtoMeterPerSecond();
+			var result = ((vehicleMass / 2 * v * v) / 3600) * (1 / v_nom) * (1 / c_nom);
 			return result.Value();
 		}
 
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DataAdapter/HybridStrategyDataAdapterTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DataAdapter/HybridStrategyDataAdapterTest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c01efecea01e948fbc11869324eaf55a80b0ac53
--- /dev/null
+++ b/VectoCore/VectoCoreTest/Models/Declaration/DataAdapter/HybridStrategyDataAdapterTest.cs
@@ -0,0 +1,87 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using Castle.Components.DictionaryAdapter;
+using Moq;
+using NUnit.Framework;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter.SimulationComponents.StrategyDataAdapter;
+using TUGraz.VectoCore.Models.Simulation.Data;
+using TUGraz.VectoCore.Models.SimulationComponent.Data;
+using TUGraz.VectoCore.Models.SimulationComponent.Data.Battery;
+using TUGraz.VectoCore.Tests.Utils;
+
+namespace TUGraz.VectoCore.Tests.Models.Declaration.DataAdapter;
+
+
+[TestFixture]
+public class HybridStrategyDataAdapterTest
+{
+
+    [TestCase(0.7375, 0.2625, 11273.9176, 778.61, 247500, false, 0.624646591, 0.307641364)]
+	[TestCase(0.6, 0.2, 11000, 778.61, 80000, false, 0.582967134, 0.234065732)]
+	[TestCase(0.6, 0.2, 11000, 778.61, 5000, true, 0.268131464, 0.634065732)]
+
+	public void SerialHybridStrategyTest(double bat_soc_max, double bat_soc_min, double vehicle_mass, double nominalVoltage, double nominalCapacity, bool exception, double expected_target_soc, double expected_min_soc)
+	{
+		var mass = vehicle_mass.SI<Kilogram>();
+		var v_nom = nominalVoltage.SI<Volt>();
+		var cap_nom = nominalCapacity.SI<AmpereSecond>();
+
+
+		var dataAdapter = new SerialHybridStrategyParameterDataAdapter();
+		var batterySystemData = new BatterySystemData() {
+			Batteries = new EditableList<Tuple<int, BatteryData>>() {
+				new Tuple<int, BatteryData>(1, new BatteryData() {
+					Capacity = cap_nom,
+					ChargeSustainingBattery = false,
+					BatteryId = -42,
+					MaxSOC = bat_soc_max,
+					MinSOC = bat_soc_min,
+					SOCMap = new SOCMap(new SOCMap.SOCMapEntry[] {
+						new SOCMap.SOCMapEntry() {
+							BatteryVolts = Math.Max((v_nom + (v_nom * 0.1)).Value(), 0).SI<Volt>(),
+							SOC = 0.1
+						},
+
+						new SOCMap.SOCMapEntry() {
+							BatteryVolts = v_nom,
+							SOC = 0.5
+						},
+
+						new SOCMap.SOCMapEntry() {
+							BatteryVolts = v_nom - (v_nom * 0.1),
+							SOC = 0.9
+						}
+					})
+				})
+			}
+		};
+
+
+
+
+
+
+
+
+		HybridStrategyParameters parameters = null;
+		try {
+			parameters = dataAdapter.CreateHybridStrategyParameters(batterySystemData, null, mass,
+				VectoRunData.OvcHevMode.NotApplicable);
+		} catch (Exception) {
+			Assert.IsTrue(exception);
+			Assert.Pass();
+		}
+		Assert.IsTrue(parameters!.TargetSoC.IsEqual(expected_target_soc));
+		Assert.IsTrue(parameters.MinSoC.IsEqual(expected_min_soc));
+
+
+
+
+
+	}
+
+
+}
\ No newline at end of file