diff --git a/VectoCore/VectoCore/Models/Simulation/ISimulatorFactoryFactory.cs b/VectoCore/VectoCore/Models/Simulation/ISimulatorFactoryFactory.cs
index 50ae3f960f513050dfe7b4611240cb0f67ae1104..b4dbdd2b4cb617e928bf54284410f08b23e7b4a7 100644
--- a/VectoCore/VectoCore/Models/Simulation/ISimulatorFactoryFactory.cs
+++ b/VectoCore/VectoCore/Models/Simulation/ISimulatorFactoryFactory.cs
@@ -39,13 +39,14 @@ namespace TUGraz.VectoCore.Models.Simulation
 	{
 		ISimulatorFactory Factory(
 			ExecutionMode mode, IInputDataProvider dataProvider,
-			IOutputDataWriter writer);
+			IOutputDataWriter writer, bool validate = true);
 
 		ISimulatorFactory Factory(ExecutionMode mode, 
 			IInputDataProvider dataProvider,
 			IOutputDataWriter writer,
-			IDeclarationReport declarationReport = null,
-			IVTPReport vtpReport = null,
-			bool validate = true);
+			IDeclarationReport declarationReport,
+			IVTPReport vtpReport,
+			bool validate = true
+			);
 	}
 }
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs
index ef7444711877001fc6ee17bb7f367e7dca599125..8733715099fbd1371d573936ca03c34ddb0d216e 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactory.cs
@@ -71,8 +71,18 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory
 
 		public ISimulatorFactory FollowUpSimulatorFactory
 		{
-			get => CreateFollowUpSimulatorFactory ? _followingSimulatorFactoryCreator?.Invoke() : null;
+			get
+			{
+				if (!CreateFollowUpSimulatorFactory)
+					return null;
+
+
+				Log.Info("Starting next Simulation Step\n");
+				return _followingSimulatorFactoryCreator?.Invoke();
+
+			}
 		}
+
 		public bool CreateFollowUpSimulatorFactory { get; set; } = false;
 		protected readonly ExecutionMode _mode;
 
diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactoryDeclaration.cs b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactoryDeclaration.cs
index 56ad894eacbefb737a1b96523fe16cb06360bee1..cbc96b733c139f4b90cdd476be07b7d2e7019110 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactoryDeclaration.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/SimulatorFactory/SimulatorFactoryDeclaration.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Configuration;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -28,9 +29,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory
 			IOutputDataWriter writer,
 			IDeclarationReport declarationReport, 
 			IVTPReport vtpReport,
+			bool validate,
 			IXMLInputDataReader xmlInputDataReader,
-			ISimulatorFactoryFactory simulatorFactoryFactory,
-			bool validate) : base(ExecutionMode.Declaration, writer, validate)
+			ISimulatorFactoryFactory simulatorFactoryFactory
+			) : base(ExecutionMode.Declaration, writer, validate)
 		{
 			_xmlInputDataReader = xmlInputDataReader;
 			_simFactoryFactory = simulatorFactoryFactory;
@@ -38,7 +40,20 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory
 			if (_simulate) {
 				CreateDeclarationDataReader(dataProvider, declarationReport, vtpReport);
 			}
-		
+		}
+
+		public SimulatorFactoryDeclaration(IInputDataProvider dataProvider,
+			IOutputDataWriter writer, IXMLInputDataReader xmlInputDataReader,
+			ISimulatorFactoryFactory simulatorFactoryFactory, bool validate) : this(
+			dataProvider: dataProvider, 
+			declarationReport: null,
+			writer: writer,
+			vtpReport: null, 
+			validate: true,
+			xmlInputDataReader: xmlInputDataReader, 
+			simulatorFactoryFactory: simulatorFactoryFactory)
+		{
+
 		}
 
 		private bool CanBeSimulated(IInputDataProvider dataProvider)