diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
index e7afc73ea507e00b59b2a3ebcf37fa8d53ed7aff..95bc41296ff73b464feb7895f9543c6014a750f5 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
@@ -1,4 +1,10 @@
-/*
+#if CERTIFICATION_RELEASE || RELEASE_CANDIDATE
+#define PROHIBIT_OLD_XML
+#endif
+
+//#define PROHIBIT_OLD_XML
+
+/*
 * This file is part of VECTO.
 *
 * Copyright © 2012-2019 European Union
@@ -35,6 +41,7 @@ using System.Linq;
 using System.Xml;
 using System.Xml.Linq;
 using TUGraz.VectoCommon.BusAuxiliaries;
+using TUGraz.VectoCommon.Exceptions;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Resources;
@@ -45,6 +52,7 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader;
 using TUGraz.VectoCore.InputData.Impl;
 using TUGraz.VectoCore.Utils;
 
+
 namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 {
 	public class XMLDeclarationVehicleDataProviderV10 : AbstractCommonComponentType, IXMLDeclarationVehicleData
@@ -67,10 +75,21 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 		{
 			Job = jobData;
 			SourceType = DataSourceType.XMLEmbedded;
+
+#if PROHIBIT_OLD_XML
+			throw new VectoException("XML Jobs in version 1.0 are no longer supported!");
+#endif
+        }
+
+        protected XMLDeclarationVehicleDataProviderV10(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile, bool dummy)
+			: base(xmlNode, sourceFile)
+		{
+			Job = jobData;
+			SourceType = DataSourceType.XMLEmbedded;
 		}
 
 
-		public virtual XmlElement ComponentNode
+        public virtual XmlElement ComponentNode
 		{
 			get {
 				if (ExemptedVehicle) {
@@ -268,10 +287,20 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 		public new static readonly string QUALIFIED_XSD_TYPE =
 			XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
 
-		public XMLDeclarationVehicleDataProviderV20(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) :
-			base(jobData, xmlNode, sourceFile) { }
+		public XMLDeclarationVehicleDataProviderV20(IXMLDeclarationJobInputData jobData, XmlNode xmlNode,
+			string sourceFile) :
+			base(jobData, xmlNode, sourceFile, false)
+		{
+#if PROHIBIT_OLD_XML
+			throw new VectoException("XML Jobs in version 2.0 are no longer supported!");
+#endif
+        }
+
+        protected XMLDeclarationVehicleDataProviderV20(IXMLDeclarationJobInputData jobData, XmlNode xmlNode,
+			string sourceFile, bool dummy) :
+			base(jobData, xmlNode, sourceFile, dummy) {}
 
-		protected override XNamespace SchemaNamespace => NAMESPACE_URI;
+        protected override XNamespace SchemaNamespace => NAMESPACE_URI;
 
 		public override bool VocationalVehicle => false;
 
@@ -324,14 +353,20 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 			XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
 
 
-		public XMLDeclarationVehicleDataProviderV21(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) :
-			base(jobData, xmlNode, sourceFile) { }
+		public XMLDeclarationVehicleDataProviderV21(IXMLDeclarationJobInputData jobData, XmlNode xmlNode,
+			string sourceFile) :
+			base(jobData, xmlNode, sourceFile, false)
+		{
+#if PROHIBIT_OLD_XML
+			throw new VectoException("XML Jobs in version 2.1 are no longer supported!");
+#endif
+        }
 
 		#region Overrides of XMLDeclarationVehicleDataProviderV10
 
 		#endregion
 
-		public override VehicleCategory VehicleCategory
+        public override VehicleCategory VehicleCategory
 		{
 			get {
 				var val = GetString(XMLNames.Vehicle_VehicleCategory);
@@ -363,11 +398,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 			IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile)
 		{
 			SourceType = DataSourceType.XMLEmbedded;
-		}
+#if PROHIBIT_OLD_XML
+			throw new VectoException("XML Jobs in version 2.2 are no longer supported!");
+#endif
+        }
 
 		#region Overrides of AbstractXMLResource
 
-		protected override XNamespace SchemaNamespace => NAMESPACE_URI;
+        protected override XNamespace SchemaNamespace => NAMESPACE_URI;
 
 		protected override DataSourceType SourceType { get; }
 
@@ -440,9 +478,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 			IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode,
 			sourceFile)
 		{
-		}
+#if PROHIBIT_OLD_XML
+			throw new VectoException("XML Jobs in version 2.2.1 are no longer supported!");
+#endif
+        }
 
-		public override bool? SleeperCab => ElementExists(XMLNames.Vehicle_SleeperCab) ? XmlConvert.ToBoolean(GetString(XMLNames.Vehicle_SleeperCab)) : (bool?)null;
+        public override bool? SleeperCab => ElementExists(XMLNames.Vehicle_SleeperCab) ? XmlConvert.ToBoolean(GetString(XMLNames.Vehicle_SleeperCab)) : (bool?)null;
 
 		public override AxleConfiguration AxleConfiguration =>
 			ElementExists(XMLNames.Vehicle_AxleConfiguration)
@@ -762,7 +803,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 		protected IAdvancedDriverAssistantSystemDeclarationInputData _adas;
 
 		protected AbstractXMLVehicleDataProviderV24(IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) 
-			: base(jobData, xmlNode, sourceFile) { }
+			: base(jobData, xmlNode, sourceFile, false) { }
 		
 
 		#region Overrides of XMLDeclarationVehicleDataProviderV10
diff --git a/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs b/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs
index 93d91ab992d7e6ff2cefebb0c7cfc1bf5b3b7c1f..eb847d5245c62c3fe8a3035c2e016b02749917f5 100644
--- a/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs
+++ b/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs
@@ -59,11 +59,11 @@ namespace TUGraz.VectoCore.Models.Simulation
             //Bind<IDeclarationCycleFactory>().To<DeclarationCycleFromFilesystemFactory>().InSingletonScope();
 			Bind<IMissionFilter>().To<DefaultMissionFilter>();
 
-            //Bind<IDeclarationCycleFactory>().To<DeclarationCycleFactory>().InSingletonScope();
+			Bind<IDeclarationCycleFactory>().To<DeclarationCycleFactory>().InSingletonScope();
 			//Bind<IMissionFilter>().ToMethod((context => null));
 
 
-            Bind<IDeclarationReport>().To<NullDeclarationReport>();
+			Bind<IDeclarationReport>().To<NullDeclarationReport>();
 			Bind<IVTPReport>().To<NullVTPReport>();
 
 		}
diff --git a/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs b/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs
index 9cd93738dabe9d233ef26d0ade1a0b11fb7d6d3d..2ba63b1707a7ce5519ceaedc61207a81cbe8fa3e 100644
--- a/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs
+++ b/VectoCore/VectoCore/Utils/Ninject/UseFirstArgumentAsInstanceProvider.cs
@@ -61,7 +61,7 @@ namespace TUGraz.VectoCore.Utils.Ninject
 			try {
 				return base.GetInstance(instanceResolver, methodInfo, arguments);
 			} catch (Exception e) {
-				throw new VectoException("failed to create instance for '{1}' via '{0}' version '{2}'", e, methodInfo.Name, methodInfo.ReturnType.Name, arguments[0]);
+				throw new VectoException("failed to create instance for '{1}' via '{0}' version '{2}' \n{3}", e, methodInfo.Name, methodInfo.ReturnType.Name, arguments[0], e.InnerException?.Message ?? "");
 				//throw e;
 			}
 		}