diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs
index 5d446df67cadf4562d94143d97021cc76fcbabf9..b009c93010c90cefaa60d8d23fbd591604fc21b4 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ResultWriter.cs
@@ -1,6 +1,8 @@
 using System;
 using System.Linq;
 using System.Xml.Linq;
+using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
 
 namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
@@ -19,6 +21,24 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 		}
 
 		protected XNamespace TNS { get; }
+
+
+		protected XElement GetPrimaryBusSubGroupElement(IResultEntry entry)
+		{
+			if (entry.VehicleClass.IsBus())
+			{
+				//busSubGroup 
+				var primarySubGroup = entry.VehicleClass;
+				if (!primarySubGroup.IsPrimaryBus())
+				{
+					throw new VectoException($"Expected Primary Bus but was {primarySubGroup}");
+				}
+
+				return new XElement(TNS + XMLNames.Report_Results_PrimaryVehicleSubgroup, primarySubGroup.ToXML());
+			}
+
+			return null;
+		}
 	}
 
 
@@ -30,11 +50,15 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
 		public override XElement GetElement(IResultEntry entry)
 		{
-			return new XElement(TNS + XMLNames.Report_Result_Result,
+			
+			
+
+            return new XElement(TNS + XMLNames.Report_Result_Result,
 				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),
+				GetPrimaryBusSubGroupElement(entry),
 				ResultTotalWriter.GetElement(entry)
 			);
 		}
@@ -212,11 +236,14 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
 
 		public override XElement GetElement(IOVCResultEntry entry)
 		{
+			var primarySubGroup = entry.ChargeDepletingResult.VehicleClass;
+			
 			return new XElement(TNS + XMLNames.Report_Result_Result,
 				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),
+				GetPrimaryBusSubGroupElement(entry.ChargeSustainingResult),
 				_factory.GetBusHEVOVCResultWriterChargeDepleting(_factory, TNS).GetElement(entry.ChargeDepletingResult),
 				_factory.GetBusHEVOVCResultWriterChargeSustaining(_factory, TNS).GetElement(entry.ChargeSustainingResult),
 				_factory.GetBusHEVOVCTotalWriter(_factory, TNS).GetElement(entry)
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
index 4eb0d953a7cc1c6b470ad73502d69fa9133045d0..88325d6a6a5295a803b4857019233899dde6aa3a 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs
@@ -177,7 +177,9 @@ namespace TUGraz.VectoCore.OutputData.XML
             result.Payload = specific.Payload;
             result.PassengerCount = specific.PassengerCount;
             result.VehicleClass = primary.VehicleGroup;
-
+			result.WeightingFactor = specific.WeightingFactor;
+			result.FuelMode = specific.FuelMode;
+			result.LoadingType = specific.LoadingType;
 
             ///Factor for each fuel
             /// Factor for electric Energy Consumption
@@ -248,11 +250,8 @@ namespace TUGraz.VectoCore.OutputData.XML
             {
                 result.ZEV_FuelConsumption_AuxHtr = specific.ZEV_FuelConsumption_AuxHtr;
                 var auxHeaterFuel = specific.AuxHeaterFuel;
-
                 result.AuxHeaterFuel = auxHeaterFuel;
-                result.FuelData.Add(auxHeaterFuel);
-
-                result.ZEV_CO2 = result.ZEV_FuelConsumption_AuxHtr * auxHeaterFuel.CO2PerFuelWeight;
+				result.ZEV_CO2 = result.ZEV_FuelConsumption_AuxHtr * auxHeaterFuel.CO2PerFuelWeight;
             }
 
 
@@ -284,13 +283,15 @@ namespace TUGraz.VectoCore.OutputData.XML
                 throw new NotImplementedException();
             }
 
-            public VectoRunData VectoRunData { get; }
+			public VectoRunData VectoRunData => throw new NotImplementedException();
             public VectoRun.Status Status { get; set; }
             public OvcHevMode OVCMode { get; set; }
             public MissionType Mission { get; set; }
-            public LoadingType LoadingType { get; }
-            public int FuelMode { get; }
-            public IList<IFuelProperties> FuelData { get; set; }
+			public LoadingType LoadingType { get; set; }
+
+			public int FuelMode { get; set; }
+
+			public IList<IFuelProperties> FuelData { get; set; }
             public MeterPerSecond AverageSpeed { get; set; }
             public MeterPerSecond AverageDrivingSpeed { get; set; }
             public MeterPerSecond MaxSpeed { get; set; }
@@ -322,7 +323,7 @@ namespace TUGraz.VectoCore.OutputData.XML
             public double? PassengerCount { get; set; }
             public VehicleClass VehicleClass { get; set; }
             public Watt MaxChargingPower { get; }
-            public double WeightingFactor { get; }
+            public double WeightingFactor { get; set; }
             public Meter ActualChargeDepletingRange { get; set; }
             public Meter EquivalentAllElectricRange { get; set; }
             public Meter ZeroCO2EmissionsRange { get; set; }