diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs
index 7e10b565da9a84c9d9fb1803bd14d5cd3f93e7cc..336500a52fff677cda6b37d95b72317395529050 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs
@@ -113,50 +113,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
 
 	}
 
-	public class XMLDeclarationInputDataProviderMultistageV01 : AbstractXMLResource, IXMLMultistageBusInputDataProvider
-	{
-		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1;
-
-		public const string XSD_TYPE = "VectoOutputMultistageType";
-
-		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
-
-		protected IDeclarationMultistageJobInputData JobData;
-		
-
-		public XMLDeclarationInputDataProviderMultistageV01(XmlDocument xmlDoc, string fileName) : base(xmlDoc.DocumentElement, fileName)
-		{
-
-		}
-
-		protected override XNamespace SchemaNamespace
-		{
-			get { return NAMESPACE_URI; }
-		}
-		protected override DataSourceType SourceType { get; }
-		
-		public IDeclarationMultistageJobInputData JobInputData
-		{
-			get { return JobData ?? (JobData = Reader.JobData); }
-		}
-
-
-		IDeclarationJobInputData IDeclarationInputDataProvider.JobInputData
-		{
-			get
-			{
-				throw new NotImplementedException();
-			}
-		}
-
-		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicleData { get; }
-		public XElement XMLHash { get; }
-
-		public IXMLDeclarationMultistageVehicleBusInputDataReader Reader { protected get; set; }
-
-	}
-
-
 	// ---------------------------------------------------------------------------------------
 
 	public class XMLPrimaryVehicleBusInputDataV01 : AbstractXMLResource, IXMLPrimaryVehicleBusInputData
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs
index 2588274f614f2402fb21154e8bbd7876ef38084d..1a7a2239700f4f6763e90d695ed94d617436c3df 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
-using System.Xml;
+using System.Xml;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCore.InputData.FileIO.XML.Common;
@@ -141,36 +140,4 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 		public IXMLJobDataReader Reader { protected get; set; }
 		public IXMLPrimaryVehicleBusInputData InputData { get; }
 	}
-
-	public class XMLDeclarationMultistageJobInputDataV01 : AbstractXMLResource, IXMLDeclarationMultistageJobInputData
-	{
-		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1;
-
-		public const string XSD_TYPE = "VectoOutputMultistageType";
-
-		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
-		private IPrimaryVehicleInformationInputDataProvider _primaryVehicle;
-		private IList<IManufacturingStageInputData> _manufacturingStages;
-
-
-		public XMLDeclarationMultistageJobInputDataV01(XmlNode node, IXMLMultistageBusInputDataProvider inputProvider, string fileName) : base(node, fileName)
-		{
-			InputData = inputProvider;
-		}
-
-		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicle
-		{
-			get { return _primaryVehicle ?? (_primaryVehicle = Reader.PrimaryVehicle); }
-		}
-
-		public IList<IManufacturingStageInputData> ManufacturingStages
-		{
-			get { return _manufacturingStages ?? (_manufacturingStages = Reader.ManufacturingStages); }
-		}
-
-		public IXMLMultistageJobReader Reader { get; set; }
-		public IXMLMultistageBusInputDataProvider InputData { get; }
-		protected override XNamespace SchemaNamespace { get; }
-		protected override DataSourceType SourceType { get; }
-	}
 }
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationMultistageInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationMultistageInputData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..149767eb7ffa7cab34059a706615c4c0d6cea873
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationMultistageInputData.cs
@@ -0,0 +1,85 @@
+using System;
+using System.Collections.Generic;
+using System.Xml;
+using System.Xml.Linq;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCore.InputData.FileIO.XML.Common;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
+{
+	public class XMLDeclarationInputDataProviderMultistageV01 : AbstractXMLResource, IXMLMultistageInputDataProvider
+	{
+		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1;
+
+		public const string XSD_TYPE = "VectoOutputMultistageType";
+
+		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
+
+		protected IDeclarationMultistageJobInputData JobData;
+
+
+		public XMLDeclarationInputDataProviderMultistageV01(XmlDocument xmlDoc, string fileName) : base(xmlDoc.DocumentElement, fileName)
+		{
+
+		}
+
+		protected override XNamespace SchemaNamespace {
+			get { return NAMESPACE_URI; }
+		}
+		protected override DataSourceType SourceType { get; }
+
+		public IDeclarationMultistageJobInputData JobInputData {
+			get { return JobData ?? (JobData = Reader.JobData); }
+		}
+
+
+		IDeclarationJobInputData IDeclarationInputDataProvider.JobInputData {
+			get {
+				throw new NotImplementedException();
+			}
+		}
+
+		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicleData { get; }
+		public XElement XMLHash { get; }
+
+		public IXMLDeclarationMultistageVehicleInputDataReader Reader { protected get; set; }
+
+	}
+
+	// ---------------------------------------------------------------------------------------
+
+
+	public class XMLDeclarationMultistageJobInputDataV01 : AbstractXMLResource, IXMLDeclarationMultistageJobInputData
+	{
+		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1;
+
+		public const string XSD_TYPE = "VectoOutputMultistageType";
+
+		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
+		private IPrimaryVehicleInformationInputDataProvider _primaryVehicle;
+		private IList<IManufacturingStageInputData> _manufacturingStages;
+
+
+		public XMLDeclarationMultistageJobInputDataV01(XmlNode node, IXMLMultistageInputDataProvider inputProvider, string fileName) : base(node, fileName)
+		{
+			InputData = inputProvider;
+		}
+
+		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicle
+		{
+			get { return _primaryVehicle ?? (_primaryVehicle = Reader.PrimaryVehicle); }
+		}
+
+		public IList<IManufacturingStageInputData> ManufacturingStages
+		{
+			get { return _manufacturingStages ?? (_manufacturingStages = Reader.ManufacturingStages); }
+		}
+
+		public IXMLMultistageJobReader Reader { get; set; }
+		public IXMLMultistageInputDataProvider InputData { get; }
+		protected override XNamespace SchemaNamespace { get; }
+		protected override DataSourceType SourceType { get; }
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
index b7f001da653638df9f9e45cae37c829172d85807..5983e72dfdb8183304b00c0649f88c958685f790 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
@@ -19,14 +19,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory
 
 		IXMLPrimaryVehicleBusInputData CreatePrimaryVehicleBusInputProvider(string version, XmlDocument xmlDoc, string fileName);
 
-		IXMLMultistageBusInputDataProvider CreateMultistageInputProvider(string version, XmlDocument xmlDoc,
+		IXMLMultistageInputDataProvider CreateMultistageInputProvider(string version, XmlDocument xmlDoc,
 			string fileName);
 
 		IXMLDeclarationJobInputData CreateJobData(
 			string version, XmlNode node, IXMLDeclarationInputData inputProvider, string fileName);
 
         IXMLDeclarationMultistageJobInputData CreateMultiStageJobData(
-            string version, XmlNode node, IXMLMultistageBusInputDataProvider inputProvider, string fileName);
+            string version, XmlNode node, IXMLMultistageInputDataProvider inputProvider, string fileName);
 
         IXMLPrimaryVehicleBusJobInputData CreatePrimaryVehicleJobData(
 			string version, XmlNode node, IXMLPrimaryVehicleBusInputData inputProvider, string fileName);
@@ -96,8 +96,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory
 		IXMLDeclarationPrimaryVehicleBusInputDataReader CreatePrimaryVehicleBusInputReader(
 			string version, IXMLPrimaryVehicleBusInputData inputData, XmlNode baseNode);
 
-		IXMLDeclarationMultistageVehicleBusInputDataReader CreateMultistageInputReader(string version,
-			IXMLMultistageBusInputDataProvider inputData, XmlNode baseNode);
+		IXMLDeclarationMultistageVehicleInputDataReader CreateMultistageInputReader(string version,
+			IXMLMultistageInputDataProvider inputData, XmlNode baseNode);
 
 
 		IXMLJobDataReader CreateJobReader(
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/IXMLDeclarationInputDataReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/IXMLDeclarationInputDataReader.cs
index 756cda139e16929a7475566d13e2191a4d8aa97a..3d5fb12f53328d96587def679a755fe0f953acb5 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/IXMLDeclarationInputDataReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/IXMLDeclarationInputDataReader.cs
@@ -18,7 +18,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration
 		IApplicationInformation ApplicationInformation { get; }
 	}
 
-	public interface IXMLDeclarationMultistageVehicleBusInputDataReader
+	public interface IXMLDeclarationMultistageVehicleInputDataReader
 	{
 		IDeclarationMultistageJobInputData JobData { get; }
 	}
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationInputData.cs
index eea01a8989008df4f745dc9ad9d43ce390446b2a..9ec3957b67d6c395610146497d1fdca9a938c36a 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationInputData.cs
@@ -20,9 +20,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces
 		XmlNode ApplicationInformationNode { get; }
 	}
 
-	public interface IXMLMultistageBusInputDataProvider : IMultistageBusInputDataProvider, IXMLResource
+	public interface IXMLMultistageInputDataProvider : IMultistageBusInputDataProvider, IXMLResource
 	{
-		IXMLDeclarationMultistageVehicleBusInputDataReader Reader { set; }
+		IXMLDeclarationMultistageVehicleInputDataReader Reader { set; }
 
 		
 	}
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationJobInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationJobInputData.cs
index d7dcc808a94f77ac2b207afc8ffe0ab06f5032f0..35a4b98873a94fc3abbde50feec85797f9e63e11 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationJobInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationJobInputData.cs
@@ -14,7 +14,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces
 	{
 		IXMLMultistageJobReader Reader { set; }
 
-		IXMLMultistageBusInputDataProvider InputData { get; }
+		IXMLMultistageInputDataProvider InputData { get; }
 	}
 
 	public interface IXMLPrimaryVehicleBusJobInputData : IDeclarationJobInputData, IXMLResource
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataMultistageV01InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataMultistageV01InjectModule.cs
index 11746ab487691f2eb47ea8d71780b2303bf99de3..218144ded18f36d89f555abfe4d6c04525126d3c 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataMultistageV01InjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataMultistageV01InjectModule.cs
@@ -9,14 +9,16 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules
 	{
 		public override void Load()
 		{
-			Bind<IXMLMultistageBusInputDataProvider>().To<XMLDeclarationInputDataProviderMultistageV01>()
+			Bind<IXMLMultistageInputDataProvider>().To<XMLDeclarationInputDataProviderMultistageV01>()
 				.Named(XMLDeclarationInputDataProviderMultistageV01.QUALIFIED_XSD_TYPE);
 
             Bind<IXMLDeclarationMultistageJobInputData>().To<XMLDeclarationMultistageJobInputDataV01>()
                 .Named(XMLDeclarationMultistageJobInputDataV01.QUALIFIED_XSD_TYPE);
 
-			Bind<IXMLDeclarationMultistageVehicleBusInputDataReader>().To<XMLDeclarationInputReaderMultistageV01>()
-				.Named(XMLDeclarationInputReaderMultistageV01.QUALIFIED_XSD_TYPE);
+			// -----------------------------------
+
+			Bind<IXMLDeclarationMultistageVehicleInputDataReader>().To<XMLDeclarationMultistageInputReaderV01>()
+				.Named(XMLDeclarationMultistageInputReaderV01.QUALIFIED_XSD_TYPE);
 
 
 			Bind<IXMLMultistageJobReader>().To<XMLMultistageJobReaderV01>()
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs
index fdc3ebfec300356acd2109e6ca8119e6024d8bde..0fd34e5e0144e3f5898a0e3cd035fe43e4b4f23e 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs
@@ -65,78 +65,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
 			: base(inputData, baseNode) { }
 	}
 
-	// ---------------------------------------------------------------------------------------
-	
-	public class XMLDeclarationInputReaderMultistageV01 : AbstractComponentReader, IXMLDeclarationMultistageVehicleBusInputDataReader
-	{
-
-		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1;
-
-		public const string XSD_TYPE = "VectoOutputMultistageType";
-
-		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
-
-		[Inject]
-		public IDeclarationInjectFactory Factory { protected get; set; }
-
-		protected IDeclarationMultistageJobInputData _jobData;
-
-		protected IXMLMultistageBusInputDataProvider InputData;
-
-		protected XmlNode JobNode;
-
-		public XMLDeclarationInputReaderMultistageV01(IXMLMultistageBusInputDataProvider inputData, XmlNode baseNode)
-			: base(inputData, baseNode)
-		{
-			JobNode = baseNode;
-			InputData = inputData;
-		}
-
-		public IDeclarationMultistageJobInputData JobData
-		{
-			get { return _jobData ?? (_jobData = CreateComponent(XMLNames.VectoOutputMultistage, JobCreator)); }
-		}
-
-		protected virtual IDeclarationMultistageJobInputData JobCreator(string version, XmlNode node, string arg3)
-		{
-			var job = Factory.CreateMultiStageJobData(version, BaseNode, InputData,"foo"); //(InputData as IXMLResource).DataSource.SourceFile);
-            job.Reader = Factory.CreateMultistageJobReader(version, job, JobNode);
-            return job;
-
-		}
-	}
-
-	// ---------------------------------------------------------------------------------------
-
-	public class XMLMultistageJobReaderV01 : AbstractComponentReader, IXMLMultistageJobReader
-	{
-		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1;
-
-		public const string XSD_TYPE = "VectoOutputMultistageType";
-
-		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
-
-		protected IXMLDeclarationMultistageJobInputData InputData;
-
-		public XMLMultistageJobReaderV01(IXMLDeclarationMultistageJobInputData inputData, XmlNode baseNode) : base(
-			inputData, baseNode)
-		{
-			InputData = inputData;
-		}
-
-		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicle
-		{
-			get { return null; }
-		}
-		public IList<IManufacturingStageInputData> ManufacturingStages
-		{
-			get
-			{
-				//InputData.ManufacturingStages.Select(x => CreateComponent(x, ManufacturingStageCreator)).ToList();
-				return null;
-			}
-		}
-	}
 
 	// ---------------------------------------------------------------------------------------
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs
new file mode 100644
index 0000000000000000000000000000000000000000..08aaea621ad721a0e475ee91c4442bb6332ec9a7
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs
@@ -0,0 +1,80 @@
+using System.Collections.Generic;
+using System.Xml;
+using System.Xml.Linq;
+using Ninject;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Resources;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
+{
+	public class XMLDeclarationMultistageInputReaderV01 : AbstractComponentReader, IXMLDeclarationMultistageVehicleInputDataReader
+	{
+
+		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1;
+
+		public const string XSD_TYPE = "VectoOutputMultistageType";
+
+		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
+
+		[Inject]
+		public IDeclarationInjectFactory Factory { protected get; set; }
+
+		protected IDeclarationMultistageJobInputData _jobData;
+
+		protected IXMLMultistageInputDataProvider InputData;
+
+		protected XmlNode JobNode;
+
+		public XMLDeclarationMultistageInputReaderV01(IXMLMultistageInputDataProvider inputData, XmlNode baseNode)
+			: base(inputData, baseNode)
+		{
+			JobNode = baseNode;
+			InputData = inputData;
+		}
+
+		public IDeclarationMultistageJobInputData JobData
+		{
+			get { return _jobData ?? (_jobData = CreateComponent(XMLNames.VectoOutputMultistage, JobCreator)); }
+		}
+
+		protected virtual IDeclarationMultistageJobInputData JobCreator(string version, XmlNode node, string arg3)
+		{
+			var job = Factory.CreateMultiStageJobData(version, BaseNode, InputData,"foo"); //(InputData as IXMLResource).DataSource.SourceFile);
+			job.Reader = Factory.CreateMultistageJobReader(version, job, JobNode);
+			return job;
+
+		}
+	}
+
+	// ---------------------------------------------------------------------------------------
+
+	public class XMLMultistageJobReaderV01 : AbstractComponentReader, IXMLMultistageJobReader
+	{
+		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1;
+
+		public const string XSD_TYPE = "VectoOutputMultistageType";
+
+		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
+
+		protected IXMLDeclarationMultistageJobInputData InputData;
+
+		public XMLMultistageJobReaderV01(IXMLDeclarationMultistageJobInputData inputData, XmlNode baseNode) : base(
+			inputData, baseNode)
+		{
+			InputData = inputData;
+		}
+
+		public IPrimaryVehicleInformationInputDataProvider PrimaryVehicle {
+			get { return null; }
+		}
+		public IList<IManufacturingStageInputData> ManufacturingStages {
+			get {
+				//InputData.ManufacturingStages.Select(x => CreateComponent(x, ManufacturingStageCreator)).ToList();
+				return null;
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index 671c7f1f4fd46f34a4399f050b0319632b5a0b7b..491aedc93508a666d83a6b2beb05b99fd91cd7ff 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -152,6 +152,7 @@
     <Compile Include="InputData\FileIO\XML\Common\AbstractXMLResource.cs" />
     <Compile Include="InputData\FileIO\XML\Common\AbstractXMLType.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\DataProvider\XMLAuxiliaryDeclarationDataProvider.cs" />
+    <Compile Include="InputData\FileIO\XML\Declaration\DataProvider\XMLDeclarationMultistageInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\DataProvider\XMLDeclarationPrimaryVehicleBusApplicationInformationDataProviderV01.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\DataProvider\XMLDeclarationBusAuxiliariesDataProvider.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\DataProvider\XMLDeclarationADASDataProvider.cs" />
@@ -200,6 +201,7 @@
     <Compile Include="InputData\FileIO\XML\Declaration\Reader\Impl\AbstractComponentReader.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Reader\Impl\XMLADASReader.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Reader\Impl\XMLComponentReader.cs" />
+    <Compile Include="InputData\FileIO\XML\Declaration\Reader\Impl\XMLDeclarationMultistageInputReader.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Reader\Impl\XMLPTOReader.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Reader\IXMLADASReader.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Reader\IXMLComponentReader.cs" />
diff --git a/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs b/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs
index e5c5c8842514c9c9cf68a99ab64c2be140088a32..9e20550d2a78f6642e193dd037f50038d8ae104d 100644
--- a/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs
+++ b/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs
@@ -31,7 +31,7 @@ namespace TUGraz.VectoCore.Tests.XML
 
 
 		[TestCase]
-		public void TestVehicleMultistageBustInput()
+		public void TestVehicleMultistageBusInput()
 		{
 			var reader = XmlReader.Create(VIF);
 			var inputDataProvider = xmlInputReader.Create(reader) as IMultistageBusInputDataProvider;