diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
index 5bd99a03692d08fe4b511aec8593a07feeb8bce3..cc379ba8a5545ee984ea4d05742526cf805128b2 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
@@ -4074,6 +4074,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to ActualChargeDepletingRange.
+        /// </summary>
+        public static string Report_ResultEntry_ActualChargeDepletingRange {
+            get {
+                return ResourceManager.GetString("Report_ResultEntry_ActualChargeDepletingRange", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to AverageSpeed.
         /// </summary>
@@ -4092,6 +4101,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to CO2_ZEV_AuxHeater.
+        /// </summary>
+        public static string Report_ResultEntry_CO2ZEVAuxHeater {
+            get {
+                return ResourceManager.GetString("Report_ResultEntry_CO2ZEVAuxHeater", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Distance.
         /// </summary>
@@ -4101,6 +4119,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to ElectricEnergy.
+        /// </summary>
+        public static string Report_ResultEntry_ElectricEnergyConsumption {
+            get {
+                return ResourceManager.GetString("Report_ResultEntry_ElectricEnergyConsumption", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to EngineSpeedDriving.
         /// </summary>
@@ -4137,6 +4164,24 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to EquivalentAllElectricRange.
+        /// </summary>
+        public static string Report_ResultEntry_EquivalentAllElectricRange {
+            get {
+                return ResourceManager.GetString("Report_ResultEntry_EquivalentAllElectricRange", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to FC_ZEV_AuxHeater.
+        /// </summary>
+        public static string Report_ResultEntry_FCZEVAuxHeater {
+            get {
+                return ResourceManager.GetString("Report_ResultEntry_FCZEVAuxHeater", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to FuelType.
         /// </summary>
@@ -4227,6 +4272,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Total.
+        /// </summary>
+        public static string Report_ResultEntry_Total {
+            get {
+                return ResourceManager.GetString("Report_ResultEntry_Total", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to TotalVehicleMass.
         /// </summary>
@@ -4245,6 +4299,24 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to ElectricEnergyConsumption.
+        /// </summary>
+        public static string Report_ResultEntry_VIF_ElectricEnergyConsumption {
+            get {
+                return ResourceManager.GetString("Report_ResultEntry_VIF_ElectricEnergyConsumption", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to ZeroCO2EmissionsRange.
+        /// </summary>
+        public static string Report_ResultEntry_ZeroCO2EmissionsRange {
+            get {
+                return ResourceManager.GetString("Report_ResultEntry_ZeroCO2EmissionsRange", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Results.
         /// </summary>
@@ -4344,6 +4416,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to OVCMode.
+        /// </summary>
+        public static string Report_Results_OVCMode {
+            get {
+                return ResourceManager.GetString("Report_Results_OVCMode", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to PrimaryVehicleSubgroup.
         /// </summary>
@@ -4353,6 +4434,24 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to error.
+        /// </summary>
+        public static string Report_Results_Status_Error_Val {
+            get {
+                return ResourceManager.GetString("Report_Results_Status_Error_Val", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to success.
+        /// </summary>
+        public static string Report_Results_Status_Success_Val {
+            get {
+                return ResourceManager.GetString("Report_Results_Status_Success_Val", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Summary.
         /// </summary>
@@ -4515,6 +4614,24 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to type.
+        /// </summary>
+        public static string Results_Report_OVCModeAttr {
+            get {
+                return ResourceManager.GetString("Results_Report_OVCModeAttr", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to charge depleting.
+        /// </summary>
+        public static string Results_Report_OVCModeAttr_ChargeDepleting {
+            get {
+                return ResourceManager.GetString("Results_Report_OVCModeAttr_ChargeDepleting", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to RetarderDataDeclarationType.
         /// </summary>
diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx
index ff407bcb2eded8fd0f5b522dbd028acbb08f1435..e1d4cc2516cdecd7b673516ad017e2090bddf656 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.resx
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx
@@ -1995,4 +1995,43 @@
 <data name="Report_Results_PrimaryVehicleSubgroup" xml:space="preserve">
 	<value>PrimaryVehicleSubgroup</value>
 </data>
+<data name="Results_Report_OVCModeAttr_ChargeDepleting" xml:space="preserve">
+	<value>charge depleting</value>
+</data>
+<data name="Results_Report_OVCModeAttr" xml:space="preserve">
+	<value>type</value>
+</data>
+<data name="Report_Results_OVCMode" xml:space="preserve">
+	<value>OVCMode</value>
+</data>
+<data name="Report_ResultEntry_ActualChargeDepletingRange" xml:space="preserve">
+	<value>ActualChargeDepletingRange</value>
+</data>
+<data name="Report_ResultEntry_EquivalentAllElectricRange" xml:space="preserve">
+	<value>EquivalentAllElectricRange</value>
+</data>
+<data name="Report_ResultEntry_ZeroCO2EmissionsRange" xml:space="preserve">
+	<value>ZeroCO2EmissionsRange</value>
+</data>
+<data name="Report_ResultEntry_Total" xml:space="preserve">
+	<value>Total</value>
+</data>
+<data name="Report_ResultEntry_FCZEVAuxHeater" xml:space="preserve">
+	<value>FC_ZEV_AuxHeater</value>
+</data>
+<data name="Report_ResultEntry_CO2ZEVAuxHeater" xml:space="preserve">
+	<value>CO2_ZEV_AuxHeater</value>
+</data>
+<data name="Report_ResultEntry_ElectricEnergyConsumption" xml:space="preserve">
+	<value>ElectricEnergy</value>
+</data>
+<data name="Report_ResultEntry_VIF_ElectricEnergyConsumption" xml:space="preserve">
+	<value>ElectricEnergyConsumption</value>
+</data>
+<data name="Report_Results_Status_Error_Val" xml:space="preserve">
+	<value>error</value>
+</data>
+<data name="Report_Results_Status_Success_Val" xml:space="preserve">
+	<value>success</value>
+</data>
 </root>
\ No newline at end of file
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/AbstractResultsWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/AbstractResultsWriter.cs
index 62741681c4c9e530d7b02a0f1a9403bab5bf91b6..361554665e349b055a9126e495b699739954aad8 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/AbstractResultsWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/AbstractResultsWriter.cs
@@ -12,7 +12,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 {
     public abstract class AbstractResultsWriter : IResultsWriter
     {
-        //protected static readonly XNamespace Cif = "urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.9";
 
         #region Implementation of IResultsWriter
 
@@ -20,15 +19,16 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
         {
             var ordered = GetOrderedResults(results);
             var allSuccess = results.All(x => x.Status == VectoRun.Status.Success);
-            return new XElement(TNS + "Results",
-                new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"),
-                ordered.Select(x =>
-                    x.Status == VectoRun.Status.Success
-                        ? ResultSuccessWriter.GetElement(x)
-                        : ResultErrorWriter.GetElement(x)),
-                allSuccess ? SummaryWriter.GetElement(ordered) : null
-            );
-        }
+			return new XElement(TNS + XMLNames.Report_Results,
+				new XElement(TNS + XMLNames.Report_Result_Status,
+					allSuccess ? XMLNames.Report_Results_Status_Success_Val : XMLNames.Report_Results_Status_Error_Val),
+				ordered.Select(x =>
+					x.Status == VectoRun.Status.Success
+						? ResultSuccessWriter.GetElement(x)
+						: ResultErrorWriter.GetElement(x)),
+				allSuccess ? SummaryWriter.GetElement(ordered) : null
+			);
+		}
 
         #endregion
 
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs
index 1754f35500e4c7ef782986c56df1b2b948eaff88..48c69374d71a678e5b519980f1bab51c23f431cf 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs
@@ -14,50 +14,57 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
         protected CO2WriterBase(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { }
 
         public virtual XElement[] GetElements(IResultEntry entry)
-        {
-            return GetCO2ResultEntries(entry.CO2Total, entry.Distance, entry.Payload, entry.CargoVolume, entry.PassengerCount).Select(x =>
-                new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1))).ToArray();
-        }
+		{
+			return GetCO2ResultEntries(entry.CO2Total, entry.Distance, entry.Payload, entry.CargoVolume,
+					entry.PassengerCount)
+				.Select(x => new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1)))
+				.ToArray();
+		}
 
         public virtual XElement[] GetElements(IWeightedResult entry)
-        {
-            return GetCO2ResultEntries(entry.CO2Total, entry.Distance, entry.Payload, entry.CargoVolume, entry.PassengerCount).Select(x =>
-                new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1))).ToArray();
-        }
+		{
+			return GetCO2ResultEntries(entry.CO2Total, entry.Distance, entry.Payload, entry.CargoVolume,
+					entry.PassengerCount)
+				.Select(x => new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1)))
+				.ToArray();
+		}
 
-        protected abstract IList<ConvertedSI> GetCO2ResultEntries(Kilogram co2, Meter distance, Kilogram payload, CubicMeter volume, double? passengers);
+		protected abstract IList<ConvertedSI> GetCO2ResultEntries(Kilogram co2, Meter distance, Kilogram payload,
+			CubicMeter volume, double? passengers);
 
-    }
+	}
 
     public class LorryCO2Writer : CO2WriterBase
     {
         public LorryCO2Writer(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { }
 
 
-        protected override IList<ConvertedSI> GetCO2ResultEntries(Kilogram CO2Total, Meter distance, Kilogram payload, CubicMeter volume, double? passengers)
-        {
-            return new[] {
-                (CO2Total / distance).ConvertToGrammPerKiloMeter(),
-                (CO2Total / distance / payload).ConvertToGrammPerTonKilometer(),
-                (CO2Total / distance / volume).ConvertToGrammPerCubicMeterKiloMeter(),
-            };
-        }
+		protected override IList<ConvertedSI> GetCO2ResultEntries(Kilogram CO2Total, Meter distance, Kilogram payload,
+			CubicMeter volume, double? passengers)
+		{
+			return new[] {
+				(CO2Total / distance).ConvertToGrammPerKiloMeter(),
+				(CO2Total / distance / payload).ConvertToGrammPerTonKilometer(),
+				(CO2Total / distance / volume).ConvertToGrammPerCubicMeterKiloMeter(),
+			};
+		}
 
-    }
+	}
 
     public class BusCO2Writer : CO2WriterBase
     {
         public BusCO2Writer(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { }
 
-        protected override IList<ConvertedSI> GetCO2ResultEntries(Kilogram CO2Total, Meter distance, Kilogram payload, CubicMeter volume, double? passengers)
-        {
-            return new[] {
-                (CO2Total / distance).ConvertToGrammPerKiloMeter(),
-                (CO2Total / distance / passengers.Value).ConvertToGrammPerPassengerKilometer(),
-            };
-        }
+		protected override IList<ConvertedSI> GetCO2ResultEntries(Kilogram CO2Total, Meter distance, Kilogram payload,
+			CubicMeter volume, double? passengers)
+		{
+			return new[] {
+				(CO2Total / distance).ConvertToGrammPerKiloMeter(),
+				(CO2Total / distance / passengers.Value).ConvertToGrammPerPassengerKilometer(),
+			};
+		}
 
-    }
+	}
 
     public class BusPEVCO2Writer : BusCO2Writer
     {
@@ -71,21 +78,21 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
                 return null;
             }
 
-            var tmp = _factory.GetFuelConsumptionBus(_factory, TNS) as BusFuelConsumptionWriter;
-            return new[] {
-                new XElement(TNS + "FC_ZEV_AuxHeater",
-                    new XAttribute(XMLNames.Report_Results_Fuel_Type_Attr, entry.AuxHeaterFuel.FuelType.ToXMLFormat()),
-                    tmp?.FuelConsumptionEntries(entry.ZEV_FuelConsumption_AuxHtr, entry.AuxHeaterFuel, entry.Distance,
-                        entry.Payload, entry.CargoVolume, entry.PassengerCount).Select(x =>
-                        new XElement(TNS + XMLNames.Report_Results_FuelConsumption, x.ValueAsUnit(3, 1)))
-                ),
-                new XElement(TNS + "CO2_ZEV_AuxHeater",
-                    GetCO2ResultEntries(entry.ZEV_CO2, entry.Distance, entry.Payload, entry.CargoVolume,
-                        entry.PassengerCount).Select(x =>
-                        new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1)))
-                )
-            };
-        }
+            var tmp = _factory.GetFuelConsumptionBus(_factory, TNS);
+			return new[] {
+				new XElement(TNS + XMLNames.Report_ResultEntry_FCZEVAuxHeater,
+					new XAttribute(XMLNames.Report_Results_Fuel_Type_Attr, entry.AuxHeaterFuel.FuelType.ToXMLFormat()),
+					tmp?.GetFuelConsumptionEntries(entry.ZEV_FuelConsumption_AuxHtr, entry.AuxHeaterFuel, entry.Distance,
+						entry.Payload, entry.CargoVolume, entry.PassengerCount).Select(x =>
+						new XElement(TNS + XMLNames.Report_Results_FuelConsumption, x.ValueAsUnit(3, 1)))
+				),
+				new XElement(TNS + XMLNames.Report_ResultEntry_CO2ZEVAuxHeater,
+					GetCO2ResultEntries(entry.ZEV_CO2, entry.Distance, entry.Payload, entry.CargoVolume,
+						entry.PassengerCount).Select(x =>
+						new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1)))
+				)
+			};
+		}
 
         public override XElement[] GetElements(IWeightedResult entry)
         {
@@ -95,13 +102,13 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
             var tmp = _factory.GetFuelConsumptionBus(_factory, TNS) as BusFuelConsumptionWriter;
             return new[] {
-                new XElement(TNS + "FC_ZEV_AuxHeater",
+                new XElement(TNS + XMLNames.Report_ResultEntry_FCZEVAuxHeater,
                     new XAttribute(XMLNames.Report_Results_Fuel_Type_Attr, entry.AuxHeaterFuel.FuelType.ToXMLFormat()),
-                    tmp?.FuelConsumptionEntries(entry.ZEV_FuelConsumption_AuxHtr, entry.AuxHeaterFuel, entry.Distance,
+                    tmp?.GetFuelConsumptionEntries(entry.ZEV_FuelConsumption_AuxHtr, entry.AuxHeaterFuel, entry.Distance,
                         entry.Payload, entry.CargoVolume, entry.PassengerCount).Select(x =>
                         new XElement(TNS + XMLNames.Report_Results_FuelConsumption, x.ValueAsUnit(3, 1)))
                 ),
-                new XElement(TNS + "CO2_ZEV_AuxHeater",
+                new XElement(TNS + XMLNames.Report_ResultEntry_CO2ZEVAuxHeater,
                     GetCO2ResultEntries(entry.ZEV_CO2, entry.Distance, entry.Payload, entry.CargoVolume,
                         entry.PassengerCount).Select(x =>
                         new XElement(TNS + XMLNames.Report_Results_CO2, x.ValueAsUnit(3, 1)))
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs
index 4113d601ca8a543445601b48267e2d81e646101c..5b423bf01249426f105666c735682a851cf9bd5e 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs
@@ -3,8 +3,6 @@ using System.Linq;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.Resources;
 using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9.
-    ResultWriter;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
@@ -40,7 +38,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
         #endregion
 
-		protected virtual string ElectricEnergyConsumptionXMLElementName => "ElectricEnergy";
+		protected virtual string ElectricEnergyConsumptionXMLElementName => XMLNames.Report_ResultEntry_ElectricEnergyConsumption;
 	}
 
     public class LorryElectricEnergyConsumptionWriter : ElectricEnergyConsumptionWriterBase
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs
index 547beae36e403bec6abc56b24190f0e41f989cfd..18a02b179faf4f7e36ff182844d1d41f9e0ab755 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs
@@ -35,7 +35,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
         #endregion
 
-		protected abstract IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc,
+		public abstract IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc,
 			IFuelProperties fuel, Meter distance, Kilogram payload, CubicMeter volume,
 			double? passenger);
 
@@ -48,7 +48,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
         #region Overrides of FuelConsumptionWriterBase
 
-        protected override IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel, Meter distance, Kilogram payload, CubicMeter volume, double? passenger)
+        public override IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel, Meter distance, Kilogram payload, CubicMeter volume, double? passenger)
         {
             var retVal = new List<ConvertedSI> {
                 (fc / distance).ConvertToGrammPerKiloMeter(),
@@ -81,7 +81,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
         #region Overrides of FuelConsumptionWriterBase
 
-        protected override IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel,
+        public override IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel,
             Meter distance, Kilogram payload, CubicMeter volume, double? passenger)
         {
             var retVal = new List<ConvertedSI> {
@@ -105,11 +105,6 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
         #endregion
 
-        public virtual IList<ConvertedSI> FuelConsumptionEntries(Kilogram fc, IFuelProperties fuel, Meter distance,
-            Kilogram payload, CubicMeter volume, double? passenger)
-        {
-            return GetFuelConsumptionEntries(fc, fuel, distance, payload, volume, passenger);
-        }
     }
 
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/IResultsWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/IResultsWriter.cs
index 8c1be5c413be6d4bc9592b0759202fcd9bd98eac..5d1d7668b81c2c7b5550dc4e188e4d5a2d097ad8 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/IResultsWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/IResultsWriter.cs
@@ -14,61 +14,6 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 {
-    public interface IResultsWriter
-    {
-        XElement GenerateResults(List<IResultEntry> results);
-    }
-
-    public interface IResultGroupWriter
-    {
-        XElement GetElement(IResultEntry entry);
-
-        XElement GetElement(IOVCResultEntry entry);
-    }
-
-	public interface IResultSequenceWriter
-	{
-		XElement[] GetElement(IResultEntry entry);
-
-		XElement[] GetElement(IOVCResultEntry entry);
-	}
-
-    public interface IFuelConsumptionWriter
-    {
-        XElement GetElement(IResultEntry entry, IFuelConsumptionCorrection fuelConsumptionCorrection);
-        XElement GetElement(IWeightedResult entry, IFuelProperties fuel, Kilogram consumption);
-
-    }
-
-    public interface IElectricEnergyConsumptionWriter
-    {
-        XElement GetElement(IResultEntry entry);
-
-        XElement GetElement(IWeightedResult weighted);
-    }
-
-    public interface ICO2Writer
-    {
-        XElement[] GetElements(IResultEntry entry);
-
-        XElement[] GetElements(IWeightedResult entry);
-    }
-
-    public interface IReportResultsSummaryWriter
-    {
-        XElement GetElement(IList<IResultEntry> entries);
-
-        XElement GetElement(IList<IOVCResultEntry> entries);
-    }
-
-    public interface IElectricRangeWriter
-    {
-        XElement[] GetElements(IResultEntry weightedResult);
-
-        XElement[] GetElements(IWeightedResult weightedResult);
-
-    }
-
 
     public interface ICommonResultsWriterFactory
     {
@@ -140,6 +85,62 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		IResultSequenceWriter GetErrorDetailsWriter(ICommonResultsWriterFactory factory, XNamespace ns);
 	}
 
+	public interface IResultsWriter
+	{
+		XElement GenerateResults(List<IResultEntry> results);
+	}
 
+	public interface IResultGroupWriter
+	{
+		XElement GetElement(IResultEntry entry);
+
+		XElement GetElement(IOVCResultEntry entry);
+	}
+
+	public interface IResultSequenceWriter
+	{
+		XElement[] GetElement(IResultEntry entry);
+
+		XElement[] GetElement(IOVCResultEntry entry);
+	}
+
+	public interface IFuelConsumptionWriter
+	{
+		XElement GetElement(IResultEntry entry, IFuelConsumptionCorrection fuelConsumptionCorrection);
+		XElement GetElement(IWeightedResult entry, IFuelProperties fuel, Kilogram consumption);
+
+		IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc,
+			IFuelProperties fuel, Meter distance, Kilogram payload, CubicMeter volume,
+			double? passenger);
+	}
+
+	public interface IElectricEnergyConsumptionWriter
+	{
+		XElement GetElement(IResultEntry entry);
+
+		XElement GetElement(IWeightedResult weighted);
+	}
+
+	public interface ICO2Writer
+	{
+		XElement[] GetElements(IResultEntry entry);
+
+		XElement[] GetElements(IWeightedResult entry);
+	}
+
+	public interface IReportResultsSummaryWriter
+	{
+		XElement GetElement(IList<IResultEntry> entries);
+
+		XElement GetElement(IList<IOVCResultEntry> entries);
+	}
+
+	public interface IElectricRangeWriter
+	{
+		XElement[] GetElements(IResultEntry weightedResult);
+
+		XElement[] GetElements(IWeightedResult weightedResult);
+
+	}
 
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs
index 18703255bc68f56aaa31a3b53ac83cdf6562a04e..7db381a1f79fca3fdc9f881e7c35d7efa4415818 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs
@@ -94,11 +94,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		public XElement[] GetElements(IResultEntry result)
 		{
 			return new[] {
-				new XElement(TNS + "ActualChargeDepletingRange",
+				new XElement(TNS + XMLNames.Report_ResultEntry_ActualChargeDepletingRange,
 					XMLHelper.ValueAsUnit(result.ActualChargeDepletingRange.ConvertToKiloMeter())),
-				new XElement(TNS + "EquivalentAllElectricRange",
+				new XElement(TNS + XMLNames.Report_ResultEntry_EquivalentAllElectricRange,
 					XMLHelper.ValueAsUnit(result.EquivalentAllElectricRange.ConvertToKiloMeter())),
-				new XElement(TNS + "ZeroCO2EmissionsRange",
+				new XElement(TNS + XMLNames.Report_ResultEntry_ZeroCO2EmissionsRange,
 					XMLHelper.ValueAsUnit(result.ZeroCO2EmissionsRange.ConvertToKiloMeter())),
 			};
 		}
@@ -106,11 +106,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		public XElement[] GetElements(IWeightedResult weightedResult)
 		{
 			return new[] {
-				new XElement(TNS + "ActualChargeDepletingRange",
+				new XElement(TNS + XMLNames.Report_ResultEntry_ActualChargeDepletingRange,
 					XMLHelper.ValueAsUnit(weightedResult.ActualChargeDepletingRange.ConvertToKiloMeter())),
-				new XElement(TNS + "EquivalentAllElectricRange",
+				new XElement(TNS + XMLNames.Report_ResultEntry_EquivalentAllElectricRange,
 					XMLHelper.ValueAsUnit(weightedResult.EquivalentAllElectricRange.ConvertToKiloMeter())),
-				new XElement(TNS + "ZeroCO2EmissionsRange",
+				new XElement(TNS + XMLNames.Report_ResultEntry_ZeroCO2EmissionsRange,
 					XMLHelper.ValueAsUnit(weightedResult.ZeroCO2EmissionsRange.ConvertToKiloMeter())),
 			};
 		}
@@ -132,8 +132,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 			}
 
 			return new XElement(TNS + XMLNames.Report_Result_Result,
-				new XAttribute(XMLNames.Report_Result_Status_Attr, "error"),
-				ResultXMLType != null ? new XAttribute(xsi + "type", ResultXMLType) : null,
+				new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Error_Val),
+				ResultXMLType != null ? new XAttribute(xsi + XMLNames.XSIType, ResultXMLType) : null,
 				_factory.GetErrorMissionWriter(_factory, TNS).GetElement(entry),
 				_factory.GetErrorSimulationParameterWriter(_factory, TNS).GetElement(entry),
 				_factory.GetErrorDetailsWriter(_factory, TNS).GetElement(entry)
@@ -147,8 +147,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 				throw new Exception("At least one entry needs to be unsuccessful!");
 			}
 			return new XElement(TNS + XMLNames.Report_Result_Result,
-				new XAttribute(XMLNames.Report_Result_Status_Attr, "error"),
-				ResultXMLType != null ? new XAttribute(xsi + "type", ResultXMLType) : null,
+				new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Error_Val),
+				ResultXMLType != null ? new XAttribute(xsi + XMLNames.XSIType, ResultXMLType) : null,
 				_factory.GetErrorMissionWriter(_factory, TNS).GetElement(errorEntry),
 				_factory.GetErrorSimulationParameterWriter(_factory, TNS).GetElement(errorEntry),
 				_factory.GetErrorDetailsWriter(_factory, TNS).GetElement(errorEntry)
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultTotalWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultTotalWriter.cs
index bf500fc92f1580bb2594088786b49c6ebc7cfe59..aff066ceb4ec251e63c6f71d83c66eb26ffcf077 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultTotalWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultTotalWriter.cs
@@ -16,10 +16,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
         public override XElement GetElement(IResultEntry entry)
         {
-            return new XElement(TNS + "Total",
+            return new XElement(TNS + XMLNames.Report_ResultEntry_Total,
                 VehiclePerformanceWriter.GetElement(entry),
-                //new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed,
-                //	XMLHelper.ValueAsUnit(entry.AverageSpeed, "km/h", 1)),
                 entry.FuelData.Select(f =>
                     FuelConsumptionWriter?.GetElement(entry, entry.FuelConsumptionFinal(f.FuelType))),
                 ElectricEnergyConsumptionWriter?.GetElement(entry),
@@ -116,10 +114,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
         public override XElement GetElement(IOVCResultEntry entry)
         {
             var total = entry.Weighted;
-            return new XElement(TNS + "Total",
+            return new XElement(TNS + XMLNames.Report_ResultEntry_Total,
                 _factory.GetVehiclePerformanceBus(_factory, TNS).GetElement(entry),
-                //new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed,
-                //	XMLHelper.ValueAsUnit(total.AverageSpeed, "km/h", 1)),
                 GetFuelConsumption(entry),
                 GetElectricConsumption(entry),
                 GetCO2(entry),
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs
index 33281309f504030a9a8b7df1256902a8c2b94c6a..76e6015cee89d6341829f5136c200d0e7e9931d6 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs
@@ -2,7 +2,6 @@
 using System.Linq;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.Resources;
-using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9.ResultWriter;
 
 namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 {
@@ -32,8 +31,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		public override XElement GetElement(IResultEntry entry)
 		{
 			return new XElement(TNS + XMLNames.Report_Result_Result,
-				new XAttribute(XMLNames.Report_Result_Status_Attr, "success"),
-				new XAttribute(xsi + "type", ResultXMLType),
+				new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val),
+				new XAttribute(xsi + XMLNames.XSIType, ResultXMLType),
 				_factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry),
 				SimulationParameterWriter.GetElement(entry),
 				ResultTotalWriter.GetElement(entry)
@@ -98,8 +97,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		public override XElement GetElement(IOVCResultEntry entry)
 		{
 			return new XElement(TNS + XMLNames.Report_Result_Result,
-				new XAttribute(XMLNames.Report_Result_Status_Attr, "success"),
-				new XAttribute(xsi + "type", "ResultSuccessOVCHEVType"),
+				new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val),
+				new XAttribute(xsi + XMLNames.XSIType, ResultXMLType),
 				_factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult),
 				_factory.GetLorrySimulationParameterWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult),
 				_factory.GetLorryHEVOVCResultWriterChargeDepleting(_factory, TNS).GetElement(entry.ChargeDepletingResult),
@@ -109,6 +108,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		}
 
 		#endregion
+
+		protected virtual string ResultXMLType => "ResultSuccessOVCHEVType";
 	}
 
 	public class LorryHEVOVCChargeDepletingWriter : AbstractResultGroupWriter
@@ -119,10 +120,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
 		public override XElement GetElement(IResultEntry entry)
 		{
-			return new XElement(TNS + "OVCMode",
-				new XAttribute("type", "charge depleting"),
+			return new XElement(TNS + XMLNames.Report_Results_OVCMode,
+				new XAttribute(XMLNames.Results_Report_OVCModeAttr, XMLNames.Results_Report_OVCModeAttr_ChargeDepleting),
 				_factory.GetVehiclePerformanceLorry(_factory, TNS).GetElement(entry),
-				//new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed, XMLHelper.ValueAsUnit(entry.AverageSpeed, XMLNames.Unit_kmph, 1)),
 				entry.FuelData.Select(f =>
 					_factory.GetFuelConsumptionLorry(_factory, TNS).GetElement(entry, entry.FuelConsumptionFinal(f.FuelType))),
 				_factory.GetElectricEnergyConsumptionLorry(_factory, TNS).GetElement(entry),
@@ -142,10 +142,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
 		public override XElement GetElement(IResultEntry entry)
 		{
-			return new XElement(TNS + "OVCMode",
-				new XAttribute("type", "charge depleting"),
+			return new XElement(TNS + XMLNames.Report_Results_OVCMode,
+				new XAttribute(XMLNames.Results_Report_OVCModeAttr, XMLNames.Results_Report_OVCModeAttr_ChargeDepleting),
 				_factory.GetVehiclePerformanceLorry(_factory, TNS).GetElement(entry),
-				//new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed, XMLHelper.ValueAsUnit(entry.AverageSpeed, XMLNames.Unit_kmph, 1)),
 				entry.FuelData.Select(f =>
 					_factory.GetFuelConsumptionLorry(_factory, TNS).GetElement(entry, entry.FuelConsumptionFinal(f.FuelType))),
 				_factory.GetCO2ResultLorry(_factory, TNS).GetElements(entry)
@@ -214,8 +213,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		public override XElement GetElement(IOVCResultEntry entry)
 		{
 			return new XElement(TNS + XMLNames.Report_Result_Result,
-				new XAttribute(XMLNames.Report_Result_Status_Attr, "success"),
-				new XAttribute(xsi + "type", "ResultSuccessOVCHEVType"),
+				new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val),
+				new XAttribute(xsi + XMLNames.XSIType, ResultXMLType),
 				_factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult),
 				_factory.GetBusSimulationParameterWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult),
 				_factory.GetBusHEVOVCResultWriterChargeDepleting(_factory, TNS).GetElement(entry.ChargeDepletingResult),
@@ -226,6 +225,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
 		#endregion
 
+		protected virtual string ResultXMLType => "ResultSuccessOVCHEVType";
 	}
 
 	public class BusOVCChargeDepletingWriter : AbstractResultGroupWriter
@@ -236,10 +236,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
 		public override XElement GetElement(IResultEntry entry)
 		{
-			return new XElement(TNS + "OVCMode",
-				new XAttribute("type", "charge depleting"),
+			return new XElement(TNS + XMLNames.Report_Results_OVCMode,
+				new XAttribute(XMLNames.Results_Report_OVCModeAttr, XMLNames.Results_Report_OVCModeAttr_ChargeDepleting),
 				_factory.GetVehiclePerformanceBus(_factory, TNS).GetElement(entry),
-				//new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed, XMLHelper.ValueAsUnit(entry.AverageSpeed, XMLNames.Unit_kmph, 1)),
 				entry.FuelData.Select(f =>
 					_factory.GetFuelConsumptionBus(_factory, TNS).GetElement(entry, entry.FuelConsumptionFinal(f.FuelType))),
 				_factory.GetElectricEnergyConsumptionBus(_factory, TNS).GetElement(entry),
@@ -257,8 +256,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
 		public override XElement GetElement(IResultEntry entry)
 		{
-			return new XElement(TNS + "OVCMode",
-				new XAttribute("type", "charge depleting"),
+			return new XElement(TNS + XMLNames.Report_Results_OVCMode,
+				new XAttribute(XMLNames.Results_Report_OVCModeAttr, XMLNames.Results_Report_OVCModeAttr_ChargeDepleting),
 				_factory.GetVehiclePerformanceBus(_factory, TNS).GetElement(entry),
 				//new XElement(TNS + XMLNames.Report_ResultEntry_AverageSpeed, XMLHelper.ValueAsUnit(entry.AverageSpeed, XMLNames.Unit_kmph, 1)),
 				entry.FuelData.Select(f =>
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ResultWriter/CIFResultWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ResultWriter/CIFResultWriter.cs
index 1999806dd7eb403b19faec986276424637fd8fc6..ef734e12be800eb9fe6ac5308287f7ef78c6e44a 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ResultWriter/CIFResultWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/ResultWriter/CIFResultWriter.cs
@@ -63,8 +63,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation
 			{
 				var ordered = GetOrderedResultsOVC(results);
 				var allSuccess = results.All(x => x.Status == VectoRun.Status.Success);
-				return new XElement(TNS + "Results",
-					new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"),
+				return new XElement(TNS + XMLNames.Report_Results,
+					new XElement(TNS + XMLNames.Report_Result_Status,
+						allSuccess ? XMLNames.Report_Results_Status_Success_Val : XMLNames.Report_Results_Status_Error_Val),
 					ordered.Select(x =>
 						x.ChargeDepletingResult.Status == VectoRun.Status.Success &&
 						x.ChargeSustainingResult.Status == VectoRun.Status.Success
@@ -121,8 +122,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation
 			{
 				var ordered = GetOrderedResultsOVC(results);
 				var allSuccess = results.All(x => x.Status == VectoRun.Status.Success);
-				return new XElement(TNS + "Results",
-					new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"),
+				return new XElement(TNS + XMLNames.Report_Results,
+					new XElement(TNS + XMLNames.Report_Result_Status,
+						allSuccess
+							? XMLNames.Report_Results_Status_Success_Val
+							: XMLNames.Report_Results_Status_Error_Val),
 					ordered.Select(x =>
 						x.ChargeDepletingResult.Status == VectoRun.Status.Success &&
 						x.ChargeSustainingResult.Status == VectoRun.Status.Success
@@ -156,9 +160,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation
 
 			public override XElement GenerateResults(List<IResultEntry> results)
 			{
-				return new XElement(TNS + "Results",
-					new XElement(TNS + "Status", "success"),
-					new XElement(TNS + "ExemptedVehicle"));
+				return new XElement(TNS + XMLNames.Report_Results,
+					new XElement(TNS + XMLNames.Report_Result_Status, XMLNames.Report_Results_Status_Success_Val),
+					new XElement(TNS + XMLNames.Report_ExemptedVehicle));
 			}
 
 			protected override IResultGroupWriter ResultSuccessWriter => null;
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs
index 6e9db8bad102e144884ff5bc6843d83abfbecfd6..52645148c53ade06cdca25ab9aee059d787e574b 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs
@@ -45,7 +45,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.
 
 			// MQ: write dummy result element for testcases (2022-07-13)
 			Results = new XElement(Mrf_0_9 + "Results",
-				new XElement(Mrf_0_9 + "Status", "success"),
+				new XElement(Mrf_0_9 + "Status", XMLNames.Report_Results_Status_Success_Val),
 				new XElement(Mrf_0_9 + "ExemptedVehicle"));
 		}
 
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFResultsNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFResultsNinjectModule.cs
index ae257725604459945b716df2b5a0dd4061dba618..cc9f7cdd1d24584baeb6f0c746cca339bd8e4951 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFResultsNinjectModule.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFResultsNinjectModule.cs
@@ -7,6 +7,7 @@ using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9.ResultWriter;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ResultWriter;
 using TUGraz.VectoCore.Utils;
 using TUGraz.VectoCore.Utils.Ninject;
 
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/MRFResultsWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/MRFResultsWriter.cs
index 448129a2ffcd12f46a6d58dda06310ba2cc7ddfd..bb062af0533869d4eb8a5f9d23dd55c95f2a2f35 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/MRFResultsWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/MRFResultsWriter.cs
@@ -1,11 +1,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Xml.Linq;
-using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.Resources;
-using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.Models.Declaration;
-using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common;
 
@@ -62,8 +58,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation
 			{
 				var ordered = GetOrderedResultsOVC(results);
 				var allSuccess = results.All(x => x.Status == VectoRun.Status.Success);
-				return new XElement(TNS + "Results",
-					new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"),
+				return new XElement(TNS + XMLNames.Report_Results,
+					new XElement(TNS + XMLNames.Report_Result_Status,
+						allSuccess
+							? XMLNames.Report_Results_Status_Success_Val
+							: XMLNames.Report_Results_Status_Error_Val),
 					ordered.Select(x =>
 						x.ChargeDepletingResult.Status == VectoRun.Status.Success &&
 						x.ChargeSustainingResult.Status == VectoRun.Status.Success
@@ -120,8 +119,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation
 			{
 				var ordered = GetOrderedResultsOVC(results);
 				var allSuccess = results.All(x => x.Status == VectoRun.Status.Success);
-				return new XElement(TNS + "Results",
-					new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"),
+				return new XElement(TNS + XMLNames.Report_Results,
+					new XElement(TNS + XMLNames.Report_Result_Status,
+						allSuccess
+							? XMLNames.Report_Results_Status_Success_Val
+							: XMLNames.Report_Results_Status_Error_Val),
 					ordered.Select(x =>
 						x.ChargeDepletingResult.Status == VectoRun.Status.Success &&
 						x.ChargeSustainingResult.Status == VectoRun.Status.Success
@@ -155,9 +157,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation
 
 			public override XElement GenerateResults(List<IResultEntry> results)
 			{
-				return new XElement(TNS + "Results",
-					new XElement(TNS + "Status", "success"),
-					new XElement(TNS + "ExemptedVehicle"));
+				return new XElement(TNS + XMLNames.Report_Results,
+					new XElement(TNS + XMLNames.Report_Result_Status, XMLNames.Report_Results_Status_Success_Val),
+					new XElement(TNS + XMLNames.Report_ExemptedVehicle));
 			}
 
 			protected override IResultGroupWriter ResultSuccessWriter => null;
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/ResultGroupWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/ResultGroupWriter.cs
index e41c405a0dc1dbb83bfeda6f63fce092b4b66949..fc5c1821fba6addb217174d98ce72522800540e5 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/ResultGroupWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/ResultGroupWriter.cs
@@ -7,11 +7,10 @@ using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common;
 using TUGraz.VectoCore.Utils;
 
-namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9.
+namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.
 	ResultWriter
 {
 
-
 	public class MRFResultSuccessMissionWriter : AbstractResultWriter, IResultSequenceWriter
 	{
 		public MRFResultSuccessMissionWriter(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { }
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/SummaryWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/SummaryWriter.cs
index d7b06a50b0ab641e4b91ff1e2c7010a2c8ba375c..af3ef5822aa22c36d479a1b3177d52981c654258 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/SummaryWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ResultWriter/SummaryWriter.cs
@@ -2,7 +2,7 @@
 using System.Xml.Linq;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common;
 
-namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9.ResultWriter
+namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ResultWriter
 {
 	public class NoSummaryWriter : IReportResultsSummaryWriter
 	{
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs
index 3473a569cd3935a67a85bd61973b5d4080700539..2a71aeeeba499abf6164fe939d24dac2396c47ea 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs
@@ -410,7 +410,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 			var manufacturerReportIntegrity = ManufacturerReportIntegrityChecks(ref allSuccess);
 
 			DataIntegrityPart.Add(
-				new XAttribute("status", allSuccess ? "success" : "failed"),
+				new XAttribute("status", allSuccess ? XMLNames.Report_Results_Status_Success_Val : "failed"),
 				new XElement(
 					tns + "Components",
 					componentChecks.ToArray()
@@ -453,7 +453,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 				retVal = new XElement(
 						tns + "Component",
 						new XAttribute("componentName", componentName),
-						new XAttribute("status", status ? "success" : "failed"),
+						new XAttribute("status", status ? XMLNames.Report_Results_Status_Success_Val : "failed"),
 						new XElement(tns + "DigestValueRecomputed", recomputed),
 						new XElement(
 							tns + "DigestValueRead",
@@ -488,7 +488,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 				mrStatus = ManufacturerRecordHash.ValidateHash();
 				manufacturerReportIntegrity = new XElement(
 					tns + "ManufacturerReport",
-					new XAttribute("status", mrStatus ? "success" : "failed"),
+					new XAttribute("status", mrStatus ? XMLNames.Report_Results_Status_Success_Val : "failed"),
 					new XElement(tns + "DigestValueRecomputed", mrHashRecomputed),
 					new XElement(
 						tns + "DigestValueRead",
@@ -519,7 +519,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 				jobStatus = string.Equals(jobHashRecomputed, jobHashRead);
 				jobIntegrity = new XElement(
 					tns + "JobData",
-					new XAttribute("status", jobStatus ? "success" : "failed"),
+					new XAttribute("status", jobStatus ? XMLNames.Report_Results_Status_Success_Val : "failed"),
 					new XElement(
 						tns + "DigestValueRecomputed",
 						jobHashRecomputed),
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs
index 74795ccb277c9ce261505bf48c87aab34cd52d02..5edf03fbbca1f5cec79f1bb216e90e4fb26535a4 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs
@@ -55,7 +55,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 			InitializeVehicleData(modelData.InputData);
 			// TODO MQ: write dummy result element for testcases (2022-12-02), remove once result writing is implemented
 			Results = new XElement(VIF + XMLNames.Report_Results,
-				new XElement(VIF + "Status", "success"),
+				new XElement(VIF + "Status", XMLNames.Report_Results_Status_Success_Val),
 				new XElement(VIF + "ExemptedVehicle"));
 			InputDataIntegrity = new XElement(VIF + XMLNames.Report_InputDataSignature,
 				modelData.InputDataHash == null ? XMLHelper.CreateDummySig(_di) : new XElement(modelData.InputDataHash));
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultGroupWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultGroupWriter.cs
index 84275be7feb6b724e209ef859f218fe2b64a8519..fe3a19b358223c849be145abe9cbe743ceb297fd 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultGroupWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultGroupWriter.cs
@@ -136,7 +136,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 
 		#endregion
 
-		protected virtual IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel,
+		public virtual IList<ConvertedSI> GetFuelConsumptionEntries(Kilogram fc, IFuelProperties fuel,
 			Meter distance, Kilogram payload, CubicMeter volume, double? passenger)
 		{
 			return new List<ConvertedSI> {
@@ -152,7 +152,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 
 		#region Overrides of ElectricEnergyConsumptionWriterBase
 
-		protected override string ElectricEnergyConsumptionXMLElementName => "ElectricEnergyConsumption";
+		protected override string ElectricEnergyConsumptionXMLElementName => XMLNames.Report_ResultEntry_VIF_ElectricEnergyConsumption;
 
 
 		protected override IList<ConvertedSI> GetEnergyConsumption(WattSecond elEnergy, Meter distance,
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultWriter.cs
index a18a13594a5a1fab2a42fa52dee0dcf7f0e19b3c..173e7f1160641e0a18ef94c0832f4a7f70b8bcc3 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/ResultWriter.cs
@@ -17,7 +17,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 		public override XElement GetElement(IResultEntry entry)
 		{
 			return new XElement(TNS + XMLNames.Report_Result_Result,
-				new XAttribute(XMLNames.Report_Result_Status_Attr, "success"),
+				new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val),
 				//new XAttribute(xsi + "type", ResultXMLType),
 				_factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry),
 				SimulationParameterWriter.GetElement(entry),
@@ -92,7 +92,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 		public override XElement GetElement(IOVCResultEntry entry)
 		{
 			return new XElement(TNS + XMLNames.Report_Result_Result,
-				new XAttribute(XMLNames.Report_Result_Status_Attr, "success"),
+				new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val),
 				_factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult),
 				_factory.GetBusSimulationParameterWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult),
 				_factory.GetBusHEVOVCResultWriterChargeDepleting(_factory, TNS).GetElement(entry.ChargeDepletingResult),
@@ -110,8 +110,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 
 		public override XElement GetElement(IResultEntry entry)
 		{
-			return new XElement(TNS + "OVCMode",
-				new XAttribute("type", OVCMode),
+			return new XElement(TNS + XMLNames.Report_Results_OVCMode,
+				new XAttribute(XMLNames.Results_Report_OVCModeAttr, OVCMode),
 				entry.FuelData.Select(f =>
 					_factory.GetFuelConsumptionBus(_factory, TNS).GetElement(entry, entry.FuelConsumptionFinal(f.FuelType))),
 				_factory.GetElectricEnergyConsumptionBus(_factory, TNS).GetElement(entry)
@@ -127,7 +127,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 
 		#region Overrides of VIFOVCCModeWriter
 
-		public override string OVCMode => "charge depleting";
+		public override string OVCMode => XMLNames.Results_Report_OVCModeAttr_ChargeDepleting;
 		
 		#endregion
 	}
@@ -138,7 +138,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 
 		#region Overrides of VIFOVCCModeWriter
 
-		public override string OVCMode => "charge sustaining";
+		public override string OVCMode => XMLNames.Results_Report_OVCModeAttr_ChargeDepleting;
 
 		#endregion
 	}
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/VIFResultsWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/VIFResultsWriter.cs
index c6ff97b8aae260abf23abf46497066cd89d0b4cb..8333e19b16ede084fe38ac96e113cad365b0d0ae 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/VIFResultsWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/ResultWriter/VIFResultsWriter.cs
@@ -50,8 +50,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 			{
 				var ordered = GetOrderedResultsOVC(results);
 				var allSuccess = results.All(x => x.Status == VectoRun.Status.Success);
-				return new XElement(TNS + "Results",
-					new XElement(TNS + XMLNames.Report_Result_Status, allSuccess ? "success" : "error"),
+				return new XElement(TNS + XMLNames.Report_Results,
+					new XElement(TNS + XMLNames.Report_Result_Status,
+						allSuccess
+							? XMLNames.Report_Results_Status_Success_Val
+							: XMLNames.Report_Results_Status_Error_Val),
 					ordered.Select(x =>
 						x.ChargeDepletingResult.Status == VectoRun.Status.Success &&
 						x.ChargeSustainingResult.Status == VectoRun.Status.Success
@@ -86,7 +89,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 			public override XElement GenerateResults(List<IResultEntry> results)
 			{
 				return new XElement(TNS + "Results",
-					new XElement(TNS + "Status", "success"),
+					new XElement(TNS + "Status", XMLNames.Report_Results_Status_Success_Val),
 					new XElement(TNS + "ExemptedVehicle"));
 			}
 
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFResultsNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFResultsNinjectModule.cs
index deaa694af58fd97637236c05a27713e95241f0d8..9ff32e359008eeb1fd9262132dca6fbf4cc87159 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFResultsNinjectModule.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFResultsNinjectModule.cs
@@ -6,6 +6,7 @@ using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9.ResultWriter;
+using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ResultWriter;
 using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1.ResultWriter;
 using TUGraz.VectoCore.Utils;
 using TUGraz.VectoCore.Utils.Ninject;