diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs
index 884540c11e70ab8fed7f3429fdaf0cccb4a6be38..5529ff1f3722a86225c7160cf69337ba8e29935c 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs
@@ -18,7 +18,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 		public override void Initialize(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes)
 		{
 			VehiclePart.Add(
-				new XAttribute(xsi + "type", "VehicleExemptedPrimaryBusType"),
+				new XAttribute(xsi + XMLNames.Attr_Type, "VehicleExemptedPrimaryBusType"),
 				new XElement(tns + XMLNames.ManufacturerPrimaryVehicle, modelData.VehicleData.Manufacturer),
 				new XElement(tns + XMLNames.ManufacturerAddressPrimaryVehicle, modelData.VehicleData.ManufacturerAddress),
 				new XElement(tns + XMLNames.Component_Model, modelData.VehicleData.ModelName),
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs
index e487bb508388f1170b0c2c1ee26f37c9b9e24a9b..3d9c55c2a426dd2bddeabbe7395cc159df053b41 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLMultistageBusReport.cs
@@ -27,38 +27,28 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 		protected override XElement GetVehicleElement(string vehicleId)
 		{
 			return new XElement(tns + XMLNames.Tag_Vehicle,
-				new XAttribute(xsi + XMLNames.Attr_Type, "Vehicle_Exempted_CompletedBusType"),
-				new XAttribute("xmlns", v210),
 				new XAttribute(XMLNames.Component_ID_Attr, vehicleId),
-				new XElement(v210 + XMLNames.Component_Manufacturer, _vehicleInputData.Manufacturer),
-				new XElement(v210 + XMLNames.Component_ManufacturerAddress, _vehicleInputData.ManufacturerAddress),
-				new XElement(v210 + XMLNames.Vehicle_VIN, _vehicleInputData.VIN),
-				new XElement(v210 + XMLNames.Component_Date,
-					XmlConvert.ToString(_vehicleInputData.Date, XmlDateTimeSerializationMode.Utc)),
+				new XAttribute(xsi + XMLNames.Attr_Type, "Vehicle_Exempted_CompletedBusDeclarationType"),
+				new XAttribute("xmlns", v210),
+				CompletedBusGeneralParametersWriterV2_10_2.GetGroupElements(_vehicleInputData, v210),
 				_vehicleInputData.Model != null
-					? new XElement(v210 + XMLNames.Component_Model, _vehicleInputData.Model) : null,
-				_vehicleInputData.LegislativeClass != null
-					? new XElement(v210 + XMLNames.Vehicle_LegislativeCategory, _vehicleInputData.LegislativeClass.ToXMLFormat()) : null,
-				_vehicleInputData.CurbMassChassis != null
-					? new XElement(v210 + XMLNames.CorrectedActualMass, _vehicleInputData.CurbMassChassis.ToXMLFormat(0)) : null,
-				_vehicleInputData.GrossVehicleMassRating != null
-					? new XElement(v210 + XMLNames.TPMLM, _vehicleInputData.GrossVehicleMassRating.ToXMLFormat(0)) : null,
-				_vehicleInputData.RegisteredClass != null
-					? new XElement(v210 + XMLNames.Vehicle_RegisteredClass, _vehicleInputData.RegisteredClass.ToXMLFormat()) : null,
-				_vehicleInputData.NumberPassengerSeatsLowerDeck != null
-					? new XElement(v210 + XMLNames.Bus_NumberPassengerSeatsLowerDeck, _vehicleInputData.NumberPassengerSeatsLowerDeck) : null,
-				_vehicleInputData.NumberPassengersStandingLowerDeck != null
-					? new XElement(v210 + XMLNames.Bus_NumberPassengersStandingLowerDeck, _vehicleInputData.NumberPassengersStandingLowerDeck) : null,
-				_vehicleInputData.NumberPassengerSeatsUpperDeck != null
-					? new XElement(v210 + XMLNames.Bus_NumberPassengerSeatsUpperDeck, _vehicleInputData.NumberPassengerSeatsUpperDeck) : null,
-				_vehicleInputData.NumberPassengersStandingUpperDeck != null
-					? new XElement(v210 + XMLNames.Bus_NumberPassengersStandingUpperDeck, _vehicleInputData.NumberPassengersStandingUpperDeck) : null,
-				_vehicleInputData.VehicleCode != null
-					? new XElement(v210 + XMLNames.Vehicle_BodyworkCode, _vehicleInputData.VehicleCode.ToXMLFormat()) : null,
-				_vehicleInputData.LowEntry != null
-					? new XElement(v210 + XMLNames.Bus_LowEntry, _vehicleInputData.LowEntry) : null,
-				_vehicleInputData.Height != null
-					? new XElement(v210 + XMLNames.Bus_HeightIntegratedBody, _vehicleInputData.Height.ConvertToMilliMeter().ToXMLFormat(0)) : null
+                    ? new XElement(v210 + XMLNames.Component_Model, _vehicleInputData.Model) : null,
+                _vehicleInputData.LegislativeClass != null
+                    ? new XElement(v210 + XMLNames.Vehicle_LegislativeCategory, _vehicleInputData.LegislativeClass.ToXMLFormat()) : null,
+                _vehicleInputData.CurbMassChassis != null
+                    ? new XElement(v210 + XMLNames.CorrectedActualMass, _vehicleInputData.CurbMassChassis.ToXMLFormat(0)) : null,
+                _vehicleInputData.GrossVehicleMassRating != null
+                    ? new XElement(v210 + XMLNames.TPMLM, _vehicleInputData.GrossVehicleMassRating.ToXMLFormat(0)) : null,
+                _vehicleInputData.RegisteredClass != null
+                    ? new XElement(v210 + XMLNames.Vehicle_RegisteredClass, _vehicleInputData.RegisteredClass.ToXMLFormat()) : null,
+                CompletedBusPassengerCountWriter_V2_10_2.GetGroupElements(_vehicleInputData, v210),
+                _vehicleInputData.VehicleCode != null
+                    ? new XElement(v210 + XMLNames.Vehicle_BodyworkCode, _vehicleInputData.VehicleCode.ToXMLFormat()) : null,
+                _vehicleInputData.LowEntry != null
+                    ? new XElement(v210 + XMLNames.Bus_LowEntry, _vehicleInputData.LowEntry) : null,
+                _vehicleInputData.Height != null
+                    ? new XElement(v210 + XMLNames.Bus_HeightIntegratedBody, _vehicleInputData.Height.ConvertToMilliMeter().ToXMLFormat(0)) : null
+
 			);
 		}
 	}
@@ -228,15 +218,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 					GetVehicleElement(vehicleId),
 					GetApplicationInformation()));
 
-			//TODO:REMOVE
-			try {
-				var vehicleElement = GetVehicleElement(vehicleId);
-				Debug.WriteLine(vehicleElement.ToString());
-#pragma warning disable 168
-			} catch (Exception e) {
-#pragma warning restore 168
-				//
-			}
+			
 			var sigXElement = GetSignatureElement(stage);
 			stage.LastNode.Parent.Add(sigXElement);
 			return stage;
@@ -285,7 +267,12 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
                 _vehicleInputData.LowEntry != null
                     ? new XElement(v210 + XMLNames.Bus_LowEntry, _vehicleInputData.LowEntry)
                     : null,
-                CompletedBusDimensionsWriter_V2_10_2.GetGroupElements(_vehicleInputData, v210),
+				CompletedBusDimensionsWriter_V2_10_2.GetGroupElements(_vehicleInputData, v210),
+
+				_vehicleInputData.DoorDriveTechnology != null
+					? new XElement(v210 + XMLNames.BusAux_PneumaticSystem_DoorDriveTechnology, _vehicleInputData.DoorDriveTechnology.ToXMLFormat())
+					: null,
+                
 				new XElement(v210 + XMLNames.Bus_VehicleDeclarationType, _vehicleInputData.VehicleDeclarationType.GetLabel()),
 				GetADAS(_vehicleInputData.ADAS),
 				GetBusVehicleComponents(_vehicleInputData.Components)
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs
index 42baf75f54dce3ae80831fc19565c555d4f29ef2..17fc8e93280cc2741ae97eebdbf7770a24f543de 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs
@@ -57,20 +57,21 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 		{
 			var retVal = new XDocument();
 			retVal.Add(
-				new XElement(XMLNames.VectoOutputMultistage,
+				new XElement(tns + XMLNames.VectoOutputMultistage,
 					new XAttribute(XNamespace.Xmlns + "di", di),
 					new XAttribute(XNamespace.Xmlns + "xsi", xsi.NamespaceName),
 					new XAttribute(XNamespace.Xmlns + "vif0.1", tns),
 					new XAttribute(XNamespace.Xmlns + "v2.0", v20),
 					new XAttribute(XNamespace.Xmlns + "v2.1", v21),
 					new XAttribute(XNamespace.Xmlns + "v2.3", v23),
-					new XAttribute(XNamespace.Xmlns + "v2.8", v210),
+					new XAttribute(XNamespace.Xmlns + "v2.10.2", v210),
 					new XAttribute(xsi + "schemaLocation", $"{tns.NamespaceName} "+ @"V:\VectoCore\VectoCore\Resources\XSD/VectoOutputMultistage.0.1.xsd"),
 					new XAttribute("xmlns", tns),
 
 					GeneratePrimaryVehicle(resultSignature))
 				);
 			
+			Debug.WriteLine(retVal.ToString());
 			Report = retVal;
 		}
 		
@@ -80,10 +81,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 			results.AddFirst(new XElement(tns + XMLNames.Report_Result_Status, _allSuccess ? "success" : "error"));
 			var vehicleId = $"{VectoComponents.Vehicle.HashIdPrefix()}{GetGUID()}";
 
-			var primaryVehicle = new XElement( tns + XMLNames.Bus_PrimaryVehicle,
+			var primaryVehicle = new XElement(tns + XMLNames.Bus_PrimaryVehicle,
 				new XElement(tns + XMLNames.Report_DataWrap,
 					new XAttribute(XMLNames.Component_ID_Attr, vehicleId),
 					new XAttribute(xsi + "type", "PrimaryVehicleDataType"),
+					new XAttribute("xmlns", tns),
 					VehiclePart,
 					InputDataIntegrity,
 					new XElement(tns + "ManufacturerRecordSignature", resultSignature),
@@ -162,10 +164,10 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 			//const string adasPrefix = "adas";
 			return new XElement(
 				tns + XMLNames.Vehicle_ADAS,
-				new XAttribute("xmlns", ns),
 				new XAttribute(
 					xsi + "type",
 					$"{adasData.InputData.XMLSource.SchemaInfo.SchemaType.QualifiedName.Name}"),
+				new XAttribute("xmlns", ns),
 				XElement.Parse(adasData.InputData.XMLSource.OuterXml).Elements()
 			);
 		}
@@ -182,9 +184,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 			//const string adasPrefix = "tcl";
 			return new XElement(
 				tns + XMLNames.Vehicle_TorqueLimits,
-				new XAttribute("xmlns", ns.NamespaceName),
 				new XAttribute(
 					xsi + "type", $"{tcLimits.SchemaInfo.SchemaType.QualifiedName.Name}"),
+				new XAttribute("xmlns", ns.NamespaceName),
 				XElement.Parse(tcLimits.OuterXml).Elements()
 			);
 		}
diff --git a/VectoCore/VectoCore/Utils/XMLValidator.cs b/VectoCore/VectoCore/Utils/XMLValidator.cs
index e477b6710b975e434f4599ea60b54ae0b4879c5f..d894b521f2e9d458b2004a441ef032e976b8197e 100644
--- a/VectoCore/VectoCore/Utils/XMLValidator.cs
+++ b/VectoCore/VectoCore/Utils/XMLValidator.cs
@@ -82,7 +82,8 @@ namespace TUGraz.VectoCore.Utils
 			
 			_doc.Validate(ValidationCallBack);
 
-			if (_doc.SchemaInfo.Validity != XmlSchemaValidity.Valid || _doc.DocumentElement?.SchemaInfo == null ||
+			if (_doc.SchemaInfo.Validity != XmlSchemaValidity.Valid || 
+				_doc.DocumentElement?.SchemaInfo == null ||
 				_doc.DocumentElement.SchemaInfo.SchemaType == null) {
 				ValidationCallBack(null, null);
 				_valid = false;