diff --git a/VECTO/GUI/MainForm.Designer.vb b/VECTO/GUI/MainForm.Designer.vb
index 55d649948fdcd261b9b4a8da6ce35ca1d3c7b7a5..c2574209af51bce6640c5dce1fb644ae2b17d0a1 100644
--- a/VECTO/GUI/MainForm.Designer.vb
+++ b/VECTO/GUI/MainForm.Designer.vb
@@ -43,6 +43,8 @@ Partial Class MainForm
 		Me.ToolStripProgBarOverall = New System.Windows.Forms.ToolStripProgressBar()
 		Me.TabControl1 = New System.Windows.Forms.TabControl()
 		Me.TabPageGEN = New System.Windows.Forms.TabPage()
+		Me.btnImportXML = New System.Windows.Forms.Button()
+		Me.btnExportXML = New System.Windows.Forms.Button()
 		Me.Label6 = New System.Windows.Forms.Label()
 		Me.btStartV3 = New System.Windows.Forms.Button()
 		Me.LbDecl = New System.Windows.Forms.Label()
@@ -112,8 +114,6 @@ Partial Class MainForm
 		Me.OpenInGraphWindowToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
 		Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
 		Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
-		Me.btnExportXML = New System.Windows.Forms.Button()
-		Me.btnImportXML = New System.Windows.Forms.Button()
 		Me.StatusBAR.SuspendLayout()
 		Me.TabControl1.SuspendLayout()
 		Me.TabPageGEN.SuspendLayout()
@@ -205,6 +205,29 @@ Partial Class MainForm
 		Me.TabPageGEN.Text = "Job Files"
 		Me.TabPageGEN.UseVisualStyleBackColor = True
 		'
+		'btnImportXML
+		'
+		Me.btnImportXML.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+		Me.btnImportXML.Location = New System.Drawing.Point(464, 271)
+		Me.btnImportXML.Name = "btnImportXML"
+		Me.btnImportXML.Size = New System.Drawing.Size(104, 23)
+		Me.btnImportXML.TabIndex = 23
+		Me.btnImportXML.Text = "Import from XML"
+		Me.btnImportXML.UseVisualStyleBackColor = True
+		Me.btnImportXML.Visible = False
+		'
+		'btnExportXML
+		'
+		Me.btnExportXML.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+		Me.btnExportXML.Enabled = False
+		Me.btnExportXML.Location = New System.Drawing.Point(343, 272)
+		Me.btnExportXML.Name = "btnExportXML"
+		Me.btnExportXML.Size = New System.Drawing.Size(115, 23)
+		Me.btnExportXML.TabIndex = 22
+		Me.btnExportXML.Text = "Export as XML"
+		Me.btnExportXML.UseVisualStyleBackColor = True
+		Me.btnExportXML.Visible = False
+		'
 		'Label6
 		'
 		Me.Label6.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
@@ -765,27 +788,6 @@ Partial Class MainForm
 		Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(198, 22)
 		Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder"
 		'
-		'btnExportXML
-		'
-		Me.btnExportXML.Enabled = False
-		Me.btnExportXML.Location = New System.Drawing.Point(357, 271)
-		Me.btnExportXML.Name = "btnExportXML"
-		Me.btnExportXML.Size = New System.Drawing.Size(115, 23)
-		Me.btnExportXML.TabIndex = 22
-		Me.btnExportXML.Text = "Export as XML"
-		Me.btnExportXML.UseVisualStyleBackColor = True
-		Me.btnExportXML.Visible = False
-		'
-		'btnImportXML
-		'
-		Me.btnImportXML.Location = New System.Drawing.Point(489, 271)
-		Me.btnImportXML.Name = "btnImportXML"
-		Me.btnImportXML.Size = New System.Drawing.Size(104, 23)
-		Me.btnImportXML.TabIndex = 23
-		Me.btnImportXML.Text = "Import from XML"
-		Me.btnImportXML.UseVisualStyleBackColor = True
-		Me.btnImportXML.Visible = False
-		'
 		'MainForm
 		'
 		Me.AcceptButton = Me.btStartV3
diff --git a/VECTO/GUI/MainForm.resx b/VECTO/GUI/MainForm.resx
index 1ab95c20be0eb1a9777f7aae6720fb67961848f1..851f4024a3ae6d8b88b0c9c9cb15cd69128464c9 100644
--- a/VECTO/GUI/MainForm.resx
+++ b/VECTO/GUI/MainForm.resx
@@ -205,6 +205,9 @@
         sDbhv9/4m+ZgnX1wey9Idfa/Y3WQPgGrg/QJWB2kj96I/gcOkiuMy/nVgwAAAABJRU5ErkJggg==
 </value>
   </data>
+  <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>850, 12</value>
+  </metadata>
   <metadata name="ConMenFilelist.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>219, 14</value>
   </metadata>
@@ -223,6 +226,9 @@
   <metadata name="CmOpenFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>732, 12</value>
   </metadata>
+  <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>850, 12</value>
+  </metadata>
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>49</value>
   </metadata>
diff --git a/VECTO/GUI/MainForm.vb b/VECTO/GUI/MainForm.vb
index 2fa0d71d9cc4044ecc0b67ba13c65ef2a65daab6..5000bfcd0766ae217a076b7893966fa5914d367d 100644
--- a/VECTO/GUI/MainForm.vb
+++ b/VECTO/GUI/MainForm.vb
@@ -47,6 +47,7 @@ Imports TUGraz.VectoCommon.Utils
 Imports TUGraz.VectoCore.OutputData
 Imports TUGraz.VectoCore.OutputData.FileIO
 Imports TUGraz.VectoCore.Utils
+Imports VectoAuxiliaries
 
 ''' <summary>
 ''' Main application form. Loads at application start. Closing form ends application.
@@ -252,7 +253,7 @@ Public Class MainForm
 		'Dim exportPlugins As Dictionary(Of String, String) = PluginRegistry.Instance.GetExportPluginList()
 		Dim exportPlugin As IExportPlugin = PluginRegistry.Instance.GetExportPlugin("TUG.IVT.Vecto.XMLExport")
 		btnExportXML.Visible = Not exportPlugin Is Nothing
-		
+
 
 		Dim importPlugin As IImportPlugin = PluginRegistry.Instance.GetImportPlugin("TUG.IVT.Vecto.XMLImport")
 		btnImportXML.Visible = Not importPlugin Is Nothing
@@ -549,8 +550,13 @@ Public Class MainForm
 
 		x = New String() {""}
 
+		Dim extensions As String = "vecto"
+		Dim inputDataExtensions As String() =
+				PluginRegistry.Instance.GetKnownInputExtensions().Select(Function(e) e.Substring(1)).ToArray()
+		If (inputDataExtensions.Any()) Then extensions = String.Join(",", extensions, String.Join(",", inputDataExtensions))
+
 		'STANDARD/BATCH
-		If JobfileFileBrowser.OpenDialog("", True, "vecto") Then
+		If JobfileFileBrowser.OpenDialog("", True, extensions) Then
 			chck = True
 			x = JobfileFileBrowser.Files
 		End If
@@ -990,23 +996,45 @@ lbFound:
 
 		'list of finished runs
 		Dim finishedRuns As List(Of Integer) = New List(Of Integer)
-
+		Dim plugins As KeyValuePair(Of String, IInputDataPlugin)() = PluginRegistry.Instance.GetInputDataPlugins().ToArray()
 		For Each jobFile As String In JobFileList
 			Try
 				sender.ReportProgress(0,
 									New VectoProgress With {.Target = "ListBox", .Message = "Reading File " + jobFile, .Link = jobFile})
 
-				Dim dataProvider As IInputDataProvider = JSONInputDataFactory.ReadJsonJob(jobFile)
-				Dim fileWriter As FileOutputWriter = New FileOutputWriter(jobFile)
+				If (Path.GetExtension(jobFile) = VectoCore.Configuration.Constants.FileExtensions.VectoJobFile) Then
+					Dim dataProvider As IInputDataProvider = JSONInputDataFactory.ReadJsonJob(jobFile)
+					Dim fileWriter As FileOutputWriter = New FileOutputWriter(jobFile)
 
-				Dim runsFactory As SimulatorFactory = New SimulatorFactory(mode, dataProvider, fileWriter)
-				runsFactory.WriteModalResults = Cfg.ModOut
-				runsFactory.ModalResults1Hz = Cfg.Mod1Hz
-
-				For Each runId As Integer In jobContainer.AddRuns(runsFactory)
-					fileWriters.Add(runId, fileWriter)
-				Next
+					Dim runsFactory As SimulatorFactory = New SimulatorFactory(mode, dataProvider, fileWriter)
+					runsFactory.WriteModalResults = Cfg.ModOut
+					runsFactory.ModalResults1Hz = Cfg.Mod1Hz
 
+					For Each runId As Integer In jobContainer.AddRuns(runsFactory)
+						fileWriters.Add(runId, fileWriter)
+					Next
+				Else
+					Dim handled As Boolean = False
+					For Each entry As KeyValuePair(Of String, IInputDataPlugin) In plugins
+						If Not handled AndAlso entry.Value.CanHandleJob(jobFile) Then
+							Dim dataprovider As IInputDataProvider = entry.Value.ReadVectoJob(jobFile)
+							Dim fileWriter As FileOutputWriter = New FileOutputWriter(jobFile)
+
+							Dim runsFactory As SimulatorFactory = New SimulatorFactory(mode, dataprovider, fileWriter)
+							runsFactory.WriteModalResults = Cfg.ModOut
+							runsFactory.ModalResults1Hz = Cfg.Mod1Hz
+
+							For Each runId As Integer In jobContainer.AddRuns(runsFactory)
+								fileWriters.Add(runId, fileWriter)
+							Next
+							handled = True
+						End If
+					Next
+					If Not handled Then
+						sender.ReportProgress(0,
+											New VectoProgress With {.Target = "ListBoxError", .Message = "No Input Provider for job: " + jobFile})
+					End If
+				End If
 				sender.ReportProgress(0,
 									New VectoProgress With {.Target = "ListBox", .Message = "Finished Reading Data for job: " + jobFile})
 
diff --git a/VECTO/GUI/VehicleForm.Designer.vb b/VECTO/GUI/VehicleForm.Designer.vb
index 51b04da0fb5bdd014a2143978a00490bcd368ac6..eb5daacfc16877c8c494fc1b5340fbf35426602a 100644
--- a/VECTO/GUI/VehicleForm.Designer.vb
+++ b/VECTO/GUI/VehicleForm.Designer.vb
@@ -936,7 +936,7 @@ Partial Class VehicleForm
 		Me.GroupBox2.Size = New System.Drawing.Size(280, 111)
 		Me.GroupBox2.TabIndex = 4
 		Me.GroupBox2.TabStop = False
-		Me.GroupBox2.Text = "Angular Gear"
+		Me.GroupBox2.Text = "Angledrive"
 		'
 		'pnAngledriveFields
 		'
@@ -1034,7 +1034,7 @@ Partial Class VehicleForm
 		Me.Label8.TabIndex = 10
 		Me.Label8.Text = "HDV Class"
 		'
-		'F_VEH
+		'VehicleForm
 		'
 		Me.AcceptButton = Me.ButOK
 		Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -1058,7 +1058,7 @@ Partial Class VehicleForm
 		Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
 		Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
 		Me.MaximizeBox = False
-		Me.Name = "F_VEH"
+		Me.Name = "VehicleForm"
 		Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
 		Me.Text = "F05_VEH"
 		Me.GroupBox6.ResumeLayout(False)
diff --git a/VECTO/MainModule.vb b/VECTO/MainModule.vb
index 71827c1ba0918485a5f5c30d82b20de702fb358e..ed21da1c77d25c47b58c7ed15292bd04b5570470 100644
--- a/VECTO/MainModule.vb
+++ b/VECTO/MainModule.vb
@@ -12,6 +12,7 @@ Imports System.Collections.Generic
 Imports System.IO
 Imports System.Reflection
 Imports System.Runtime.Remoting
+Imports TUGraz.VectoCommon
 Imports TUGraz.VectoCommon.InputData
 Imports TUGraz.VectoCommon.OutputData
 Imports TUGraz.VectoCommon.Utils
@@ -79,7 +80,8 @@ Module MainModule
 
 		Dim exportPluginType As Type = GetType(IExportPlugin)
 		Dim importPluginType As Type = GetType(IImportPlugin)
-		Dim exportPluginTypes As ICollection(Of Type) = New List(Of Type)
+		Dim inputDataPluginType As Type = GetType(IInputDataPlugin)
+
 		For Each assembly As Assembly In assemblies
 			If assembly <> Nothing Then
 				Dim types As Type() = assembly.GetTypes()
@@ -100,14 +102,17 @@ Module MainModule
 								PluginRegistry.Instance.RegisterPlugin(plugin)
 							End If
 						End If
+						If type.GetInterface(inputDataPluginType.FullName) <> Nothing Then
+							Dim plugin As IInputDataPlugin = TryCast(Activator.CreateInstance(type), IInputDataPlugin)
+							If Not plugin Is Nothing Then
+								PluginRegistry.Instance.RegisterPlugin(plugin)
+							End If
+						End If
 					End If
 				Next
 			End If
 		Next
 
 		'End If
-
-
-
 	End Sub
 End Module
diff --git a/VectoConsole/Program.cs b/VectoConsole/Program.cs
index 493c3c14e6c8e03f778807199aaa210930bb8a29..a670734c2801bbbc135b6a5bd090cff19078da95 100644
--- a/VectoConsole/Program.cs
+++ b/VectoConsole/Program.cs
@@ -42,6 +42,7 @@ using NLog.Config;
 using NLog.Targets;
 using TUGraz.VectoAPI.InputData;
 using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
 using TUGraz.VectoCore.Configuration;
 using TUGraz.VectoCore.InputData.FileIO.JSON;
 using TUGraz.VectoCore.Models.Simulation.Impl;
@@ -183,6 +184,7 @@ Examples:
 					return 1;
 				}
 
+				var plugins = PluginRegistry.Instance.GetInputDataPlugins().ToArray();
 				foreach (var file in jobFiles) {
 					Console.WriteLine(@"Reading job: " + file);
 					if (Path.GetExtension(file) == Constants.FileExtensions.VectoJobFile) {
@@ -194,15 +196,20 @@ Examples:
 						};
 
 						_jobContainer.AddRuns(runsFactory);
-					}
-					if (Path.GetExtension(file) == Constants.FileExtensions.VectoXMLDeclarationFile) {
-						var dataProvider = new XMLInputDataProvider(new XmlTextReader(file), true);
-						fileWriter = new FileOutputWriter(file);
-						var runsFactory = new SimulatorFactory(ExecutionMode.Declaration, dataProvider, fileWriter);
-						if (args.Contains("-mod")) {
-							runsFactory.WriteModalResults = true;
+					} else {
+						var handled = false;
+						foreach (var plugin in plugins) {
+							if (!handled && plugin.Value.CanHandleJob(file)) {
+								var dataProvider = plugin.Value.ReadVectoJob(file);
+								fileWriter = new FileOutputWriter(file);
+								var runsFactory = new SimulatorFactory(mode, dataProvider, fileWriter);
+								runsFactory.ModalResults1Hz = args.Contains("-1Hz");
+								runsFactory.WriteModalResults = args.Contains("-mod");
+
+								_jobContainer.AddRuns(runsFactory);
+								handled = true;
+							}
 						}
-						_jobContainer.AddRuns(runsFactory);
 					}
 				}