diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs
index 9f01d430a10bae02d77293ddb399a934ec1ea7b3..8c868216a64d663f26f50e3829daf817f70a85ee 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/CO2Writer.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Collections.Generic;
+using System.Collections.Generic;
 using System.Linq;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.Models;
@@ -33,48 +32,12 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		protected abstract IList<FormattedReportValue> GetCO2ResultEntries(Kilogram co2, Meter distance, Kilogram payload,
 			CubicMeter volume, double? passengers);
 
-		protected object[] Format3Significant1Decimal(ConvertedSI value)
-		{
-			return value.ValueAsUnit(3, 1);
-		}
-
-		protected object[] Format1Decimal(ConvertedSI value)
-		{
-			return value.ValueAsUnit(1);
-		}
-
-		protected object[] Format2Decimal(ConvertedSI value)
-		{
-			return value.ValueAsUnit(2);
-		}
+		
+		
 
     }
 
-    public class FormattedReportValue
-	{
-		public ConvertedSI Value { get; }
-
-		protected Func<ConvertedSI, object[]> Formatter;
-
-		public FormattedReportValue(ConvertedSI value, Func<ConvertedSI, object[]> formatter = null)
-		{
-			Value = value;
-			Formatter = formatter ?? DefaultFormat;
-		}
-
-		public object[] GetElement()
-		{
-			return Formatter(Value);
-		}
-
-		protected object[] DefaultFormat(ConvertedSI value)
-		{
-			return Value.ValueAsUnit(3, 1);
-		}
-
-	}
-
-    public class LorryCO2Writer : CO2WriterBase
+	public class LorryCO2Writer : CO2WriterBase
     {
         public LorryCO2Writer(ICommonResultsWriterFactory factory, XNamespace ns) : base(factory, ns) { }
 
@@ -84,7 +47,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		{
 			var retVal = new List<FormattedReportValue>() {
 				new FormattedReportValue((CO2Total / distance).ConvertToGrammPerKiloMeter()),
-				new FormattedReportValue((CO2Total / distance / payload).ConvertToGrammPerTonKilometer(), Format1Decimal),
+				new FormattedReportValue((CO2Total / distance / payload).ConvertToGrammPerTonKilometer(), FormattedReportValue.Format1Decimal),
 			};
 			if (volume.IsGreater(0)) {
 				retVal.Add(new FormattedReportValue((CO2Total / distance / volume).ConvertToGrammPerCubicMeterKiloMeter()));
@@ -103,7 +66,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		{
 			return new[] {
 				new FormattedReportValue((CO2Total / distance).ConvertToGrammPerKiloMeter()),
-				new FormattedReportValue((CO2Total / distance / passengers.Value).ConvertToGrammPerPassengerKilometer(), Format2Decimal),
+				new FormattedReportValue((CO2Total / distance / passengers.Value).ConvertToGrammPerPassengerKilometer(), FormattedReportValue.Format2Decimal),
 			};
 		}
 
@@ -127,7 +90,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 					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_Results_FuelConsumption, new FormattedReportValue(x).GetElement()))
 				),
 				new XElement(TNS + XMLNames.Report_ResultEntry_CO2ZEVAuxHeater,
 					GetCO2ResultEntries(entry.ZEV_CO2, entry.Distance, entry.Payload, entry.CargoVolume,
@@ -149,7 +112,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
                     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_Results_FuelConsumption, new FormattedReportValue(x).GetElement()))
                 ),
                 new XElement(TNS + XMLNames.Report_ResultEntry_CO2ZEVAuxHeater,
                     GetCO2ResultEntries(entry.ZEV_CO2, entry.Distance, entry.Payload, entry.CargoVolume,
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs
index 20b634257df4c3593332d38199550861dac07f13..7b9dd670607c91044cbd42c7306d9170d4a92800 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs
@@ -19,7 +19,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
             return new XElement(TNS + ElectricEnergyConsumptionXMLElementName,
                 GetEnergyConsumption(entry.ElectricEnergyConsumption, entry.Distance, entry.Payload, entry.CargoVolume,
                     entry.PassengerCount).Select(x =>
-                    new XElement(TNS + XMLNames.Report_Result_EnergyConsumption, x.ValueAsUnit(3, 1)))
+                    new XElement(TNS + XMLNames.Report_Result_EnergyConsumption, new FormattedReportValue(x).GetElement()))
             );
         }
 
@@ -28,7 +28,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
             return new XElement(TNS + ElectricEnergyConsumptionXMLElementName,
                 GetEnergyConsumption(weighted.ElectricEnergyConsumption, weighted.Distance, weighted.Payload, weighted.CargoVolume,
                     weighted.PassengerCount).Select(x =>
-                    new XElement(TNS + XMLNames.Report_Result_EnergyConsumption, x.ValueAsUnit(3, 1)))
+                    new XElement(TNS + XMLNames.Report_Result_EnergyConsumption, new FormattedReportValue(x).GetElement()))
             );
 
         }
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FormattedReportValue.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FormattedReportValue.cs
new file mode 100644
index 0000000000000000000000000000000000000000..abc023c023ace298d30cc51d3a86abfd0dccbea2
--- /dev/null
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FormattedReportValue.cs
@@ -0,0 +1,40 @@
+using System;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
+{
+
+	public class FormattedReportValue
+	{
+		public ConvertedSI Value { get; }
+
+		protected Func<ConvertedSI, object[]> Formatter;
+
+		public FormattedReportValue(ConvertedSI value, Func<ConvertedSI, object[]> formatter = null)
+		{
+			Value = value;
+			Formatter = formatter ?? DefaultFormat;
+		}
+
+		public object[] GetElement()
+		{
+			return Formatter(Value);
+		}
+
+		protected object[] DefaultFormat(ConvertedSI value)
+		{
+			return Value.ValueAsUnit(4, 1);
+		}
+
+		public static object[] Format1Decimal(ConvertedSI value)
+		{
+			return value.ValueAsUnit(1);
+		}
+
+		public static object[] Format2Decimal(ConvertedSI value)
+		{
+			return value.ValueAsUnit(2);
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs
index b89bb3c4d75ffb99463e695a988d0ee42a71eac9..bd48907ff217173b16120f0872855a04ae624950 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/FuelConsumptionWriter.cs
@@ -32,9 +32,10 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		{
 			return new XElement(TNS + XMLNames.Report_Results_Fuel,
 				new XAttribute(XMLNames.Report_Results_Fuel_Type_Attr, fuel.FuelType.ToXMLFormat()),
-				GetFuelConsumptionEntries(consumption, fuel, distance, payLoad, cargoVolume, passengerCount).Select(x => new XElement(TNS + XMLNames.Report_Results_FuelConsumption, x.ValueAsUnit(3, 1)))
+				GetFuelConsumptionEntries(consumption, fuel, distance, payLoad, cargoVolume, passengerCount).Select(x =>
+					new XElement(TNS + XMLNames.Report_Results_FuelConsumption, new FormattedReportValue(x).GetElement()))
 			);
-        }
+		}
 
         #endregion
 
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs
index 7db381a1f79fca3fdc9f881e7c35d7efa4415818..cab35597bef17e8a5a2f6057078ed595344f253e 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultGroupWriter.cs
@@ -95,11 +95,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		{
 			return new[] {
 				new XElement(TNS + XMLNames.Report_ResultEntry_ActualChargeDepletingRange,
-					XMLHelper.ValueAsUnit(result.ActualChargeDepletingRange.ConvertToKiloMeter())),
+					result.ActualChargeDepletingRange.ConvertToKiloMeter().ValueAsUnit()),
 				new XElement(TNS + XMLNames.Report_ResultEntry_EquivalentAllElectricRange,
-					XMLHelper.ValueAsUnit(result.EquivalentAllElectricRange.ConvertToKiloMeter())),
+					result.EquivalentAllElectricRange.ConvertToKiloMeter().ValueAsUnit()),
 				new XElement(TNS + XMLNames.Report_ResultEntry_ZeroCO2EmissionsRange,
-					XMLHelper.ValueAsUnit(result.ZeroCO2EmissionsRange.ConvertToKiloMeter())),
+					result.ZeroCO2EmissionsRange.ConvertToKiloMeter().ValueAsUnit()),
 			};
 		}
 
@@ -107,11 +107,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		{
 			return new[] {
 				new XElement(TNS + XMLNames.Report_ResultEntry_ActualChargeDepletingRange,
-					XMLHelper.ValueAsUnit(weightedResult.ActualChargeDepletingRange.ConvertToKiloMeter())),
+					weightedResult.ActualChargeDepletingRange.ConvertToKiloMeter().ValueAsUnit()),
 				new XElement(TNS + XMLNames.Report_ResultEntry_EquivalentAllElectricRange,
-					XMLHelper.ValueAsUnit(weightedResult.EquivalentAllElectricRange.ConvertToKiloMeter())),
+					weightedResult.EquivalentAllElectricRange.ConvertToKiloMeter().ValueAsUnit()),
 				new XElement(TNS + XMLNames.Report_ResultEntry_ZeroCO2EmissionsRange,
-					XMLHelper.ValueAsUnit(weightedResult.ZeroCO2EmissionsRange.ConvertToKiloMeter())),
+					weightedResult.ZeroCO2EmissionsRange.ConvertToKiloMeter().ValueAsUnit()),
 			};
 		}
 
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 5afbcab02e98037470e77aed884e424edf9d1e05..3cc200f5d7e7945cfbc9938d0718f8bce0d3f17f 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
@@ -121,7 +121,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 				new XAttribute(XMLNames.Report_Results_Fuel_Type_Attr, fc.Fuel.FuelType.ToXMLFormat()),
 				GetFuelConsumptionEntries(fc.TotalFuelConsumptionCorrected, fc.Fuel, entry.Distance, entry.Payload,
 					entry.CargoVolume, entry.PassengerCount).Select(x =>
-					new XElement(TNS + XMLNames.Report_Result_EnergyConsumption, x.ValueAsUnit(3, 1)))
+					new XElement(TNS + XMLNames.Report_Result_EnergyConsumption, new FormattedReportValue(x).GetElement()))
 			);
 		}
 
@@ -131,7 +131,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 				new XAttribute(XMLNames.Report_Results_Fuel_Type_Attr, fuel.FuelType.ToXMLFormat()),
 				GetFuelConsumptionEntries(consumption, fuel, entry.Distance, entry.Payload, entry.CargoVolume,
 					entry.PassengerCount).Select(x =>
-					new XElement(TNS + XMLNames.Report_Result_EnergyConsumption, x.ValueAsUnit(3, 1)))
+					new XElement(TNS + XMLNames.Report_Result_EnergyConsumption, new FormattedReportValue(x).GetElement()))
 			);
 		}