diff --git a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
index a6d0fbd6dab12a9c7779c972889e213a6bbcdd50..455f6b529621d449a9fbbefa8af4cdb44b5bf1d3 100644
--- a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs
@@ -129,7 +129,7 @@ namespace TUGraz.VectoCore.OutputData
 		public IModalDataPostProcessor PostProcessingCorrection { set; protected get; }
 
 
-		public ModalDataContainer(VectoRunData runData, IModalDataWriter writer, 
+		public ModalDataContainer(VectoRunData runData, IModalDataWriter writer,
 			Action<ModalDataContainer> addReportResult, params IModalDataFilter[] filter)
 		{
 			_runData = runData;
@@ -295,7 +295,7 @@ namespace TUGraz.VectoCore.OutputData
 				return double.NaN;
 			}
 
-			var selected = Data.AsEnumerable().Cast<DataRow>().Select(r => {
+			var selected = Data.AsEnumerable().Select(r => {
 				var dt = r.Field<Second>(ModalResultField.simulationInterval.GetName());
 				return new {
 					P_em = r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotor_el_.GetCaption(),
@@ -322,7 +322,7 @@ namespace TUGraz.VectoCore.OutputData
 				return double.NaN;
 			}
 
-			var selected = Data.AsEnumerable().Cast<DataRow>().Select(r => {
+			var selected = Data.AsEnumerable().Select(r => {
 				var dt = r.Field<Second>(ModalResultField.simulationInterval.GetName());
 				return new {
 					P_em = r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotor_el_.GetCaption(),
@@ -349,14 +349,14 @@ namespace TUGraz.VectoCore.OutputData
 			if (!ElectricMotors.Contains(emPos)) {
 				return double.NaN;
 			}
-			var selected = Data.AsEnumerable().Cast<DataRow>().Select(r => {
+			var selected = Data.AsEnumerable().Select(r => {
 				var dt = r.Field<Second>(ModalResultField.simulationInterval.GetName());
 				return new {
-					P_em = r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotor_el_.GetCaption(),
+					P_em = r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotor_el_.GetCaption(), 
 						emPos.GetName())),
-					E_mech = r.Field<Watt>(string.Format(ModalResultField.P_EM_mech_.GetCaption(),
+					E_mech = r.Field<Watt>(string.Format(ModalResultField.P_EM_mech_.GetCaption(), 
 						emPos.GetName())) * dt,
-					E_el = r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotor_el_.GetCaption(),
+					E_el = r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotor_el_.GetCaption(), 
 						emPos.GetName())) * dt,
 				};
 			});
@@ -367,10 +367,8 @@ namespace TUGraz.VectoCore.OutputData
 				eEl += entry.E_el;
 			}
 
-			if (eEl.Value() != 0 && eMech.Value() != 0)
-				return eEl.Value() / eMech.Value();
-			else
-				return 1;
+			var eff = eEl.Value() / eMech.Value();
+			return eff;
 		}
 
 		public double ElectricMotorMotEfficiencyGenerate(PowertrainPosition emPos)
@@ -378,7 +376,7 @@ namespace TUGraz.VectoCore.OutputData
 			if (!ElectricMotors.Contains(emPos)) {
 				return double.NaN;
 			}
-			var selected = Data.AsEnumerable().Cast<DataRow>().Select(r => {
+			var selected = Data.AsEnumerable().Select(r => {
 				var dt = r.Field<Second>(ModalResultField.simulationInterval.GetName());
 				return new {
 					P_em = r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotor_el_.GetCaption(),
@@ -405,7 +403,7 @@ namespace TUGraz.VectoCore.OutputData
 			if (!ElectricMotors.Contains(emPos)) {
 				return null;
 			}
-			var selected = Data.AsEnumerable().Cast<DataRow>().Select(r => {
+			var selected = Data.AsEnumerable().Select(r => {
 				var dt = r.Field<Second>(ModalResultField.simulationInterval.GetName());
 				return new {
 					P_em = r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotor_el_.GetCaption(),
@@ -419,7 +417,7 @@ namespace TUGraz.VectoCore.OutputData
 
 		public WattSecond ElectricMotorLosses(PowertrainPosition emPos)
 		{
-			return Data.AsEnumerable().Cast<DataRow>().Sum(r => {
+			return Data.AsEnumerable().Sum(r => {
 				var dt = r.Field<Second>(ModalResultField.simulationInterval.GetName());
 				return r.Field<Watt>(string.Format(ModalResultField.P_EM_loss_.GetCaption(),
 					emPos.GetName())) * dt;
@@ -428,7 +426,7 @@ namespace TUGraz.VectoCore.OutputData
 
 		public WattSecond ElectricMotorMotLosses(PowertrainPosition emPos)
 		{
-			return Data.AsEnumerable().Cast<DataRow>().Sum(r => {
+			return Data.AsEnumerable().Sum(r => {
 				var dt = r.Field<Second>(ModalResultField.simulationInterval.GetName());
 				return r.Field<Watt>(string.Format(ModalResultField.P_EM_electricMotorLoss_.GetCaption(),
 					emPos.GetName())) * dt;
@@ -437,7 +435,7 @@ namespace TUGraz.VectoCore.OutputData
 
 		public WattSecond ElectricMotorTransmissionLosses(PowertrainPosition emPos)
 		{
-			return Data.AsEnumerable().Cast<DataRow>().Sum(r => {
+			return Data.AsEnumerable().Sum(r => {
 				var dt = r.Field<Second>(ModalResultField.simulationInterval.GetName());
 				return r.Field<Watt>(string.Format(ModalResultField.P_EM_TransmissionLoss_.GetCaption(),
 					emPos.GetName())) * dt;
@@ -453,12 +451,12 @@ namespace TUGraz.VectoCore.OutputData
 
 		public double REESSStartSoC()
 		{
-			return (Data.AsEnumerable().Cast<DataRow>().First().Field<SI>(ModalResultField.REESSStateOfCharge.GetName())?.Value() ?? 0) * 100;
+			return (Data.AsEnumerable().First().Field<SI>(ModalResultField.REESSStateOfCharge.GetName())?.Value() ?? 0) * 100;
 		}
 
 		public double REESSEndSoC()
 		{
-			return (Data.AsEnumerable().Cast<DataRow>().Last().Field<SI>(ModalResultField.REESSStateOfCharge.GetName())?.Value() ?? 0) * 100;
+			return (Data.AsEnumerable().Last().Field<SI>(ModalResultField.REESSStateOfCharge.GetName())?.Value() ?? 0) * 100;
 		}
 
 		public WattSecond REESSLoss()
@@ -775,10 +773,10 @@ namespace TUGraz.VectoCore.OutputData
 
 		public IEnumerable<(T1, T2)> GetValues<T1, T2>(DataColumn col1, DataColumn col2) =>
 			GetValues(x => ((T1)x[col1], (T2)x[col2]));
-		
-		public IEnumerable<(T1,T2,T3)> GetValues<T1,T2,T3>(DataColumn col1, DataColumn col2, DataColumn col3) => 
+
+		public IEnumerable<(T1, T2, T3)> GetValues<T1, T2, T3>(DataColumn col1, DataColumn col2, DataColumn col3) =>
 			GetValues(x => ((T1)x[col1], (T2)x[col2], (T3)x[col3]));
-		
+
 		public IEnumerable<T> GetValues<T>(string columnName) => GetValues<T>(Data.Columns[columnName]);
 
 		public IEnumerable<T> GetValues<T>(Func<DataRow, T> selectorFunc) =>
@@ -787,8 +785,9 @@ namespace TUGraz.VectoCore.OutputData
 		public T TimeIntegral<T>(ModalResultField field, Func<SI, bool> filter = null) where T : SIBase<T> =>
 			TimeIntegral<T>(field.GetName(), filter);
 
-		public T TimeIntegral<T>(string field, Func<SI, bool> filter = null) where T : SIBase<T> {
-			
+		public T TimeIntegral<T>(string field, Func<SI, bool> filter = null) where T : SIBase<T>
+		{
+
 			if (filter == null && _timeIntegrals.TryGetValue(field, out var val)) {
 				return (T)val;
 			}