diff --git a/Documentation/User Manual Source/Release Notes.pdf b/Documentation/User Manual Source/Release Notes Vecto2.2.pdf
similarity index 100%
rename from Documentation/User Manual Source/Release Notes.pdf
rename to Documentation/User Manual Source/Release Notes Vecto2.2.pdf
diff --git a/Documentation/User Manual Source/Release Notes Vecto3.x.pdf b/Documentation/User Manual Source/Release Notes Vecto3.x.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..90a3b3755ff7b31b57fc623786348fadbc5dd5c6
Binary files /dev/null and b/Documentation/User Manual Source/Release Notes Vecto3.x.pdf differ
diff --git a/Documentation/User Manual Source/Release Notes 3.x.pptx b/Documentation/User Manual Source/Release Notes Vecto3.x.pptx
similarity index 82%
rename from Documentation/User Manual Source/Release Notes 3.x.pptx
rename to Documentation/User Manual Source/Release Notes Vecto3.x.pptx
index 1095faddddc14f5f0fb72aa71c88d34d8222c91a..5ad350a6c9e17018dbcce28b507a8bfc3ebc8a74 100644
Binary files a/Documentation/User Manual Source/Release Notes 3.x.pptx and b/Documentation/User Manual Source/Release Notes Vecto3.x.pptx differ
diff --git a/User Manual/3-simulation-models/Engine_WHTC.md b/User Manual/3-simulation-models/Engine_WHTC.md
index 7b8b7858b527d019ab231445162db3335be880aa..84107566fe14d3d6ba82d376bcd5b0c5e08729c1 100644
--- a/User Manual/3-simulation-models/Engine_WHTC.md	
+++ b/User Manual/3-simulation-models/Engine_WHTC.md	
@@ -24,4 +24,9 @@ CF~Tot-i~ = CF~Urb~ * WF~Urb-i~ + CF~Rur~ * WF~Rur-i~ + CF~MW~ * WF~MW-i~
 | 7 	| 	Interurban bus		| 19%	| 36%	| 45% |
 | 8 	| 	Coach				| 78%	| 22%	| 0% |
 
+</div>
+
+<div class="engineering">
+In engineering mode no WHTC correction is applied by Vecto. For an arbitrary cycle the weighting factors are not known, hence the total correction factor CF~Tot~ can not be computed.
+WHTC correction can be applied manually as a post-processing step.
 </div>
\ No newline at end of file
diff --git a/User Manual/help.html b/User Manual/help.html
index 1540c12ad9399bbe7484327329b866a3bfdf296f..f13ea40cb1a226943f1dcc0e2617cb5f822eebe0 100644
--- a/User Manual/help.html	
+++ b/User Manual/help.html	
@@ -1420,6 +1420,9 @@ Example: “Gears\Gear1.vtlm” points to the “Gears” subdirectory of the Ge
 </tbody>
 </table>
 </div>
+<div class="engineering">
+<p>In engineering mode no WHTC correction is applied by Vecto. For an arbitrary cycle the weighting factors are not known, hence the total correction factor CF<sub>Tot</sub> can not be computed. WHTC correction can be applied manually as a post-processing step.</p>
+</div>
 </div>
 <div id="gear-shift-model" class="section level2">
 <h2>Gear Shift Model</h2>
@@ -3485,15 +3488,37 @@ Auxiliary speed [rpm], Mechanical power [kW],Supply power [kW]
 <li>Measured Speed with Gear</li>
 <li>Pwheel (SiCo)</li>
 </ul></li>
-<li>User Manual updated for VECTO V3.x</li>
-<li>ModData Format changed for better information and clarity</li>
-<li>Added validation of input values</li>
-<li>Better Integration of VectoCore into GUI (Notifications and Messages)</li>
-<li>Fixed some driving behavior related bugs in VectoCore:
+<li>Adaptations of powertrain components architecture
+<ul>
+<li>Move wheels inertia from vehicle to wheels</li>
+<li>Auxiliaries no longer connected via clutch to the engine but via a separate port</li>
+<li>Engine checks overload of gearbox and engine overload</li>
+</ul></li>
+<li>Fixed some driving behavior related issues in VectoCore:
 <ul>
 <li>When the vehicle comes to a halt during gear shift, instead of aborting the cycle, it tries to drive away again with an appropriate gear.</li>
 </ul></li>
-<li>For all calculations the averaged values of the current cycle step are used.</li>
+<li><a href="#modal-results-.vmod">ModData Format</a> changed for better information and clarity</li>
+<li>Entries in the sum-file are sorted in the same way as in Vecto 2.2</li>
+<li>In engineering mode the execution mode (distance-based, time-based measured speed, time-based measured speed with gear, engine only) are detected based on the cycle</li>
+<li>Added validation of input values</li>
+<li>Gravity constant set to 9.80665 (NIST standard acceleration for gravity)</li>
+<li>Improved input data handling: sort input values of full-load curves (engine, gbx, retarder)</li>
+<li>Better Integration of VectoCore into GUI (Notifications and Messages)</li>
+<li>Speed dependent cross-wind correction (vcdv) and v_air/beta cross-wind correction (vcdb) impemented</li>
+<li>For all calculations the averaged values of the current simulation step are used for interpolations in loss-maps.</li>
+<li>Allow extrapolation of loss maps in engineering mode (warnings)</li>
+<li>Refactoring of input data handling: separate InputDataProvider interfaces for model data</li>
+<li>Refactoring of result handling: separate result container and output writer</li>
+<li>New Long-Haul driving cycle included</li>
+<li>User Manual updated for VECTO V3.x</li>
+<li>Fix: sparse representation of declaration cycles had some missing entries</li>
+<li>Bugfix: error in computation of engine’s preferred speed</li>
+<li>Bugfix: wrong vehicle class lookup</li>
+<li>Bugfix: duplicate entries in intersected full-load curves</li>
+<li>Bugfix: retarder takes the retarder ratio into account for lossmap lookup</li>
+<li>Bugfix: use unique identifier for jobs in job list</li>
+<li>Bugfix: error in triagulation of fuel consumption map</li>
 </ul>
 <p><strong>VECTO 3.0.1</strong></p>
 <ul>
diff --git a/VECTO/GUI/F_ENG.vb b/VECTO/GUI/F_ENG.vb
index 2292e878cd2dc36c7db25b579f07dfebd90cc485..0c7e1740907442af8cce8a6ed01596eefc10191d 100644
--- a/VECTO/GUI/F_ENG.vb
+++ b/VECTO/GUI/F_ENG.vb
@@ -1,3 +1,4 @@
+Imports System.Web
 Imports System.Xml.Linq
 ' Copyright 2014 European Union.
 ' Licensed under the EUPL (the 'Licence');
@@ -15,323 +16,323 @@ Imports System.Xml.Linq
 ''' </summary>
 ''' <remarks></remarks>
 Public Class F_ENG
+	Private EngFile As String = ""
+	Public AutoSendTo As Boolean = False
+	Public JobDir As String = ""
+	Private Changed As Boolean = False
 
-    Private EngFile As String = ""
-    Public AutoSendTo As Boolean = False
-    Public JobDir As String = ""
-    Private Changed As Boolean = False
 
+	'Before closing Editor: Check if file was changed and ask to save.
+	Private Sub F_ENG_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
+		If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then
+			e.Cancel = ChangeCheckCancel()
+		End If
+	End Sub
 
-    'Before closing Editor: Check if file was changed and ask to save.
-    Private Sub F_ENG_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
-        If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then
-            e.Cancel = ChangeCheckCancel()
-        End If
-    End Sub
-
-    'Initialise.
-    Private Sub F_ENG_Load(sender As Object, e As System.EventArgs) Handles Me.Load
+	'Initialise.
+	Private Sub F_ENG_Load(sender As Object, e As System.EventArgs) Handles Me.Load
 
 		Me.PnInertia.Enabled = Not Cfg.DeclMode
-        Me.GrWHTC.Enabled = Cfg.DeclMode
+		Me.GrWHTC.Enabled = Cfg.DeclMode
 
 
-        Changed = False
-        newENG()
-    End Sub
+		Changed = False
+		newENG()
+	End Sub
 
-    'Set generic values for Declaration mode.
-    Private Sub DeclInit()
+	'Set generic values for Declaration mode.
+	Private Sub DeclInit()
 
-        If Not Cfg.DeclMode Then Exit Sub
+		If Not Cfg.DeclMode Then Exit Sub
 
-        Me.TbInertia.Text = CStr(Declaration.EngInertia(fTextboxToNumString(Me.TbDispl.Text)))
-    End Sub
+		Me.TbInertia.Text = CStr(Declaration.EngInertia(fTextboxToNumString(Me.TbDispl.Text)))
+	End Sub
 
 
 #Region "Toolbar"
 
-    Private Sub ToolStripBtNew_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtNew.Click
-        newENG()
-    End Sub
-
-    Private Sub ToolStripBtOpen_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtOpen.Click
-        If fbENG.OpenDialog(EngFile) Then openENG(fbENG.Files(0))
-    End Sub
+	Private Sub ToolStripBtNew_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtNew.Click
+		newENG()
+	End Sub
 
-    Private Sub ToolStripBtSave_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSave.Click
-        SaveOrSaveAs(False)
-    End Sub
+	Private Sub ToolStripBtOpen_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtOpen.Click
+		If fbENG.OpenDialog(EngFile) Then openENG(fbENG.Files(0))
+	End Sub
 
-    Private Sub ToolStripBtSaveAs_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSaveAs.Click
-        SaveOrSaveAs(True)
-    End Sub
+	Private Sub ToolStripBtSave_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSave.Click
+		SaveOrSaveAs(False)
+	End Sub
 
-    Private Sub ToolStripBtSendTo_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSendTo.Click
+	Private Sub ToolStripBtSaveAs_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSaveAs.Click
+		SaveOrSaveAs(True)
+	End Sub
 
-        If ChangeCheckCancel() Then Exit Sub
+	Private Sub ToolStripBtSendTo_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSendTo.Click
 
-        If EngFile = "" Then
-            If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
-                If Not SaveOrSaveAs(True) Then Exit Sub
-            Else
-                Exit Sub
-            End If
-        End If
+		If ChangeCheckCancel() Then Exit Sub
 
-        If Not F_VECTO.Visible Then
-            JobDir = ""
-            F_VECTO.Show()
-            F_VECTO.VECTOnew()
-        Else
-            F_VECTO.WindowState = FormWindowState.Normal
-        End If
+		If EngFile = "" Then
+			If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
+				If Not SaveOrSaveAs(True) Then Exit Sub
+			Else
+				Exit Sub
+			End If
+		End If
 
-        F_VECTO.TbENG.Text = fFileWoDir(EngFile, JobDir)
+		If Not F_VECTO.Visible Then
+			JobDir = ""
+			F_VECTO.Show()
+			F_VECTO.VECTOnew()
+		Else
+			F_VECTO.WindowState = FormWindowState.Normal
+		End If
 
-    End Sub
+		F_VECTO.TbENG.Text = fFileWoDir(EngFile, JobDir)
+	End Sub
 
-    Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton1.Click
-        If IO.File.Exists(MyAppPath & "User Manual\GUI\GUI_Calls\ENG.html") Then
-            System.Diagnostics.Process.Start(MyAppPath & "User Manual\GUI\GUI_Calls\ENG.html")
-        Else
-            MsgBox("User Manual not found!", MsgBoxStyle.Critical)
-        End If
-    End Sub
+	Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton1.Click
+		If IO.File.Exists(MyAppPath & "User Manual\help.html") Then
+			Dim BrowserRegistryString As String =
+					My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString
+			Dim DefaultBrowserPath As String =
+					System.Text.RegularExpressions.Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString
+			System.Diagnostics.Process.Start(DefaultBrowserPath,
+											String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#engine-editor"))
+		Else
+			MsgBox("User Manual not found!", MsgBoxStyle.Critical)
+		End If
+	End Sub
 
 #End Region
 
-    'Create new empty Engine file.
-    Private Sub newENG()
+	'Create new empty Engine file.
+	Private Sub newENG()
 
-        If ChangeCheckCancel() Then Exit Sub
+		If ChangeCheckCancel() Then Exit Sub
 
-        Me.TbName.Text = ""
-        Me.TbDispl.Text = ""
-        Me.TbInertia.Text = ""
-        Me.TbNleerl.Text = ""
+		Me.TbName.Text = ""
+		Me.TbDispl.Text = ""
+		Me.TbInertia.Text = ""
+		Me.TbNleerl.Text = ""
 		Me.TbMAP.Text = ""
 		Me.TbFLD.Text = ""
-        Me.TbWHTCurban.Text = ""
-        Me.TbWHTCrural.Text = ""
-        Me.TbWHTCmw.Text = ""
-
+		Me.TbWHTCurban.Text = ""
+		Me.TbWHTCrural.Text = ""
+		Me.TbWHTCmw.Text = ""
 
-        DeclInit()
 
+		DeclInit()
 
-        EngFile = ""
-        Me.Text = "ENG Editor"
-        Me.LbStatus.Text = ""
 
-        Changed = False
+		EngFile = ""
+		Me.Text = "ENG Editor"
+		Me.LbStatus.Text = ""
 
-        UpdatePic()
+		Changed = False
 
-    End Sub
+		UpdatePic()
+	End Sub
 
-    'Open VENG file
-    Public Sub openENG(ByVal file As String)
-        Dim ENG0 As cENG
+	'Open VENG file
+	Public Sub openENG(ByVal file As String)
+		Dim ENG0 As cENG
 
-        If ChangeCheckCancel() Then Exit Sub
+		If ChangeCheckCancel() Then Exit Sub
 
-        ENG0 = New cENG
+		ENG0 = New cENG
 
-        ENG0.FilePath = file
+		ENG0.FilePath = file
 
-        If Not ENG0.ReadFile Then
-            MsgBox("Cannot read " & file & "!")
-            Exit Sub
-        End If
+		If Not ENG0.ReadFile Then
+			MsgBox("Cannot read " & file & "!")
+			Exit Sub
+		End If
 
-        If Cfg.DeclMode <> ENG0.SavedInDeclMode Then
-            Select Case WrongMode()
-                Case 1
-                    Me.Close()
-                    F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked
-                    F_MAINForm.OpenVectoFile(file)
-                Case -1
-                    Exit Sub
-                Case Else '0
-                    'Continue...
-            End Select
-        End If
+		If Cfg.DeclMode <> ENG0.SavedInDeclMode Then
+			Select Case WrongMode()
+				Case 1
+					Me.Close()
+					F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked
+					F_MAINForm.OpenVectoFile(file)
+				Case - 1
+					Exit Sub
+				Case Else '0
+					'Continue...
+			End Select
+		End If
 
-        Me.TbName.Text = ENG0.ModelName
-        Me.TbDispl.Text = ENG0.Displ.ToString
-        Me.TbInertia.Text = ENG0.I_mot.ToString
-        Me.TbNleerl.Text = ENG0.Nidle.ToString
+		Me.TbName.Text = ENG0.ModelName
+		Me.TbDispl.Text = ENG0.Displ.ToString
+		Me.TbInertia.Text = ENG0.I_mot.ToString
+		Me.TbNleerl.Text = ENG0.Nidle.ToString
 
 		Me.TbMAP.Text = ENG0.PathMAP(True)
 		Me.TbFLD.Text = ENG0.PathFLD(True)
-        Me.TbWHTCurban.Text = ENG0.WHTCurban
-        Me.TbWHTCrural.Text = ENG0.WHTCrural
-        Me.TbWHTCmw.Text = ENG0.WHTCmw
-
+		Me.TbWHTCurban.Text = ENG0.WHTCurban
+		Me.TbWHTCrural.Text = ENG0.WHTCrural
+		Me.TbWHTCmw.Text = ENG0.WHTCmw
 
-        DeclInit()
 
+		DeclInit()
 
-        fbENG.UpdateHistory(file)
-        Me.Text = fFILE(file, True)
-        Me.LbStatus.Text = ""
-        EngFile = file
-        Me.Activate()
 
-        Changed = False
-        UpdatePic()
+		fbENG.UpdateHistory(file)
+		Me.Text = fFILE(file, True)
+		Me.LbStatus.Text = ""
+		EngFile = file
+		Me.Activate()
 
-    End Sub
+		Changed = False
+		UpdatePic()
+	End Sub
 
-    'Save or Save As function = true if file is saved
-    Private Function SaveOrSaveAs(ByVal SaveAs As Boolean) As Boolean
-        If EngFile = "" Or SaveAs Then
-            If fbENG.SaveDialog(EngFile) Then
-                EngFile = fbENG.Files(0)
-            Else
-                Return False
-            End If
-        End If
-        Return saveENG(EngFile)
-    End Function
+	'Save or Save As function = true if file is saved
+	Private Function SaveOrSaveAs(ByVal SaveAs As Boolean) As Boolean
+		If EngFile = "" Or SaveAs Then
+			If fbENG.SaveDialog(EngFile) Then
+				EngFile = fbENG.Files(0)
+			Else
+				Return False
+			End If
+		End If
+		Return saveENG(EngFile)
+	End Function
 
-    'Save VENG file to given filepath. Called by SaveOrSaveAs. 
-    Private Function saveENG(ByVal file As String) As Boolean
-        Dim ENG0 As cENG
+	'Save VENG file to given filepath. Called by SaveOrSaveAs. 
+	Private Function saveENG(ByVal file As String) As Boolean
+		Dim ENG0 As cENG
 
-        ENG0 = New cENG
-        ENG0.FilePath = file
+		ENG0 = New cENG
+		ENG0.FilePath = file
 
-        ENG0.ModelName = Me.TbName.Text
-        If Trim(ENG0.ModelName) = "" Then ENG0.ModelName = "Undefined"
-        ENG0.Displ = CSng(fTextboxToNumString(Me.TbDispl.Text))
-        ENG0.I_mot = CSng(fTextboxToNumString(Me.TbInertia.Text))
-        ENG0.Nidle = CSng(fTextboxToNumString(Me.TbNleerl.Text))
+		ENG0.ModelName = Me.TbName.Text
+		If Trim(ENG0.ModelName) = "" Then ENG0.ModelName = "Undefined"
+		ENG0.Displ = CSng(fTextboxToNumString(Me.TbDispl.Text))
+		ENG0.I_mot = CSng(fTextboxToNumString(Me.TbInertia.Text))
+		ENG0.Nidle = CSng(fTextboxToNumString(Me.TbNleerl.Text))
 
 		ENG0.PathFLD = Me.TbFLD.Text
 		ENG0.PathMAP = Me.TbMAP.Text
 
 
-        ENG0.WHTCurban = CSng(fTextboxToNumString(Me.TbWHTCurban.Text))
-        ENG0.WHTCrural = CSng(fTextboxToNumString(Me.TbWHTCrural.Text))
-        ENG0.WHTCmw = CSng(fTextboxToNumString(Me.TbWHTCmw.Text))
-
+		ENG0.WHTCurban = CSng(fTextboxToNumString(Me.TbWHTCurban.Text))
+		ENG0.WHTCrural = CSng(fTextboxToNumString(Me.TbWHTCrural.Text))
+		ENG0.WHTCmw = CSng(fTextboxToNumString(Me.TbWHTCmw.Text))
 
-        If Not ENG0.SaveFile Then
-            MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical)
-            Return False
-        End If
 
-        If AutoSendTo Then
-            If F_VECTO.Visible Then
-                If UCase(fFileRepl(F_VECTO.TbENG.Text, JobDir)) <> UCase(file) Then F_VECTO.TbENG.Text = fFileWoDir(file, JobDir)
-                F_VECTO.UpdatePic()
-            End If
-        End If
+		If Not ENG0.SaveFile Then
+			MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical)
+			Return False
+		End If
 
-        fbENG.UpdateHistory(file)
-        Me.Text = fFILE(file, True)
-        Me.LbStatus.Text = ""
+		If AutoSendTo Then
+			If F_VECTO.Visible Then
+				If UCase(fFileRepl(F_VECTO.TbENG.Text, JobDir)) <> UCase(file) Then F_VECTO.TbENG.Text = fFileWoDir(file, JobDir)
+				F_VECTO.UpdatePic()
+			End If
+		End If
 
-        Changed = False
+		fbENG.UpdateHistory(file)
+		Me.Text = fFILE(file, True)
+		Me.LbStatus.Text = ""
 
-        Return True
+		Changed = False
 
-    End Function
+		Return True
+	End Function
 
 
 #Region "Track changes"
 
-    'Flags current file as modified.
-    Private Sub Change()
-        If Not Changed Then
-            Me.LbStatus.Text = "Unsaved changes in current file"
-            Changed = True
-        End If
-    End Sub
-
-    ' "Save changes ?" .... Returns True if User aborts
-    Private Function ChangeCheckCancel() As Boolean
+	'Flags current file as modified.
+	Private Sub Change()
+		If Not Changed Then
+			Me.LbStatus.Text = "Unsaved changes in current file"
+			Changed = True
+		End If
+	End Sub
 
-        If Changed Then
-            Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel)
-                Case MsgBoxResult.Yes
-                    Return Not SaveOrSaveAs(False)
-                Case MsgBoxResult.Cancel
-                    Return True
-                Case Else 'MsgBoxResult.No
-                    Changed = False
-                    Return False
-            End Select
+	' "Save changes ?" .... Returns True if User aborts
+	Private Function ChangeCheckCancel() As Boolean
 
-        Else
+		If Changed Then
+			Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel)
+				Case MsgBoxResult.Yes
+					Return Not SaveOrSaveAs(False)
+				Case MsgBoxResult.Cancel
+					Return True
+				Case Else 'MsgBoxResult.No
+					Changed = False
+					Return False
+			End Select
 
-            Return False
+		Else
 
-        End If
+			Return False
 
-    End Function
+		End If
+	End Function
 
 
-    Private Sub TbName_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbName.TextChanged
-        Change()
-    End Sub
+	Private Sub TbName_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbName.TextChanged
+		Change()
+	End Sub
 
-    Private Sub TbPnenn_TextChanged(sender As System.Object, e As System.EventArgs)
-        Change()
-    End Sub
+	Private Sub TbPnenn_TextChanged(sender As System.Object, e As System.EventArgs)
+		Change()
+	End Sub
 
-    Private Sub TbDispl_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbDispl.TextChanged
-        Change()
-        DeclInit()
-    End Sub
+	Private Sub TbDispl_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbDispl.TextChanged
+		Change()
+		DeclInit()
+	End Sub
 
-    Private Sub TbInertia_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbInertia.TextChanged
-        Change()
-    End Sub
+	Private Sub TbInertia_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbInertia.TextChanged
+		Change()
+	End Sub
 
-    Private Sub TbNleerl_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbNleerl.TextChanged
-        UpdatePic()
-        Change()
-    End Sub
+	Private Sub TbNleerl_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbNleerl.TextChanged
+		UpdatePic()
+		Change()
+	End Sub
 
-    Private Sub TbNnenn_TextChanged(sender As System.Object, e As System.EventArgs)
-        Change()
-    End Sub
+	Private Sub TbNnenn_TextChanged(sender As System.Object, e As System.EventArgs)
+		Change()
+	End Sub
 
-	Private Sub TbMAP_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbMAP.TextChanged, TbFLD.TextChanged
+	Private Sub TbMAP_TextChanged(sender As System.Object, e As System.EventArgs) _
+		Handles TbMAP.TextChanged, TbFLD.TextChanged
 		UpdatePic()
 		Change()
 	End Sub
 
-    Private Sub TbWHTCurban_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbWHTCurban.TextChanged
-        Change()
-    End Sub
+	Private Sub TbWHTCurban_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbWHTCurban.TextChanged
+		Change()
+	End Sub
 
-    Private Sub TbWHTCrural_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbWHTCrural.TextChanged
-        Change()
-    End Sub
+	Private Sub TbWHTCrural_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbWHTCrural.TextChanged
+		Change()
+	End Sub
 
-    Private Sub TbWHTCmw_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbWHTCmw.TextChanged
-        Change()
-    End Sub
+	Private Sub TbWHTCmw_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbWHTCmw.TextChanged
+		Change()
+	End Sub
 
 	Private Sub LvFLDs_SelectedIndexChanged(sender As System.Object, e As System.EventArgs)
 		UpdatePic()
 	End Sub
 
 
-
 #End Region
 
 	'Browse for VMAP file
 	Private Sub BtMAP_Click(sender As System.Object, e As System.EventArgs) Handles BtMAP.Click
-		If fbMAP.OpenDialog(fFileRepl(Me.TbMAP.Text, fPATH(EngFile))) Then Me.TbMAP.Text = fFileWoDir(fbMAP.Files(0), fPATH(EngFile))
+		If fbMAP.OpenDialog(fFileRepl(Me.TbMAP.Text, fPATH(EngFile))) Then _
+			Me.TbMAP.Text = fFileWoDir(fbMAP.Files(0), fPATH(EngFile))
 	End Sub
 
 
-    'Open VMAP file
+	'Open VMAP file
 	Private Sub BtMAPopen_Click(sender As System.Object, e As System.EventArgs) Handles BtMAPopen.Click
 		Dim fldfile As String
 
@@ -342,160 +343,156 @@ Public Class F_ENG
 		Else
 			OpenFiles(fFileRepl(Me.TbMAP.Text, fPATH(EngFile)))
 		End If
-
 	End Sub
 
 
-    'Save and close
-    Private Sub ButOK_Click(sender As System.Object, e As System.EventArgs) Handles ButOK.Click
-        If SaveOrSaveAs(False) Then Me.Close()
-    End Sub
+	'Save and close
+	Private Sub ButOK_Click(sender As System.Object, e As System.EventArgs) Handles ButOK.Click
+		If SaveOrSaveAs(False) Then Me.Close()
+	End Sub
 
-    'Close without saving (see FormClosing Event)
-    Private Sub ButCancel_Click(sender As System.Object, e As System.EventArgs) Handles ButCancel.Click
-        Me.Close()
-    End Sub
+	'Close without saving (see FormClosing Event)
+	Private Sub ButCancel_Click(sender As System.Object, e As System.EventArgs) Handles ButCancel.Click
+		Me.Close()
+	End Sub
 
-    Private Sub UpdatePic()
+	Private Sub UpdatePic()
 
-        Dim fldOK As Boolean = False
-        Dim mapOK As Boolean = False
-        Dim FLD0 As New cFLD
-        Dim MAP0 As New cMAP
-        Dim MyChart As System.Windows.Forms.DataVisualization.Charting.Chart
-        Dim s As System.Windows.Forms.DataVisualization.Charting.Series
-        Dim a As System.Windows.Forms.DataVisualization.Charting.ChartArea
-        Dim img As Image
+		Dim fldOK As Boolean = False
+		Dim mapOK As Boolean = False
+		Dim FLD0 As New cFLD
+		Dim MAP0 As New cMAP
+		Dim MyChart As System.Windows.Forms.DataVisualization.Charting.Chart
+		Dim s As System.Windows.Forms.DataVisualization.Charting.Series
+		Dim a As System.Windows.Forms.DataVisualization.Charting.ChartArea
+		Dim img As Image
 
-        Me.PicBox.Image = Nothing
+		Me.PicBox.Image = Nothing
 
-        Try
+		Try
 
-            'Read Files
+			'Read Files
 			FLD0.FilePath = fFileRepl(Me.TbFLD.Text, fPATH(EngFile))
 			fldOK = FLD0.ReadFile(False, False)
 
-            MAP0.FilePath = fFileRepl(Me.TbMAP.Text, fPATH(EngFile))
+			MAP0.FilePath = fFileRepl(Me.TbMAP.Text, fPATH(EngFile))
 			mapOK = MAP0.ReadFile(False)
 
-        Catch ex As Exception
-
-        End Try
+		Catch ex As Exception
 
-        If Not fldOK And Not mapOK Then Exit Sub
+		End Try
 
+		If Not fldOK And Not mapOK Then Exit Sub
 
-        'Create plot
-        MyChart = New System.Windows.Forms.DataVisualization.Charting.Chart
-        MyChart.Width = Me.PicBox.Width
-        MyChart.Height = Me.PicBox.Height
 
-        a = New System.Windows.Forms.DataVisualization.Charting.ChartArea
+		'Create plot
+		MyChart = New System.Windows.Forms.DataVisualization.Charting.Chart
+		MyChart.Width = Me.PicBox.Width
+		MyChart.Height = Me.PicBox.Height
 
-        If fldOK Then
+		a = New System.Windows.Forms.DataVisualization.Charting.ChartArea
 
-            s = New System.Windows.Forms.DataVisualization.Charting.Series
-            s.Points.DataBindXY(FLD0.LnU, FLD0.LTq)
-            s.ChartType = DataVisualization.Charting.SeriesChartType.FastLine
-            s.BorderWidth = 2
-            s.Color = Color.DarkBlue
-            s.Name = "Full load (" & fFILE(FLD0.FilePath, True) & ")"
-            MyChart.Series.Add(s)
+		If fldOK Then
 
-            s = New System.Windows.Forms.DataVisualization.Charting.Series
-            s.Points.DataBindXY(FLD0.LnU, FLD0.LTqDrag)
-            s.ChartType = DataVisualization.Charting.SeriesChartType.FastLine
-            s.BorderWidth = 2
-            s.Color = Color.Blue
-            s.Name = "Motoring (" & fFILE(FLD0.FilePath, True) & ")"
+			s = New System.Windows.Forms.DataVisualization.Charting.Series
+			s.Points.DataBindXY(FLD0.LnU, FLD0.LTq)
+			s.ChartType = DataVisualization.Charting.SeriesChartType.FastLine
+			s.BorderWidth = 2
+			s.Color = Color.DarkBlue
+			s.Name = "Full load (" & fFILE(FLD0.FilePath, True) & ")"
 			MyChart.Series.Add(s)
 
-        End If
-
-        If mapOK Then
-            s = New System.Windows.Forms.DataVisualization.Charting.Series
-            s.Points.DataBindXY(MAP0.nU, MAP0.Tq)
-            s.ChartType = DataVisualization.Charting.SeriesChartType.Point
-            s.MarkerSize = 3
-            s.Color = Color.Red
-            s.Name = "Map"
-            MyChart.Series.Add(s)
-        End If
-
-        a.Name = "main"
+			s = New System.Windows.Forms.DataVisualization.Charting.Series
+			s.Points.DataBindXY(FLD0.LnU, FLD0.LTqDrag)
+			s.ChartType = DataVisualization.Charting.SeriesChartType.FastLine
+			s.BorderWidth = 2
+			s.Color = Color.Blue
+			s.Name = "Motoring (" & fFILE(FLD0.FilePath, True) & ")"
+			MyChart.Series.Add(s)
 
-        a.AxisX.Title = "engine speed [1/min]"
-        a.AxisX.TitleFont = New Font("Helvetica", 10)
-        a.AxisX.LabelStyle.Font = New Font("Helvetica", 8)
-        a.AxisX.LabelAutoFitStyle = DataVisualization.Charting.LabelAutoFitStyles.None
-        a.AxisX.MajorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.Dot
+		End If
 
-        a.AxisY.Title = "engine torque [Nm]"
-        a.AxisY.TitleFont = New Font("Helvetica", 10)
-        a.AxisY.LabelStyle.Font = New Font("Helvetica", 8)
-        a.AxisY.LabelAutoFitStyle = DataVisualization.Charting.LabelAutoFitStyles.None
-        a.AxisY.MajorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.Dot
+		If mapOK Then
+			s = New System.Windows.Forms.DataVisualization.Charting.Series
+			s.Points.DataBindXY(MAP0.nU, MAP0.Tq)
+			s.ChartType = DataVisualization.Charting.SeriesChartType.Point
+			s.MarkerSize = 3
+			s.Color = Color.Red
+			s.Name = "Map"
+			MyChart.Series.Add(s)
+		End If
 
-        a.AxisX.Minimum = 300
-        a.BorderDashStyle = DataVisualization.Charting.ChartDashStyle.Solid
-        a.BorderWidth = 1
+		a.Name = "main"
 
-        a.BackColor = Color.GhostWhite
+		a.AxisX.Title = "engine speed [1/min]"
+		a.AxisX.TitleFont = New Font("Helvetica", 10)
+		a.AxisX.LabelStyle.Font = New Font("Helvetica", 8)
+		a.AxisX.LabelAutoFitStyle = DataVisualization.Charting.LabelAutoFitStyles.None
+		a.AxisX.MajorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.Dot
 
-        MyChart.ChartAreas.Add(a)
+		a.AxisY.Title = "engine torque [Nm]"
+		a.AxisY.TitleFont = New Font("Helvetica", 10)
+		a.AxisY.LabelStyle.Font = New Font("Helvetica", 8)
+		a.AxisY.LabelAutoFitStyle = DataVisualization.Charting.LabelAutoFitStyles.None
+		a.AxisY.MajorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.Dot
 
-        MyChart.Update()
+		a.AxisX.Minimum = 300
+		a.BorderDashStyle = DataVisualization.Charting.ChartDashStyle.Solid
+		a.BorderWidth = 1
 
-        img = New Bitmap(MyChart.Width, MyChart.Height, Imaging.PixelFormat.Format32bppArgb)
-        MyChart.DrawToBitmap(img, New Rectangle(0, 0, Me.PicBox.Width, Me.PicBox.Height))
+		a.BackColor = Color.GhostWhite
 
+		MyChart.ChartAreas.Add(a)
 
-        Me.PicBox.Image = img
+		MyChart.Update()
 
+		img = New Bitmap(MyChart.Width, MyChart.Height, Imaging.PixelFormat.Format32bppArgb)
+		MyChart.DrawToBitmap(img, New Rectangle(0, 0, Me.PicBox.Width, Me.PicBox.Height))
 
-    End Sub
 
+		Me.PicBox.Image = img
+	End Sub
 
 
 #Region "Open File Context Menu"
 
-    Private CmFiles As String()
-
-    Private Sub OpenFiles(ParamArray files() As String)
+	Private CmFiles As String()
 
-        If files.Length = 0 Then Exit Sub
+	Private Sub OpenFiles(ParamArray files() As String)
 
-        CmFiles = files
+		If files.Length = 0 Then Exit Sub
 
-        OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName
+		CmFiles = files
 
-        CmOpenFile.Show(Cursor.Position)
+		OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName
 
-    End Sub
+		CmOpenFile.Show(Cursor.Position)
+	End Sub
 
-    Private Sub OpenWithToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles OpenWithToolStripMenuItem.Click
-        If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!")
-    End Sub
+	Private Sub OpenWithToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) _
+		Handles OpenWithToolStripMenuItem.Click
+		If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!")
+	End Sub
 
-    Private Sub ShowInFolderToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ShowInFolderToolStripMenuItem.Click
-        If IO.File.Exists(CmFiles(0)) Then
-            Try
-                System.Diagnostics.Process.Start("explorer", "/select,""" & CmFiles(0) & "")
-            Catch ex As Exception
-                MsgBox("Failed to open file!")
-            End Try
-        Else
-            MsgBox("File not found!")
-        End If
-    End Sub
+	Private Sub ShowInFolderToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) _
+		Handles ShowInFolderToolStripMenuItem.Click
+		If IO.File.Exists(CmFiles(0)) Then
+			Try
+				System.Diagnostics.Process.Start("explorer", "/select,""" & CmFiles(0) & "")
+			Catch ex As Exception
+				MsgBox("Failed to open file!")
+			End Try
+		Else
+			MsgBox("File not found!")
+		End If
+	End Sub
 
 #End Region
 
 
-
 	Private Sub BtFLD_Click(sender As Object, e As EventArgs) Handles BtFLD.Click
-		If fbFLD.OpenDialog(fFileRepl(Me.TbFLD.Text, fPATH(EngFile))) Then Me.TbFLD.Text = fFileWoDir(fbFLD.Files(0), fPATH(EngFile))
-
+		If fbFLD.OpenDialog(fFileRepl(Me.TbFLD.Text, fPATH(EngFile))) Then _
+			Me.TbFLD.Text = fFileWoDir(fbFLD.Files(0), fPATH(EngFile))
 	End Sub
 
 	Private Sub BtFLDopen_Click(sender As Object, e As EventArgs) Handles BtFLDopen.Click
@@ -506,7 +503,6 @@ Public Class F_ENG
 		If fldfile <> sKey.NoFile AndAlso IO.File.Exists(fldfile) Then
 			OpenFiles(fldfile)
 		End If
-
 	End Sub
 
 	Private Sub BtWHTCimport_Click(sender As Object, e As EventArgs) Handles BtWHTCimport.Click
@@ -527,6 +523,5 @@ Public Class F_ENG
 		Catch ex As Exception
 			MsgBox("Failed to load file! " & ex.Message, MsgBoxStyle.Critical)
 		End Try
-
 	End Sub
 End Class
diff --git a/VECTO/GUI/F_GBX.vb b/VECTO/GUI/F_GBX.vb
index 47e8d747b0a6e4813ff776e8acb8f18c3f2dba06..c2c088eba502f68d4b49e15bba7ec1dddd8776f9 100644
--- a/VECTO/GUI/F_GBX.vb
+++ b/VECTO/GUI/F_GBX.vb
@@ -15,523 +15,521 @@ Imports System.Collections.Generic
 ''' </summary>
 ''' <remarks></remarks>
 Public Class F_GBX
-
 	Private GbxFile As String = ""
 	Public AutoSendTo As Boolean = False
-    Public JobDir As String = ""
-    Private GearDia As F_GBX_GearDlog
-
-    Private Init As Boolean = False
-
-    Private Changed As Boolean = False
+	Public JobDir As String = ""
+	Private GearDia As F_GBX_GearDlog
 
-    'Before closing Editor: Check if file was changed and ask to save.
-    Private Sub F_GBX_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
-        If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then
-            e.Cancel = ChangeCheckCancel()
-        End If
-    End Sub
+	Private Init As Boolean = False
 
-    'Initialise.
-    Private Sub F_GBX_Load(sender As Object, e As System.EventArgs) Handles Me.Load
+	Private Changed As Boolean = False
 
-        Init = False
-        GearDia = New F_GBX_GearDlog
-
-        Me.PnInertiaTI.Enabled = Not Cfg.DeclMode
-        Me.GrGearShift.Enabled = Not Cfg.DeclMode
-        Me.ChTCon.Enabled = Not Cfg.DeclMode
+	'Before closing Editor: Check if file was changed and ask to save.
+	Private Sub F_GBX_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
+		If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then
+			e.Cancel = ChangeCheckCancel()
+		End If
+	End Sub
 
-        Me.CbGStype.Items.Clear()
-        Me.CbGStype.Items.Add("Manual Transmission (MT)")
-        Me.CbGStype.Items.Add("Automated Manual Transmission (AMT)")
-        If Not Cfg.DeclMode Then
-            Me.CbGStype.Items.Add("Automatic Transmission (AT)")
-            Me.CbGStype.Items.Add("Custom")
-        End If
+	'Initialise.
+	Private Sub F_GBX_Load(sender As Object, e As System.EventArgs) Handles Me.Load
 
-        Init = True
+		Init = False
+		GearDia = New F_GBX_GearDlog
 
-        DeclInit()
+		Me.PnInertiaTI.Enabled = Not Cfg.DeclMode
+		Me.GrGearShift.Enabled = Not Cfg.DeclMode
+		Me.ChTCon.Enabled = Not Cfg.DeclMode
 
-        Changed = False
-        newGBX()
+		Me.CbGStype.Items.Clear()
+		Me.CbGStype.Items.Add("Manual Transmission (MT)")
+		Me.CbGStype.Items.Add("Automated Manual Transmission (AMT)")
+		If Not Cfg.DeclMode Then
+			Me.CbGStype.Items.Add("Automatic Transmission (AT)")
+			Me.CbGStype.Items.Add("Custom")
+		End If
 
-    End Sub
+		Init = True
 
-    'Set generic values for Declaration mode.
-    Private Sub DeclInit()
-        Dim GStype As tGearbox
-        Dim lv0 As ListViewItem
+		DeclInit()
 
-        If Not Cfg.DeclMode Then Exit Sub
+		Changed = False
+		newGBX()
+	End Sub
 
-        Me.TBI_getr.Text = cDeclaration.GbInertia
+	'Set generic values for Declaration mode.
+	Private Sub DeclInit()
+		Dim GStype As tGearbox
+		Dim lv0 As ListViewItem
 
-        GStype = CType(Me.CbGStype.SelectedIndex, tGearbox)
+		If Not Cfg.DeclMode Then Exit Sub
 
-        Me.TbTracInt.Text = Declaration.TracInt(GStype)
-        Me.TbShiftTime.Text = Declaration.ShiftTime(GStype)
+		Me.TBI_getr.Text = cDeclaration.GbInertia
 
-        Me.TbTqResv.Text = cDeclaration.TqResv
-        Me.TbTqResvStart.Text = cDeclaration.TqResvStart
-        Me.TbStartSpeed.Text = cDeclaration.StartSpeed
-        Me.TbStartAcc.Text = cDeclaration.StartAcc
+		GStype = CType(Me.CbGStype.SelectedIndex, tGearbox)
 
-        For Each lv0 In Me.LvGears.Items
-            lv0.SubItems(4).Text = "-"
-        Next
+		Me.TbTracInt.Text = Declaration.TracInt(GStype)
+		Me.TbShiftTime.Text = Declaration.ShiftTime(GStype)
 
+		Me.TbTqResv.Text = cDeclaration.TqResv
+		Me.TbTqResvStart.Text = cDeclaration.TqResvStart
+		Me.TbStartSpeed.Text = cDeclaration.StartSpeed
+		Me.TbStartAcc.Text = cDeclaration.StartAcc
 
-    End Sub
+		For Each lv0 In Me.LvGears.Items
+			lv0.SubItems(4).Text = "-"
+		Next
+	End Sub
 
 #Region "Toolbar"
 
-    Private Sub ToolStripBtNew_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtNew.Click
-        newGBX()
-    End Sub
-
-    Private Sub ToolStripBtOpen_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtOpen.Click
-        If fbGBX.OpenDialog(GbxFile) Then openGBX(fbGBX.Files(0))
-    End Sub
+	Private Sub ToolStripBtNew_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtNew.Click
+		newGBX()
+	End Sub
 
-    Private Sub ToolStripBtSave_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSave.Click
-        SaveOrSaveAs(False)
-    End Sub
+	Private Sub ToolStripBtOpen_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtOpen.Click
+		If fbGBX.OpenDialog(GbxFile) Then openGBX(fbGBX.Files(0))
+	End Sub
 
-    Private Sub ToolStripBtSaveAs_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSaveAs.Click
-        SaveOrSaveAs(True)
-    End Sub
+	Private Sub ToolStripBtSave_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSave.Click
+		SaveOrSaveAs(False)
+	End Sub
 
-    Private Sub ToolStripBtSendTo_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSendTo.Click
+	Private Sub ToolStripBtSaveAs_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSaveAs.Click
+		SaveOrSaveAs(True)
+	End Sub
 
-        If ChangeCheckCancel() Then Exit Sub
+	Private Sub ToolStripBtSendTo_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSendTo.Click
 
-        If GbxFile = "" Then
-            If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
-                If Not SaveOrSaveAs(True) Then Exit Sub
-            Else
-                Exit Sub
-            End If
-        End If
+		If ChangeCheckCancel() Then Exit Sub
 
-        If Not F_VECTO.Visible Then
-            JobDir = ""
-            F_VECTO.Show()
-            F_VECTO.VECTOnew()
-        Else
-            F_VECTO.WindowState = FormWindowState.Normal
-        End If
+		If GbxFile = "" Then
+			If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
+				If Not SaveOrSaveAs(True) Then Exit Sub
+			Else
+				Exit Sub
+			End If
+		End If
 
-        F_VECTO.TbGBX.Text = fFileWoDir(GbxFile, JobDir)
+		If Not F_VECTO.Visible Then
+			JobDir = ""
+			F_VECTO.Show()
+			F_VECTO.VECTOnew()
+		Else
+			F_VECTO.WindowState = FormWindowState.Normal
+		End If
 
-    End Sub
+		F_VECTO.TbGBX.Text = fFileWoDir(GbxFile, JobDir)
+	End Sub
 
-    'Help
-    Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton1.Click
-        If IO.File.Exists(MyAppPath & "User Manual\GUI\GUI_Calls\GBX.html") Then
-            System.Diagnostics.Process.Start(MyAppPath & "User Manual\GUI\GUI_Calls\GBX.html")
-        Else
-            MsgBox("User Manual not found!", MsgBoxStyle.Critical)
-        End If
-    End Sub
+	'Help
+	Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton1.Click
+		If IO.File.Exists(MyAppPath & "User Manual\help.html") Then
+			Dim BrowserRegistryString As String =
+					My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString
+			Dim DefaultBrowserPath As String =
+					System.Text.RegularExpressions.Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString
+			System.Diagnostics.Process.Start(DefaultBrowserPath,
+											String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#gearbox-editor"))
+		Else
+			MsgBox("User Manual not found!", MsgBoxStyle.Critical)
+		End If
+	End Sub
 
 #End Region
 
-    'New file
-    Private Sub newGBX()
-        Dim lvi As ListViewItem
+	'New file
+	Private Sub newGBX()
+		Dim lvi As ListViewItem
 
-        If ChangeCheckCancel() Then Exit Sub
+		If ChangeCheckCancel() Then Exit Sub
 
-        Me.CbGStype.SelectedIndex = 0
+		Me.CbGStype.SelectedIndex = 0
 
-        Me.TbName.Text = ""
-        Me.TbTracInt.Text = ""
-        Me.TBI_getr.Text = ""
+		Me.TbName.Text = ""
+		Me.TbTracInt.Text = ""
+		Me.TBI_getr.Text = ""
 
-        Me.LvGears.Items.Clear()
+		Me.LvGears.Items.Clear()
 
-        lvi = New ListViewItem("Axle")
-        lvi.SubItems.Add("-")
-        lvi.SubItems.Add("0")
-        lvi.SubItems.Add("0")
+		lvi = New ListViewItem("Axle")
+		lvi.SubItems.Add("-")
+		lvi.SubItems.Add("0")
+		lvi.SubItems.Add("0")
 		lvi.SubItems.Add("")
 		lvi.SubItems.Add("")
-        Me.LvGears.Items.Add(lvi)
-
-        'Me.ChSkipGears.Checked = False         'set by CbGStype.SelectedIndexChanged
-        'Me.ChShiftInside.Checked = False       'set by CbGStype.SelectedIndexChanged
-        Me.TbTqResv.Text = ""
-        Me.TbShiftTime.Text = ""
-        Me.TbTqResvStart.Text = ""
-        Me.TbStartSpeed.Text = ""
-        Me.TbStartAcc.Text = ""
-
-        'Me.ChTCon.Checked = False              'set by CbGStype.SelectedIndexChanged
-        Me.TbTCfile.Text = ""
-        Me.TbTCrefrpm.Text = ""
-        Me.TbTCinertia.Text = ""
-
-        DeclInit()
-
-        GbxFile = ""
-        Me.Text = "GBX Editor"
-        Me.LbStatus.Text = ""
-
-        Changed = False
-        UpdatePic()
-
-    End Sub
-
-    'Open file
-    Public Sub openGBX(ByVal file As String)
-        Dim GBX0 As cGBX
-        Dim i As Integer
-        Dim lv0 As ListViewItem
-
-        If ChangeCheckCancel() Then Exit Sub
-
-        GBX0 = New cGBX
-
-        GBX0.FilePath = file
-
-        If Not GBX0.ReadFile Then
-            MsgBox("Cannot read " & file & "!")
-            Exit Sub
-        End If
-
-        If Cfg.DeclMode <> GBX0.SavedInDeclMode Then
-            Select Case WrongMode()
-                Case 1
-                    Me.Close()
-                    F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked
-                    F_MAINForm.OpenVectoFile(file)
-                Case -1
-                    Exit Sub
-                Case Else '0
-                    'Continue...
-            End Select
-        End If
-
-        Me.TbName.Text = GBX0.ModelName
-        Me.TbTracInt.Text = GBX0.TracIntrSi.ToString
-        Me.TBI_getr.Text = GBX0.GbxInertia.ToString
-
-        Me.ChTCon.Checked = GBX0.TCon
-
-        Me.LvGears.Items.Clear()
-
-        For i = 0 To GBX0.Igetr.Count - 1
-
-            If i = 0 Then
-                lv0 = New ListViewItem("Axle")
-            Else
-                lv0 = New ListViewItem(i.ToString("00"))
-            End If
-
-            If Me.ChTCon.Checked And i > 0 Then
-                If GBX0.IsTCgear(i) Then
-                    lv0.SubItems.Add("on")
-                Else
-                    lv0.SubItems.Add("off")
-                End If
-            Else
-                lv0.SubItems.Add("-")
-            End If
-            lv0.SubItems.Add(GBX0.Igetr(i))
-            lv0.SubItems.Add(GBX0.GetrMap(i, True))
+		Me.LvGears.Items.Add(lvi)
+
+		'Me.ChSkipGears.Checked = False         'set by CbGStype.SelectedIndexChanged
+		'Me.ChShiftInside.Checked = False       'set by CbGStype.SelectedIndexChanged
+		Me.TbTqResv.Text = ""
+		Me.TbShiftTime.Text = ""
+		Me.TbTqResvStart.Text = ""
+		Me.TbStartSpeed.Text = ""
+		Me.TbStartAcc.Text = ""
+
+		'Me.ChTCon.Checked = False              'set by CbGStype.SelectedIndexChanged
+		Me.TbTCfile.Text = ""
+		Me.TbTCrefrpm.Text = ""
+		Me.TbTCinertia.Text = ""
+
+		DeclInit()
+
+		GbxFile = ""
+		Me.Text = "GBX Editor"
+		Me.LbStatus.Text = ""
+
+		Changed = False
+		UpdatePic()
+	End Sub
+
+	'Open file
+	Public Sub openGBX(ByVal file As String)
+		Dim GBX0 As cGBX
+		Dim i As Integer
+		Dim lv0 As ListViewItem
+
+		If ChangeCheckCancel() Then Exit Sub
+
+		GBX0 = New cGBX
+
+		GBX0.FilePath = file
+
+		If Not GBX0.ReadFile Then
+			MsgBox("Cannot read " & file & "!")
+			Exit Sub
+		End If
+
+		If Cfg.DeclMode <> GBX0.SavedInDeclMode Then
+			Select Case WrongMode()
+				Case 1
+					Me.Close()
+					F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked
+					F_MAINForm.OpenVectoFile(file)
+				Case - 1
+					Exit Sub
+				Case Else '0
+					'Continue...
+			End Select
+		End If
+
+		Me.TbName.Text = GBX0.ModelName
+		Me.TbTracInt.Text = GBX0.TracIntrSi.ToString
+		Me.TBI_getr.Text = GBX0.GbxInertia.ToString
+
+		Me.ChTCon.Checked = GBX0.TCon
+
+		Me.LvGears.Items.Clear()
+
+		For i = 0 To GBX0.Igetr.Count - 1
+
+			If i = 0 Then
+				lv0 = New ListViewItem("Axle")
+			Else
+				lv0 = New ListViewItem(i.ToString("00"))
+			End If
+
+			If Me.ChTCon.Checked And i > 0 Then
+				If GBX0.IsTCgear(i) Then
+					lv0.SubItems.Add("on")
+				Else
+					lv0.SubItems.Add("off")
+				End If
+			Else
+				lv0.SubItems.Add("-")
+			End If
+			lv0.SubItems.Add(GBX0.Igetr(i))
+			lv0.SubItems.Add(GBX0.GetrMap(i, True))
 			lv0.SubItems.Add(GBX0.gsFile(i, True))
 			lv0.SubItems.Add(GBX0.FldFile(i, True))
 
-            Me.LvGears.Items.Add(lv0)
-        Next
-
-        Me.ChSkipGears.Checked = GBX0.gs_SkipGears
-        Me.TbTqResv.Text = GBX0.gs_TorqueResv.ToString
-        Me.TbShiftTime.Text = GBX0.gs_ShiftTime.ToString
-        Me.TbTqResvStart.Text = GBX0.gs_TorqueResvStart.ToString
-        Me.TbStartSpeed.Text = GBX0.gs_StartSpeed.ToString
-        Me.TbStartAcc.Text = GBX0.gs_StartAcc.ToString
-        Me.ChShiftInside.Checked = GBX0.gs_ShiftInside
-
-        Me.TbTCfile.Text = GBX0.TCfile(True)
-        Me.TbTCrefrpm.Text = GBX0.TCrefrpm
-        Me.TbTCinertia.Text = GBX0.TCinertia
-
-        If CType(GBX0.gs_Type, Integer) <= Me.CbGStype.Items.Count - 1 Then
-            Me.CbGStype.SelectedIndex = CType(GBX0.gs_Type, Integer)
-        Else
-            Me.CbGStype.SelectedIndex = 0
-        End If
-
-        DeclInit()
-
-
-        fbGBX.UpdateHistory(file)
-        Me.Text = fFILE(file, True)
-        Me.LbStatus.Text = ""
-        GbxFile = file
-        Me.Activate()
-
-        Changed = False
-        UpdatePic()
-
-    End Sub
-
-    'Save or Save As function = true if file is saved
-    Private Function SaveOrSaveAs(ByVal SaveAs As Boolean) As Boolean
-        If GbxFile = "" Or SaveAs Then
-            If fbGBX.SaveDialog(GbxFile) Then
-                GbxFile = fbGBX.Files(0)
-            Else
-                Return False
-            End If
-        End If
-        Return saveGBX(GbxFile)
-    End Function
-
-    'Save file
-    Private Function saveGBX(ByVal file As String) As Boolean
-        Dim GBX0 As cGBX
-        Dim i As Int16
-
-        GBX0 = New cGBX
-        GBX0.FilePath = file
-
-        GBX0.ModelName = Me.TbName.Text
-        If Trim(GBX0.ModelName) = "" Then GBX0.ModelName = "Undefined"
-
-        GBX0.TracIntrSi = fTextboxToNumString(Me.TbTracInt.Text)
-        GBX0.GbxInertia = fTextboxToNumString(Me.TBI_getr.Text)
-
-        For i = 0 To Me.LvGears.Items.Count - 1
-            GBX0.IsTCgear.Add(Me.LvGears.Items(i).SubItems(1).Text = "on" And i > 0)
-            GBX0.Igetr.Add(CSng(Me.LvGears.Items(i).SubItems(2).Text))
-            GBX0.GetrMaps.Add(New cSubPath)
-            GBX0.GetrMap(i) = Me.LvGears.Items(i).SubItems(3).Text
-            GBX0.gs_files.Add(New cSubPath)
-			GBX0.gsFile(i) = Me.LvGears.Items(i).SubItems(4).Text
-			GBX0.FldFiles.Add(New cSubPath)
-			GBX0.FldFile(i) = Me.LvGears.Items(i).SubItems(5).Text
-        Next
+			Me.LvGears.Items.Add(lv0)
+		Next
+
+		Me.ChSkipGears.Checked = GBX0.gs_SkipGears
+		Me.TbTqResv.Text = GBX0.gs_TorqueResv.ToString
+		Me.TbShiftTime.Text = GBX0.gs_ShiftTime.ToString
+		Me.TbTqResvStart.Text = GBX0.gs_TorqueResvStart.ToString
+		Me.TbStartSpeed.Text = GBX0.gs_StartSpeed.ToString
+		Me.TbStartAcc.Text = GBX0.gs_StartAcc.ToString
+		Me.ChShiftInside.Checked = GBX0.gs_ShiftInside
+
+		Me.TbTCfile.Text = GBX0.TCfile(True)
+		Me.TbTCrefrpm.Text = GBX0.TCrefrpm
+		Me.TbTCinertia.Text = GBX0.TCinertia
+
+		If CType(GBX0.gs_Type, Integer) <= Me.CbGStype.Items.Count - 1 Then
+			Me.CbGStype.SelectedIndex = CType(GBX0.gs_Type, Integer)
+		Else
+			Me.CbGStype.SelectedIndex = 0
+		End If
+
+		DeclInit()
+
 
-        GBX0.gs_TorqueResv = fTextboxToNumString(Me.TbTqResv.Text)
-        GBX0.gs_SkipGears = Me.ChSkipGears.Checked
-        GBX0.gs_ShiftTime = fTextboxToNumString(Me.TbShiftTime.Text)
-        GBX0.gs_TorqueResvStart = fTextboxToNumString(Me.TbTqResvStart.Text)
-        GBX0.gs_StartSpeed = fTextboxToNumString(Me.TbStartSpeed.Text)
-        GBX0.gs_StartAcc = fTextboxToNumString(Me.TbStartAcc.Text)
-        GBX0.gs_ShiftInside = Me.ChShiftInside.Checked
+		fbGBX.UpdateHistory(file)
+		Me.Text = fFILE(file, True)
+		Me.LbStatus.Text = ""
+		GbxFile = file
+		Me.Activate()
 
-        GBX0.gs_Type = CType(Me.CbGStype.SelectedIndex, tGearbox)
+		Changed = False
+		UpdatePic()
+	End Sub
 
-        GBX0.TCon = Me.ChTCon.Checked
-        GBX0.TCfile = Me.TbTCfile.Text
-        GBX0.TCrefrpm = fTextboxToNumString(Me.TbTCrefrpm.Text)
-        GBX0.TCinertia = fTextboxToNumString(Me.TbTCinertia.Text)
+	'Save or Save As function = true if file is saved
+	Private Function SaveOrSaveAs(ByVal SaveAs As Boolean) As Boolean
+		If GbxFile = "" Or SaveAs Then
+			If fbGBX.SaveDialog(GbxFile) Then
+				GbxFile = fbGBX.Files(0)
+			Else
+				Return False
+			End If
+		End If
+		Return saveGBX(GbxFile)
+	End Function
 
-        If Not GBX0.SaveFile Then
-            MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical)
-            Return False
-        End If
+	'Save file
+	Private Function saveGBX(ByVal file As String) As Boolean
+		Dim GBX0 As cGBX
+		Dim i As Int16
 
-        If AutoSendTo Then
-            If F_VECTO.Visible Then
-                If UCase(fFileRepl(F_VECTO.TbGBX.Text, JobDir)) <> UCase(file) Then F_VECTO.TbGBX.Text = fFileWoDir(file, JobDir)
-                F_VECTO.UpdatePic()
-            End If
-        End If
+		GBX0 = New cGBX
+		GBX0.FilePath = file
 
-        fbGBX.UpdateHistory(file)
-        Me.Text = fFILE(file, True)
-        Me.LbStatus.Text = ""
+		GBX0.ModelName = Me.TbName.Text
+		If Trim(GBX0.ModelName) = "" Then GBX0.ModelName = "Undefined"
 
-        Changed = False
+		GBX0.TracIntrSi = fTextboxToNumString(Me.TbTracInt.Text)
+		GBX0.GbxInertia = fTextboxToNumString(Me.TBI_getr.Text)
 
-        Return True
+		For i = 0 To Me.LvGears.Items.Count - 1
+			GBX0.IsTCgear.Add(Me.LvGears.Items(i).SubItems(1).Text = "on" And i > 0)
+			GBX0.Igetr.Add(CSng(Me.LvGears.Items(i).SubItems(2).Text))
+			GBX0.GetrMaps.Add(New cSubPath)
+			GBX0.GetrMap(i) = Me.LvGears.Items(i).SubItems(3).Text
+			GBX0.gs_files.Add(New cSubPath)
+			GBX0.gsFile(i) = Me.LvGears.Items(i).SubItems(4).Text
+			GBX0.FldFiles.Add(New cSubPath)
+			GBX0.FldFile(i) = Me.LvGears.Items(i).SubItems(5).Text
+		Next
+
+		GBX0.gs_TorqueResv = fTextboxToNumString(Me.TbTqResv.Text)
+		GBX0.gs_SkipGears = Me.ChSkipGears.Checked
+		GBX0.gs_ShiftTime = fTextboxToNumString(Me.TbShiftTime.Text)
+		GBX0.gs_TorqueResvStart = fTextboxToNumString(Me.TbTqResvStart.Text)
+		GBX0.gs_StartSpeed = fTextboxToNumString(Me.TbStartSpeed.Text)
+		GBX0.gs_StartAcc = fTextboxToNumString(Me.TbStartAcc.Text)
+		GBX0.gs_ShiftInside = Me.ChShiftInside.Checked
+
+		GBX0.gs_Type = CType(Me.CbGStype.SelectedIndex, tGearbox)
+
+		GBX0.TCon = Me.ChTCon.Checked
+		GBX0.TCfile = Me.TbTCfile.Text
+		GBX0.TCrefrpm = fTextboxToNumString(Me.TbTCrefrpm.Text)
+		GBX0.TCinertia = fTextboxToNumString(Me.TbTCinertia.Text)
+
+		If Not GBX0.SaveFile Then
+			MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical)
+			Return False
+		End If
 
-    End Function
+		If AutoSendTo Then
+			If F_VECTO.Visible Then
+				If UCase(fFileRepl(F_VECTO.TbGBX.Text, JobDir)) <> UCase(file) Then F_VECTO.TbGBX.Text = fFileWoDir(file, JobDir)
+				F_VECTO.UpdatePic()
+			End If
+		End If
 
-#Region "Change Events"
+		fbGBX.UpdateHistory(file)
+		Me.Text = fFILE(file, True)
+		Me.LbStatus.Text = ""
 
-    'Change Status ändern |@@| Change Status change
-    Private Sub Change()
-        If Not Changed Then
-            Me.LbStatus.Text = "Unsaved changes in current file"
-            Changed = True
-        End If
-    End Sub
+		Changed = False
 
-    ' "Save changes ?" ...liefert True wenn User Vorgang abbricht |@@| Save changes? "... Returns True if user aborts
-    Private Function ChangeCheckCancel() As Boolean
+		Return True
+	End Function
 
-        If Changed Then
-            Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel)
-                Case MsgBoxResult.Yes
-                    Return Not SaveOrSaveAs(False)
-                Case MsgBoxResult.Cancel
-                    Return True
-                Case Else 'MsgBoxResult.No
-                    Changed = False
-                    Return False
-            End Select
+#Region "Change Events"
 
-        Else
+	'Change Status ändern |@@| Change Status change
+	Private Sub Change()
+		If Not Changed Then
+			Me.LbStatus.Text = "Unsaved changes in current file"
+			Changed = True
+		End If
+	End Sub
 
-            Return False
+	' "Save changes ?" ...liefert True wenn User Vorgang abbricht |@@| Save changes? "... Returns True if user aborts
+	Private Function ChangeCheckCancel() As Boolean
 
-        End If
+		If Changed Then
+			Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel)
+				Case MsgBoxResult.Yes
+					Return Not SaveOrSaveAs(False)
+				Case MsgBoxResult.Cancel
+					Return True
+				Case Else 'MsgBoxResult.No
+					Changed = False
+					Return False
+			End Select
 
-    End Function
+		Else
 
-    Private Sub TbName_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbName.TextChanged
-        Change()
-    End Sub
+			Return False
 
-    Private Sub TBI_getr_TextChanged(sender As System.Object, e As System.EventArgs) Handles TBI_getr.TextChanged
-        Change()
-    End Sub
+		End If
+	End Function
 
-    Private Sub TbTracInt_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTracInt.TextChanged
-        Change()
-    End Sub
+	Private Sub TbName_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbName.TextChanged
+		Change()
+	End Sub
 
-    Private Sub ChSkipGears_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles ChSkipGears.CheckedChanged
-        CheckEnableTorqRes()
-        Change()
-    End Sub
+	Private Sub TBI_getr_TextChanged(sender As System.Object, e As System.EventArgs) Handles TBI_getr.TextChanged
+		Change()
+	End Sub
 
-    Private Sub ChShiftInside_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles ChShiftInside.CheckedChanged
-        CheckEnableTorqRes()
-        Change()
-    End Sub
+	Private Sub TbTracInt_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTracInt.TextChanged
+		Change()
+	End Sub
 
-    Private Sub TbTqResv_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTqResv.TextChanged
-        Change()
-    End Sub
+	Private Sub ChSkipGears_CheckedChanged(sender As System.Object, e As System.EventArgs) _
+		Handles ChSkipGears.CheckedChanged
+		CheckEnableTorqRes()
+		Change()
+	End Sub
 
-    Private Sub TbShiftTime_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbShiftTime.TextChanged
-        Change()
-    End Sub
+	Private Sub ChShiftInside_CheckedChanged(sender As System.Object, e As System.EventArgs) _
+		Handles ChShiftInside.CheckedChanged
+		CheckEnableTorqRes()
+		Change()
+	End Sub
 
-    Private Sub TbTqResvStart_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTqResvStart.TextChanged
-        Change()
-    End Sub
+	Private Sub TbTqResv_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTqResv.TextChanged
+		Change()
+	End Sub
 
-    Private Sub TbStartSpeed_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbStartSpeed.TextChanged
-        Change()
-    End Sub
+	Private Sub TbShiftTime_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbShiftTime.TextChanged
+		Change()
+	End Sub
 
-    Private Sub TbStartAcc_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbStartAcc.TextChanged
-        Change()
-    End Sub
+	Private Sub TbTqResvStart_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTqResvStart.TextChanged
+		Change()
+	End Sub
 
-    Private Sub TbTCfile_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTCfile.TextChanged
-        Change()
-    End Sub
+	Private Sub TbStartSpeed_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbStartSpeed.TextChanged
+		Change()
+	End Sub
 
-    Private Sub TbTCrefrpm_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTCrefrpm.TextChanged
-        Change()
-    End Sub
+	Private Sub TbStartAcc_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbStartAcc.TextChanged
+		Change()
+	End Sub
 
-    Private Sub TbTCinertia_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTCinertia.TextChanged
-        Change()
-    End Sub
+	Private Sub TbTCfile_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTCfile.TextChanged
+		Change()
+	End Sub
 
+	Private Sub TbTCrefrpm_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTCrefrpm.TextChanged
+		Change()
+	End Sub
 
-    Private Sub CheckEnableTorqRes()
-        If Me.ChShiftInside.Checked Or Me.ChSkipGears.Checked Then
-            Me.PnTorqRes.Enabled = True
-        Else
-            Me.PnTorqRes.Enabled = False
-        End If
-    End Sub
+	Private Sub TbTCinertia_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbTCinertia.TextChanged
+		Change()
+	End Sub
 
 
+	Private Sub CheckEnableTorqRes()
+		If Me.ChShiftInside.Checked Or Me.ChSkipGears.Checked Then
+			Me.PnTorqRes.Enabled = True
+		Else
+			Me.PnTorqRes.Enabled = False
+		End If
+	End Sub
 
 
 #End Region
 
-    'Save and close
-    Private Sub ButOK_Click(sender As System.Object, e As System.EventArgs) Handles ButOK.Click
-        If SaveOrSaveAs(False) Then Me.Close()
-    End Sub
-
-    'Cancel
-    Private Sub ButCancel_Click(sender As System.Object, e As System.EventArgs) Handles ButCancel.Click
-        Me.Close()
-    End Sub
+	'Save and close
+	Private Sub ButOK_Click(sender As System.Object, e As System.EventArgs) Handles ButOK.Click
+		If SaveOrSaveAs(False) Then Me.Close()
+	End Sub
 
-    'Enable/Disable settings for specific transmission types
-    Private Sub CbGStype_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles CbGStype.SelectedIndexChanged
-        Dim GStype As tGearbox
+	'Cancel
+	Private Sub ButCancel_Click(sender As System.Object, e As System.EventArgs) Handles ButCancel.Click
+		Me.Close()
+	End Sub
 
-        Change()
+	'Enable/Disable settings for specific transmission types
+	Private Sub CbGStype_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) _
+		Handles CbGStype.SelectedIndexChanged
+		Dim GStype As tGearbox
 
-        GStype = CType(Me.CbGStype.SelectedIndex, tGearbox)
+		Change()
 
-        Me.ChShiftInside.Enabled = (GStype = tGearbox.Custom)
-        Me.ChSkipGears.Enabled = (GStype = tGearbox.Custom)
-        Me.ChTCon.Enabled = (GStype = tGearbox.Custom)
+		GStype = CType(Me.CbGStype.SelectedIndex, tGearbox)
 
-        If GStype <> tGearbox.Custom Then
-            Me.ChShiftInside.Checked = Declaration.ShiftInside(GStype)
-            Me.ChSkipGears.Checked = Declaration.SkipGears(GStype)
-            Me.ChTCon.Checked = (GStype = tGearbox.Automatic)
-        End If
+		Me.ChShiftInside.Enabled = (GStype = tGearbox.Custom)
+		Me.ChSkipGears.Enabled = (GStype = tGearbox.Custom)
+		Me.ChTCon.Enabled = (GStype = tGearbox.Custom)
 
-    End Sub
+		If GStype <> tGearbox.Custom Then
+			Me.ChShiftInside.Checked = Declaration.ShiftInside(GStype)
+			Me.ChSkipGears.Checked = Declaration.SkipGears(GStype)
+			Me.ChTCon.Checked = (GStype = tGearbox.Automatic)
+		End If
+	End Sub
 
 
-    Private Sub LvGears_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles LvGears.SelectedIndexChanged
-        UpdatePic()
-    End Sub
+	Private Sub LvGears_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) _
+		Handles LvGears.SelectedIndexChanged
+		UpdatePic()
+	End Sub
 
 #Region "Gears"
 
-    'Gear-DoubleClick
-    Private Sub LvGears_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LvGears.MouseDoubleClick
-        EditGear()
-    End Sub
-
-    'Gear-KeyDown
-    Private Sub LvGears_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles LvGears.KeyDown
-        Select Case e.KeyCode
-            Case Keys.Delete, Keys.Back
-                RemoveGear(False)
-            Case Keys.Enter
-                EditGear()
-        End Select
-    End Sub
-
-    'Remove Gear Button
-    Private Sub BtClearGear_Click(sender As System.Object, e As System.EventArgs) Handles BtRemGear.Click
-        RemoveGear(False)
-    End Sub
-
-    'Add Gear button
-    Private Sub BtAddGear_Click(sender As System.Object, e As System.EventArgs) Handles BtAddGear.Click
-        AddGear()
-        Me.LvGears.Items(Me.LvGears.Items.Count - 1).Selected = True
-        EditGear()
-    End Sub
-
-    'Edit Gear
-    Private Sub EditGear()
-
-        Do
-
-            GearDia.ChIsTCgear.Enabled = (Me.ChTCon.Checked And Me.LvGears.SelectedIndices(0) > 0)
+	'Gear-DoubleClick
+	Private Sub LvGears_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
+		Handles LvGears.MouseDoubleClick
+		EditGear()
+	End Sub
+
+	'Gear-KeyDown
+	Private Sub LvGears_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles LvGears.KeyDown
+		Select Case e.KeyCode
+			Case Keys.Delete, Keys.Back
+				RemoveGear(False)
+			Case Keys.Enter
+				EditGear()
+		End Select
+	End Sub
+
+	'Remove Gear Button
+	Private Sub BtClearGear_Click(sender As System.Object, e As System.EventArgs) Handles BtRemGear.Click
+		RemoveGear(False)
+	End Sub
+
+	'Add Gear button
+	Private Sub BtAddGear_Click(sender As System.Object, e As System.EventArgs) Handles BtAddGear.Click
+		AddGear()
+		Me.LvGears.Items(Me.LvGears.Items.Count - 1).Selected = True
+		EditGear()
+	End Sub
+
+	'Edit Gear
+	Private Sub EditGear()
+
+		Do
+
+			GearDia.ChIsTCgear.Enabled = (Me.ChTCon.Checked And Me.LvGears.SelectedIndices(0) > 0)
 			GearDia.PnShiftPoly.Enabled = (Not Cfg.DeclMode And Me.LvGears.SelectedIndices(0) > 0)
 			GearDia.PnFld.Enabled = (Me.LvGears.SelectedIndices(0) > 0)
-            GearDia.GbxPath = fPATH(GbxFile)
+			GearDia.GbxPath = fPATH(GbxFile)
 			GearDia.TbGear.Text = Me.LvGears.SelectedItems(0).SubItems(0).Text
-            GearDia.TbRatio.Text = Me.LvGears.SelectedItems(0).SubItems(2).Text
-            GearDia.TbMapPath.Text = Me.LvGears.SelectedItems(0).SubItems(3).Text
-            If Me.LvGears.SelectedIndices(0) > 0 Then
-                GearDia.ChIsTCgear.Checked = (Me.ChTCon.Checked And Me.LvGears.SelectedItems(0).SubItems(1).Text = "on")
-                GearDia.TbShiftPolyFile.Text = Me.LvGears.SelectedItems(0).SubItems(4).Text
+			GearDia.TbRatio.Text = Me.LvGears.SelectedItems(0).SubItems(2).Text
+			GearDia.TbMapPath.Text = Me.LvGears.SelectedItems(0).SubItems(3).Text
+			If Me.LvGears.SelectedIndices(0) > 0 Then
+				GearDia.ChIsTCgear.Checked = (Me.ChTCon.Checked And Me.LvGears.SelectedItems(0).SubItems(1).Text = "on")
+				GearDia.TbShiftPolyFile.Text = Me.LvGears.SelectedItems(0).SubItems(4).Text
 				GearDia.TbFld.Text = Me.LvGears.SelectedItems(0).SubItems(5).Text
 			Else
 				GearDia.ChIsTCgear.Checked = False
@@ -539,100 +537,97 @@ Public Class F_GBX
 				GearDia.TbFld.Text = ""
 			End If
 
-            If GearDia.ShowDialog = Windows.Forms.DialogResult.OK Then
+			If GearDia.ShowDialog = Windows.Forms.DialogResult.OK Then
 
-                If GearDia.ChIsTCgear.Checked Then
-                    Me.LvGears.SelectedItems(0).SubItems(1).Text = "on"
-                Else
-                    If Me.ChTCon.Checked Then
-                        Me.LvGears.SelectedItems(0).SubItems(1).Text = "off"
-                    Else
-                        Me.LvGears.SelectedItems(0).SubItems(1).Text = "-"
-                    End If
-                End If
+				If GearDia.ChIsTCgear.Checked Then
+					Me.LvGears.SelectedItems(0).SubItems(1).Text = "on"
+				Else
+					If Me.ChTCon.Checked Then
+						Me.LvGears.SelectedItems(0).SubItems(1).Text = "off"
+					Else
+						Me.LvGears.SelectedItems(0).SubItems(1).Text = "-"
+					End If
+				End If
 
-                Me.LvGears.SelectedItems(0).SubItems(2).Text = GearDia.TbRatio.Text
-                Me.LvGears.SelectedItems(0).SubItems(3).Text = GearDia.TbMapPath.Text
+				Me.LvGears.SelectedItems(0).SubItems(2).Text = GearDia.TbRatio.Text
+				Me.LvGears.SelectedItems(0).SubItems(3).Text = GearDia.TbMapPath.Text
 				Me.LvGears.SelectedItems(0).SubItems(4).Text = GearDia.TbShiftPolyFile.Text
 				Me.LvGears.SelectedItems(0).SubItems(5).Text = GearDia.TbFld.Text
 
-                UpdatePic()
-                Change()
+				UpdatePic()
+				Change()
 
-            Else
-
-                If Me.LvGears.SelectedItems(0).SubItems(2).Text = "" Then RemoveGear(True)
+			Else
 
-            End If
+				If Me.LvGears.SelectedItems(0).SubItems(2).Text = "" Then RemoveGear(True)
 
-            If GearDia.NextGear Then
-                If Me.LvGears.Items.Count - 1 = Me.LvGears.SelectedIndices(0) Then AddGear()
+			End If
 
-                Me.LvGears.Items(Me.LvGears.SelectedIndices(0) + 1).Selected = True
-            End If
+			If GearDia.NextGear Then
+				If Me.LvGears.Items.Count - 1 = Me.LvGears.SelectedIndices(0) Then AddGear()
 
-        Loop Until Not GearDia.NextGear
+				Me.LvGears.Items(Me.LvGears.SelectedIndices(0) + 1).Selected = True
+			End If
 
-    End Sub
+		Loop Until Not GearDia.NextGear
+	End Sub
 
-    'Add Gear
-    Private Sub AddGear()
-        Dim lvi As ListViewItem
+	'Add Gear
+	Private Sub AddGear()
+		Dim lvi As ListViewItem
 
-        lvi = New ListViewItem(Me.LvGears.Items.Count.ToString("00"))
-        If Me.ChTCon.Checked Then
-            lvi.SubItems.Add("off")
-        Else
-            lvi.SubItems.Add("-")
-        End If
-        lvi.SubItems.Add("")
-        lvi.SubItems.Add("")
+		lvi = New ListViewItem(Me.LvGears.Items.Count.ToString("00"))
+		If Me.ChTCon.Checked Then
+			lvi.SubItems.Add("off")
+		Else
+			lvi.SubItems.Add("-")
+		End If
 		lvi.SubItems.Add("")
 		lvi.SubItems.Add("")
-        Me.LvGears.Items.Add(lvi)
-
-        lvi.EnsureVisible()
-
-        Me.LvGears.Focus()
+		lvi.SubItems.Add("")
+		lvi.SubItems.Add("")
+		Me.LvGears.Items.Add(lvi)
 
-        'Change() => NO! Change() is already handled by EditGear
+		lvi.EnsureVisible()
 
-    End Sub
+		Me.LvGears.Focus()
 
-    'Remove Gear
-    Private Sub RemoveGear(ByVal NoChange As Boolean)
-        Dim i0 As Int16
-        Dim i As Int16
-        Dim lv0 As ListViewItem
+		'Change() => NO! Change() is already handled by EditGear
+	End Sub
 
-        If Me.LvGears.Items.Count < 2 Then Exit Sub
+	'Remove Gear
+	Private Sub RemoveGear(ByVal NoChange As Boolean)
+		Dim i0 As Int16
+		Dim i As Int16
+		Dim lv0 As ListViewItem
 
-        If Me.LvGears.SelectedItems.Count = 0 Then Me.LvGears.Items(Me.LvGears.Items.Count - 1).Selected = True
+		If Me.LvGears.Items.Count < 2 Then Exit Sub
 
-        i0 = Me.LvGears.SelectedItems(0).Index
+		If Me.LvGears.SelectedItems.Count = 0 Then Me.LvGears.Items(Me.LvGears.Items.Count - 1).Selected = True
 
-        If i0 = 0 Then Exit Sub 'Must not remove axle
+		i0 = Me.LvGears.SelectedItems(0).Index
 
-        Me.LvGears.SelectedItems(0).Remove()
+		If i0 = 0 Then Exit Sub 'Must not remove axle
 
-        i = 0
-        For Each lv0 In Me.LvGears.Items
-            If lv0.SubItems(0).Text = "Axle" Then Continue For
-            i += 1
-            lv0.SubItems(0).Text = i.ToString("00")
-        Next
+		Me.LvGears.SelectedItems(0).Remove()
 
-        If i0 < Me.LvGears.Items.Count Then
-            Me.LvGears.Items(i0).Selected = True
-            Me.LvGears.Items(i0).EnsureVisible()
-        End If
+		i = 0
+		For Each lv0 In Me.LvGears.Items
+			If lv0.SubItems(0).Text = "Axle" Then Continue For
+			i += 1
+			lv0.SubItems(0).Text = i.ToString("00")
+		Next
 
-        Me.LvGears.Focus()
-        UpdatePic()
+		If i0 < Me.LvGears.Items.Count Then
+			Me.LvGears.Items(i0).Selected = True
+			Me.LvGears.Items(i0).EnsureVisible()
+		End If
 
-        If Not NoChange Then Change()
+		Me.LvGears.Focus()
+		UpdatePic()
 
-    End Sub
+		If Not NoChange Then Change()
+	End Sub
 
 
 #End Region
@@ -640,64 +635,65 @@ Public Class F_GBX
 
 #Region "Open File Context Menu"
 
-    Private CmFiles As String()
+	Private CmFiles As String()
 
-    Private Sub OpenFiles(ParamArray files() As String)
+	Private Sub OpenFiles(ParamArray files() As String)
 
-        If files.Length = 0 Then Exit Sub
+		If files.Length = 0 Then Exit Sub
 
-        CmFiles = files
+		CmFiles = files
 
-        OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName
+		OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName
 
-        CmOpenFile.Show(Cursor.Position)
-
-    End Sub
+		CmOpenFile.Show(Cursor.Position)
+	End Sub
 
-    Private Sub OpenWithToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles OpenWithToolStripMenuItem.Click
-        If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!")
-    End Sub
+	Private Sub OpenWithToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) _
+		Handles OpenWithToolStripMenuItem.Click
+		If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!")
+	End Sub
 
-    Private Sub ShowInFolderToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ShowInFolderToolStripMenuItem.Click
-        If IO.File.Exists(CmFiles(0)) Then
-            Try
-                System.Diagnostics.Process.Start("explorer", "/select,""" & CmFiles(0) & "")
-            Catch ex As Exception
-                MsgBox("Failed to open file!")
-            End Try
-        Else
-            MsgBox("File not found!")
-        End If
-    End Sub
+	Private Sub ShowInFolderToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) _
+		Handles ShowInFolderToolStripMenuItem.Click
+		If IO.File.Exists(CmFiles(0)) Then
+			Try
+				System.Diagnostics.Process.Start("explorer", "/select,""" & CmFiles(0) & "")
+			Catch ex As Exception
+				MsgBox("Failed to open file!")
+			End Try
+		Else
+			MsgBox("File not found!")
+		End If
+	End Sub
 
 #End Region
 
 
-    Private Sub UpdatePic()
+	Private Sub UpdatePic()
 
-        Dim f As cFile_V3 = Nothing
-        Dim path As String
+		Dim f As cFile_V3 = Nothing
+		Dim path As String
 		Dim lM As List(Of Single) = Nothing
 		Dim lup As List(Of Single) = Nothing
 		Dim ldown As List(Of Single) = Nothing
-        Dim line As String() = Nothing
-        Dim MyChart As System.Windows.Forms.DataVisualization.Charting.Chart
-        Dim s As System.Windows.Forms.DataVisualization.Charting.Series
-        Dim a As System.Windows.Forms.DataVisualization.Charting.ChartArea
-        Dim img As Image
-        Dim Gear As Integer
+		Dim line As String() = Nothing
+		Dim MyChart As System.Windows.Forms.DataVisualization.Charting.Chart
+		Dim s As System.Windows.Forms.DataVisualization.Charting.Series
+		Dim a As System.Windows.Forms.DataVisualization.Charting.ChartArea
+		Dim img As Image
+		Dim Gear As Integer
 		Dim fldOK As Boolean = False
 		Dim fldpath As String
 		Dim FLD0 As cFLD = Nothing
 		Dim ShiftOK As Boolean = False
 		Dim Shiftpoly As cGBX.cShiftPolygon
 
-        Me.PicBox.Image = Nothing
+		Me.PicBox.Image = Nothing
 
-        Try
+		Try
 
 			'Check Files
-            If Me.LvGears.Items.Count > 1 Then
+			If Me.LvGears.Items.Count > 1 Then
 
 				If Me.LvGears.SelectedItems.Count > 0 AndAlso Me.LvGears.SelectedIndices(0) > 0 Then
 					path = fFileRepl(Me.LvGears.SelectedItems(0).SubItems(4).Text, fPATH(GbxFile))
@@ -709,7 +705,7 @@ Public Class F_GBX
 					Gear = 1
 				End If
 
-                f = New cFile_V3
+				f = New cFile_V3
 				ShiftOK = f.OpenRead(path)
 
 				If fldpath.Trim = "" Then
@@ -724,14 +720,14 @@ Public Class F_GBX
 					fldOK = FLD0.ReadFile(True, False)
 				End If
 
-            Else
+			Else
 
-                Exit Sub
+				Exit Sub
 
-            End If
+			End If
 
-        Catch ex As Exception
-            Exit Sub
+		Catch ex As Exception
+			Exit Sub
 
 		End Try
 
@@ -765,7 +761,6 @@ Public Class F_GBX
 		End If
 
 
-
 		'Create plot
 		If Not ShiftOK And Not fldOK Then Exit Sub
 
@@ -835,8 +830,6 @@ Public Class F_GBX
 		End If
 
 
-
-
 		a.Name = "main"
 
 		a.AxisX.Title = "engine speed [1/min]"
@@ -868,58 +861,51 @@ Public Class F_GBX
 		MyChart.DrawToBitmap(img, New Rectangle(0, 0, Me.PicBox.Width, Me.PicBox.Height))
 
 		Me.PicBox.Image = img
-
-
 	End Sub
 
 
-
 #Region "Torque Converter"
 
-    'TC on/off
-    Private Sub ChTCon_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles ChTCon.CheckedChanged
-        Change()
-        CheckGearTC()
-        PnTC.Enabled = ChTCon.Checked
-    End Sub
-
-    'Browse TC file
-    Private Sub BtTCfileBrowse_Click(sender As System.Object, e As System.EventArgs) Handles BtTCfileBrowse.Click
-        If fbTCC.OpenDialog(fFileRepl(Me.TbTCfile.Text, fPATH(GbxFile))) Then
-            Me.TbTCfile.Text = fFileWoDir(fbTCC.Files(0), fPATH(GbxFile))
-        End If
-    End Sub
+	'TC on/off
+	Private Sub ChTCon_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles ChTCon.CheckedChanged
+		Change()
+		CheckGearTC()
+		PnTC.Enabled = ChTCon.Checked
+	End Sub
 
-    'Open TC file
-    Private Sub BtTCfileOpen_Click(sender As System.Object, e As System.EventArgs) Handles BtTCfileOpen.Click
-        OpenFiles(fFileRepl(Me.TbTCfile.Text, fPATH(GbxFile)))
-    End Sub
+	'Browse TC file
+	Private Sub BtTCfileBrowse_Click(sender As System.Object, e As System.EventArgs) Handles BtTCfileBrowse.Click
+		If fbTCC.OpenDialog(fFileRepl(Me.TbTCfile.Text, fPATH(GbxFile))) Then
+			Me.TbTCfile.Text = fFileWoDir(fbTCC.Files(0), fPATH(GbxFile))
+		End If
+	End Sub
 
-    Private Sub CheckGearTC()
-        Dim lv0 As ListViewItem
+	'Open TC file
+	Private Sub BtTCfileOpen_Click(sender As System.Object, e As System.EventArgs) Handles BtTCfileOpen.Click
+		OpenFiles(fFileRepl(Me.TbTCfile.Text, fPATH(GbxFile)))
+	End Sub
 
-        If Not Init Then Exit Sub
+	Private Sub CheckGearTC()
+		Dim lv0 As ListViewItem
 
-        For Each lv0 In Me.LvGears.Items
+		If Not Init Then Exit Sub
 
-            If lv0.SubItems(0).Text = "Axle" Then Continue For
+		For Each lv0 In Me.LvGears.Items
 
-            If Me.ChTCon.Checked Then
-                If lv0.Index = 1 Then
-                    lv0.SubItems(1).Text = "on"
-                Else
-                    lv0.SubItems(1).Text = "off"
-                End If
-            Else
-                lv0.SubItems(1).Text = "-"
-            End If
-        Next
+			If lv0.SubItems(0).Text = "Axle" Then Continue For
 
-    End Sub
+			If Me.ChTCon.Checked Then
+				If lv0.Index = 1 Then
+					lv0.SubItems(1).Text = "on"
+				Else
+					lv0.SubItems(1).Text = "off"
+				End If
+			Else
+				lv0.SubItems(1).Text = "-"
+			End If
+		Next
+	End Sub
 
 
 #End Region
-
-
- 
 End Class
diff --git a/VECTO/GUI/F_Graph.vb b/VECTO/GUI/F_Graph.vb
index 923e092879c9cfb834c290661d108494465d57d5..f386389d2d8c91506e0b5a84977161ca1886ef3d 100644
--- a/VECTO/GUI/F_Graph.vb
+++ b/VECTO/GUI/F_Graph.vb
@@ -12,586 +12,573 @@
 Imports System.Collections.Generic
 
 Public Class F_Graph
+	Private Filepath As String
+	Private Channels As List(Of cChannel)
+	Private DistList As List(Of Single)
+	Private TimeList As List(Of Single)
 
-    Private Filepath As String
-    Private Channels As List(Of cChannel)
-    Private DistList As List(Of Single)
-    Private TimeList As List(Of Single)
+	Private xMin As Single
+	Private xMax As Single
 
-    Private xMin As Single
-    Private xMax As Single
+	Private xMax0 As Single
 
-    Private xMax0 As Single
 
+	Public Sub New()
 
-    Public Sub New()
+		' Dieser Aufruf ist für den Designer erforderlich.
+		InitializeComponent()
 
-        ' Dieser Aufruf ist für den Designer erforderlich.
-        InitializeComponent()
+		' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+		Channels = New List(Of cChannel)
 
-        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
-        Channels = New List(Of cChannel)
+		Clear()
 
-        Clear()
+		Me.CbXaxis.SelectedIndex = 0
+	End Sub
 
-        Me.CbXaxis.SelectedIndex = 0
+	Private Sub ToolStripBtOpen_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtOpen.Click
 
+		If fbVMOD.OpenDialog(Filepath) Then
 
-    End Sub
+			LoadNewFile(fbVMOD.Files(0))
 
-    Private Sub ToolStripBtOpen_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtOpen.Click
-       
-        If fbVMOD.OpenDialog(Filepath) Then
+		End If
+	End Sub
 
-            LoadNewFile(fbVMOD.Files(0))
 
-        End If
+	Private Sub ToolStripButton2_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton2.Click
+		LoadFile()
+	End Sub
 
-    End Sub
+	Public Sub LoadNewFile(ByVal Path As String)
+		Dim lv0 As ListViewItem
+		Dim i As Integer
 
+		Clear()
 
-    Private Sub ToolStripButton2_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton2.Click
-        LoadFile()
-    End Sub
+		Filepath = Path
 
-    Public Sub LoadNewFile(ByVal Path As String)
-        Dim lv0 As ListViewItem
-        Dim i As Integer
+		LoadFile()
 
-        Clear()
+		For i = 2 To 3
+			lv0 = New ListViewItem
+			lv0.Text = Channels(i).Name
+			lv0.SubItems.Add("Left")
+			lv0.Tag = i
+			lv0.Checked = True
+			Me.ListView1.Items.Add(lv0)
+		Next
+	End Sub
 
-        Filepath = Path
+	Private Sub LoadFile()
+		Dim file As cFile_V3
+		Dim i As Integer
+		Dim sDim As Integer
+		Dim line As String()
+		Dim c0 As cChannel
+		Dim l0 As List(Of String)
 
-        LoadFile()
 
-        For i = 2 To 3
-            lv0 = New ListViewItem
-            lv0.Text = Channels(i).Name
-            lv0.SubItems.Add("Left")
-            lv0.Tag = i
-            lv0.Checked = True
-            Me.ListView1.Items.Add(lv0)
-        Next
+		file = New cFile_V3
 
-    End Sub
+		If file.OpenRead(Filepath) Then
 
-    Private Sub LoadFile()
-        Dim file As cFile_V3
-        Dim i As Integer
-        Dim sDim As Integer
-        Dim line As String()
-        Dim c0 As cChannel
-        Dim l0 As List(Of String)
+			Try
 
+				Channels.Clear()
 
-        file = New cFile_V3
+				'Header
+				line = file.ReadLine
 
-        If file.OpenRead(Filepath) Then
+				sDim = UBound(line)
 
-            Try
+				For i = 0 To sDim
+					c0 = New cChannel
+					c0.Name = line(i)
+					c0.Values = New List(Of String)
+					Channels.Add(c0)
+				Next
 
-                Channels.Clear()
+				'Values
+				Do While Not file.EndOfFile
+					line = file.ReadLine
+					For i = 0 To sDim
+						Channels(i).Values.Add(line(i))
+					Next
+				Loop
 
-                'Header
-                line = file.ReadLine
+				file.Close()
 
-                sDim = UBound(line)
+				l0 = Channels(0).Values
+				TimeList = New List(Of Single)
+				For i = 0 To l0.Count - 1
+					TimeList.Add(CSng(l0(i)))
+				Next
 
-                For i = 0 To sDim
-                    c0 = New cChannel
-                    c0.Name = line(i)
-                    c0.Values = New List(Of String)
-                    Channels.Add(c0)
-                Next
+				l0 = Channels(1).Values
+				DistList = New List(Of Single)
+				For i = 0 To l0.Count - 1
+					DistList.Add(CSng(l0(i)))
+				Next
 
-                'Values
-                Do While Not file.EndOfFile
-                    line = file.ReadLine
-                    For i = 0 To sDim
-                        Channels(i).Values.Add(line(i))
-                    Next
-                Loop
+				SetxMax0()
 
-                file.Close()
+				Me.TbXmin.Text = 0
+				Me.TbXmax.Text = xMax0
 
-                l0 = Channels(0).Values
-                TimeList = New List(Of Single)
-                For i = 0 To l0.Count - 1
-                    TimeList.Add(CSng(l0(i)))
-                Next
+				Me.Text = fFILE(Filepath, True)
 
-                l0 = Channels(1).Values
-                DistList = New List(Of Single)
-                For i = 0 To l0.Count - 1
-                    DistList.Add(CSng(l0(i)))
-                Next
+			Catch ex As Exception
+				file.Close()
+				Exit Sub
+			End Try
 
-                SetxMax0()
+		End If
 
-                Me.TbXmin.Text = 0
-                Me.TbXmax.Text = xMax0
+		UpdateGraph()
+	End Sub
 
-                Me.Text = fFILE(Filepath, True)
+	Private Sub SetxMax0()
 
-            Catch ex As Exception
-                file.Close()
-                Exit Sub
-            End Try
+		If Channels.Count = 0 Then Exit Sub
 
-        End If
+		If Me.CbXaxis.SelectedIndex = 0 Then
+			xMax0 = DistList(DistList.Count - 1)
+		Else
+			xMax0 = TimeList(TimeList.Count - 1)
+		End If
+	End Sub
 
-        UpdateGraph()
+	Private Sub UpdateGraph()
+		Dim lv0 As ListViewItem
+		Dim MyChart As System.Windows.Forms.DataVisualization.Charting.Chart
+		Dim s As System.Windows.Forms.DataVisualization.Charting.Series
+		Dim a As System.Windows.Forms.DataVisualization.Charting.ChartArea
+		Dim OverDist As Boolean
+		Dim leftaxis As New List(Of String)
+		Dim rightaxis As New List(Of String)
+		Dim IsLeft As Boolean
+		Dim txt As String
+		Dim i As Integer
+		Dim img As Image
 
-    End Sub
+		If Me.WindowState = FormWindowState.Minimized Then Exit Sub
 
-    Private Sub SetxMax0()
+		If Me.ListView1.CheckedItems.Count = 0 Then
+			Me.PictureBox1.Image = Nothing
+			Exit Sub
+		End If
 
-        If Channels.Count = 0 Then Exit Sub
+		OverDist = (Me.CbXaxis.SelectedIndex = 0)
 
-        If Me.CbXaxis.SelectedIndex = 0 Then
-            xMax0 = DistList(DistList.Count - 1)
-        Else
-            xMax0 = TimeList(TimeList.Count - 1)
-        End If
+		SetxMax0()
 
-    End Sub
 
-    Private Sub UpdateGraph()
-        Dim lv0 As ListViewItem
-        Dim MyChart As System.Windows.Forms.DataVisualization.Charting.Chart
-        Dim s As System.Windows.Forms.DataVisualization.Charting.Series
-        Dim a As System.Windows.Forms.DataVisualization.Charting.ChartArea
-        Dim OverDist As Boolean
-        Dim leftaxis As New List(Of String)
-        Dim rightaxis As New List(Of String)
-        Dim IsLeft As Boolean
-        Dim txt As String
-        Dim i As Integer
-        Dim img As Image
+		MyChart = New System.Windows.Forms.DataVisualization.Charting.Chart
+		MyChart.Width = Me.PictureBox1.Width
+		MyChart.Height = Me.PictureBox1.Height
 
-        If Me.WindowState = FormWindowState.Minimized Then Exit Sub
+		a = New System.Windows.Forms.DataVisualization.Charting.ChartArea
 
-        If Me.ListView1.CheckedItems.Count = 0 Then
-            Me.PictureBox1.Image = Nothing
-            Exit Sub
-        End If
 
-        OverDist = (Me.CbXaxis.SelectedIndex = 0)
+		For Each lv0 In Me.ListView1.CheckedItems
 
-        SetxMax0()
+			IsLeft = (lv0.SubItems(1).Text = "Left")
 
+			s = New System.Windows.Forms.DataVisualization.Charting.Series
 
-        MyChart = New System.Windows.Forms.DataVisualization.Charting.Chart
-        MyChart.Width = Me.PictureBox1.Width
-        MyChart.Height = Me.PictureBox1.Height
+			If OverDist Then
+				s.Points.DataBindXY(DistList, Channels(lv0.Tag).Values)
+			Else
+				s.Points.DataBindXY(TimeList, Channels(lv0.Tag).Values)
+			End If
 
-        a = New System.Windows.Forms.DataVisualization.Charting.ChartArea
+			s.ChartType = DataVisualization.Charting.SeriesChartType.FastLine
+			s.Name = lv0.Text
+			s.BorderWidth = 2
 
+			If IsLeft Then
+				If Not leftaxis.Contains(lv0.SubItems(0).Text) Then leftaxis.Add(lv0.SubItems(0).Text)
+			Else
+				If Not rightaxis.Contains(lv0.SubItems(0).Text) Then rightaxis.Add(lv0.SubItems(0).Text)
+				s.YAxisType = DataVisualization.Charting.AxisType.Secondary
+			End If
 
-        For Each lv0 In Me.ListView1.CheckedItems
+			MyChart.Series.Add(s)
 
-            IsLeft = (lv0.SubItems(1).Text = "Left")
+		Next
 
-            s = New System.Windows.Forms.DataVisualization.Charting.Series
 
-            If OverDist Then
-                s.Points.DataBindXY(DistList, Channels(lv0.Tag).Values)
-            Else
-                s.Points.DataBindXY(TimeList, Channels(lv0.Tag).Values)
-            End If
+		a.Name = "main"
 
-            s.ChartType = DataVisualization.Charting.SeriesChartType.FastLine
-            s.Name = lv0.Text
-            s.BorderWidth = 2
+		If OverDist Then
+			a.AxisX.Title = "distance [km]"
+		Else
+			a.AxisX.Title = "time [s]"
+		End If
+		a.AxisX.TitleFont = New Font("Helvetica", 10)
+		a.AxisX.LabelStyle.Font = New Font("Helvetica", 8)
+		a.AxisX.LabelAutoFitStyle = DataVisualization.Charting.LabelAutoFitStyles.None
+		a.AxisX.MajorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.Dot
 
-            If IsLeft Then
-                If Not leftaxis.Contains(lv0.SubItems(0).Text) Then leftaxis.Add(lv0.SubItems(0).Text)
-            Else
-                If Not rightaxis.Contains(lv0.SubItems(0).Text) Then rightaxis.Add(lv0.SubItems(0).Text)
-                s.YAxisType = DataVisualization.Charting.AxisType.Secondary
-            End If
+		If xMax > xMin Then
+			a.AxisX.Minimum = xMin
+			a.AxisX.Maximum = xMax
+			a.AxisX.Interval = xAutoInt()
+		Else
+			a.AxisX.Minimum = 0
+			a.AxisX.Maximum = xMax0
+		End If
 
-            MyChart.Series.Add(s)
 
-        Next
+		If leftaxis.Count > 0 Then
 
+			txt = leftaxis(0)
+			For i = 1 To leftaxis.Count - 1
+				txt &= ", " & leftaxis(i)
+			Next
 
-        a.Name = "main"
+			a.AxisY.Title = txt
+			a.AxisY.TitleFont = New Font("Helvetica", 10)
+			a.AxisY.LabelStyle.Font = New Font("Helvetica", 8)
+			a.AxisY.LabelAutoFitStyle = DataVisualization.Charting.LabelAutoFitStyles.None
 
-        If OverDist Then
-            a.AxisX.Title = "distance [km]"
-        Else
-            a.AxisX.Title = "time [s]"
-        End If
-        a.AxisX.TitleFont = New Font("Helvetica", 10)
-        a.AxisX.LabelStyle.Font = New Font("Helvetica", 8)
-        a.AxisX.LabelAutoFitStyle = DataVisualization.Charting.LabelAutoFitStyles.None
-        a.AxisX.MajorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.Dot
+		End If
 
-        If xMax > xMin Then
-            a.AxisX.Minimum = xMin
-            a.AxisX.Maximum = xMax
-            a.AxisX.Interval = xAutoInt()
-        Else
-            a.AxisX.Minimum = 0
-            a.AxisX.Maximum = xMax0
-        End If
+		If rightaxis.Count > 0 Then
 
+			txt = rightaxis(0)
+			For i = 1 To rightaxis.Count - 1
+				txt &= ", " & rightaxis(i)
+			Next
 
+			a.AxisY2.Title = txt
+			a.AxisY2.TitleFont = New Font("Helvetica", 10)
+			a.AxisY2.LabelStyle.Font = New Font("Helvetica", 8)
+			a.AxisY2.LabelAutoFitStyle = DataVisualization.Charting.LabelAutoFitStyles.None
+			a.AxisY2.MinorGrid.Enabled = False
+			a.AxisY2.MajorGrid.Enabled = False
 
-        If leftaxis.Count > 0 Then
+		End If
 
-            txt = leftaxis(0)
-            For i = 1 To leftaxis.Count - 1
-                txt &= ", " & leftaxis(i)
-            Next
+		a.BackColor = Color.GhostWhite
 
-            a.AxisY.Title = txt
-            a.AxisY.TitleFont = New Font("Helvetica", 10)
-            a.AxisY.LabelStyle.Font = New Font("Helvetica", 8)
-            a.AxisY.LabelAutoFitStyle = DataVisualization.Charting.LabelAutoFitStyles.None
+		a.BorderDashStyle = DataVisualization.Charting.ChartDashStyle.Solid
+		a.BorderWidth = 1
 
-        End If
+		MyChart.ChartAreas.Add(a)
 
-        If rightaxis.Count > 0 Then
+		With MyChart.ChartAreas(0)
+			.Position.X = 0
+			.Position.Y = 0
+			.Position.Width = 85
+			.Position.Height = 100
+		End With
 
-            txt = rightaxis(0)
-            For i = 1 To rightaxis.Count - 1
-                txt &= ", " & rightaxis(i)
-            Next
+		MyChart.Legends.Add("main")
+		MyChart.Legends(0).Font = New Font("Helvetica", 8)
+		MyChart.Legends(0).BorderColor = Color.Black
+		MyChart.Legends(0).BorderWidth = 1
+		MyChart.Legends(0).Position.X = 86
+		MyChart.Legends(0).Position.Y = 3
+		MyChart.Legends(0).Position.Width = 13
+		MyChart.Legends(0).Position.Height = 40
+
+		MyChart.Update()
+
+		img = New Bitmap(MyChart.Width, MyChart.Height, Imaging.PixelFormat.Format32bppArgb)
+		MyChart.DrawToBitmap(img, New Rectangle(0, 0, Me.PictureBox1.Width, Me.PictureBox1.Height))
 
-            a.AxisY2.Title = txt
-            a.AxisY2.TitleFont = New Font("Helvetica", 10)
-            a.AxisY2.LabelStyle.Font = New Font("Helvetica", 8)
-            a.AxisY2.LabelAutoFitStyle = DataVisualization.Charting.LabelAutoFitStyles.None
-            a.AxisY2.MinorGrid.Enabled = False
-            a.AxisY2.MajorGrid.Enabled = False
+		Me.PictureBox1.Image = img
+	End Sub
 
-        End If
+	Private Function xAutoInt() As Single
+		Dim Interv0 As Single
+		Dim Grx As Long
+		Dim xyd(3) As Single
+		Dim xydmin As Single
+		Dim xyamin As Single
+		Dim xya(3) As Single
+		Dim i As Int16
 
-        a.BackColor = Color.GhostWhite
+		Interv0 = (xMax - xMin)/10
 
-        a.BorderDashStyle = DataVisualization.Charting.ChartDashStyle.Solid
-        a.BorderWidth = 1
+		Grx = 20
+		Do While 10^Grx > Interv0
+			Grx = Grx - 1
+		Loop
+
+		xyd(0) = 1*10^Grx
+		xyd(1) = 2.5*10^Grx
+		xyd(2) = 5*10^Grx
+		xyd(3) = 10*10^Grx
+		For i = 0 To 3
+			xya(i) = Math.Abs(Interv0 - xyd(i))
+		Next
+
+		xyamin = xya(0)
+		xydmin = xyd(0)
+		For i = 1 To 3
+			If xya(i) < xyamin Then
+				xyamin = xya(i)
+				xydmin = xyd(i)
+			End If
+		Next
 
-        MyChart.ChartAreas.Add(a)
+		'Intervall speichern
+		Return xydmin
+	End Function
 
-        With MyChart.ChartAreas(0)
-            .Position.X = 0
-            .Position.Y = 0
-            .Position.Width = 85
-            .Position.Height = 100
-        End With
+	Private Sub Clear()
 
-        MyChart.Legends.Add("main")
-        MyChart.Legends(0).Font = New Font("Helvetica", 8)
-        MyChart.Legends(0).BorderColor = Color.Black
-        MyChart.Legends(0).BorderWidth = 1
-        MyChart.Legends(0).Position.X = 86
-        MyChart.Legends(0).Position.Y = 3
-        MyChart.Legends(0).Position.Width = 13
-        MyChart.Legends(0).Position.Height = 40
+		Filepath = ""
 
-        MyChart.Update()
+		Me.ListView1.Items.Clear()
 
-        img = New Bitmap(MyChart.Width, MyChart.Height, Imaging.PixelFormat.Format32bppArgb)
-        MyChart.DrawToBitmap(img, New Rectangle(0, 0, Me.PictureBox1.Width, Me.PictureBox1.Height))
+		Me.TbXmin.Text = ""
+		Me.TbXmax.Text = ""
 
-        Me.PictureBox1.Image = img
+		Me.PictureBox1.Image = Nothing
+	End Sub
 
-    End Sub
+	Private Class cChannel
+		Public Name As String
+		Public Values As List(Of String)
+	End Class
 
-    Private Function xAutoInt() As Single
-        Dim Interv0 As Single
-        Dim Grx As Long
-        Dim xyd(3) As Single
-        Dim xydmin As Single
-        Dim xyamin As Single
-        Dim xya(3) As Single
-        Dim i As Int16
+	Private Sub BtAddCh_Click(sender As System.Object, e As System.EventArgs) Handles BtAddCh.Click
+		Dim dlog As New F_Graph_ChEdit
+		Dim i As Integer
+		Dim lv0 As ListViewItem
 
-        Interv0 = (xMax - xMin) / 10
+		If Channels.Count = 0 Then Exit Sub
 
-        Grx = 20
-        Do While 10 ^ Grx > Interv0
-            Grx = Grx - 1
-        Loop
+		For i = 0 To Channels.Count - 1
+			dlog.ComboBox1.Items.Add(Channels(i).Name)
+		Next
 
-        xyd(0) = 1 * 10 ^ Grx
-        xyd(1) = 2.5 * 10 ^ Grx
-        xyd(2) = 5 * 10 ^ Grx
-        xyd(3) = 10 * 10 ^ Grx
-        For i = 0 To 3
-            xya(i) = Math.Abs(Interv0 - xyd(i))
-        Next
+		dlog.RbLeft.Checked = True
 
-        xyamin = xya(0)
-        xydmin = xyd(0)
-        For i = 1 To 3
-            If xya(i) < xyamin Then
-                xyamin = xya(i)
-                xydmin = xyd(i)
-            End If
-        Next
+		dlog.ComboBox1.SelectedIndex = 0
 
-        'Intervall speichern
-        Return xydmin
+		If dlog.ShowDialog = Windows.Forms.DialogResult.OK Then
+			lv0 = New ListViewItem
+			i = dlog.ComboBox1.SelectedIndex
+			lv0.Text = Channels(i).Name
+			lv0.Tag = i
+			lv0.Checked = True
+			If dlog.RbLeft.Checked Then
+				lv0.SubItems.Add("Left")
+			Else
+				lv0.SubItems.Add("Right")
+			End If
+
+			Me.ListView1.Items.Add(lv0)
+
+			UpdateGraph()
+
+		End If
+	End Sub
+
+	Private Sub EditChannel()
+		Dim dlog As New F_Graph_ChEdit
+		Dim i As Integer
+		Dim lv0 As ListViewItem
+
+		If Me.ListView1.SelectedItems.Count = 0 Or Channels.Count = 0 Then Exit Sub
+
+		lv0 = Me.ListView1.SelectedItems(0)
+
+		For i = 0 To Channels.Count - 1
+			dlog.ComboBox1.Items.Add(Channels(i).Name)
+		Next
+
+		If lv0.SubItems(1).Text = "Left" Then
+			dlog.RbLeft.Checked = True
+		Else
+			dlog.RbRight.Checked = True
+		End If
+
+		dlog.ComboBox1.SelectedIndex = lv0.Tag
+
+		If dlog.ShowDialog = Windows.Forms.DialogResult.OK Then
+			i = dlog.ComboBox1.SelectedIndex
+			lv0.Text = Channels(i).Name
+			lv0.Tag = i
+			lv0.Checked = True
+			If dlog.RbLeft.Checked Then
+				lv0.SubItems(1).Text = "Left"
+			Else
+				lv0.SubItems(1).Text = "Right"
+			End If
+
+			UpdateGraph()
+
+		End If
+	End Sub
+
+	Private Sub RemoveChannel()
+		Dim i0 As Int16
 
-    End Function
+		If Me.ListView1.Items.Count = 0 Then Exit Sub
 
-    Private Sub Clear()
+		If Me.ListView1.SelectedItems.Count = 0 Then Me.ListView1.Items(Me.ListView1.Items.Count - 1).Selected = True
 
-        Filepath = ""
+		i0 = Me.ListView1.SelectedItems(0).Index
 
-        Me.ListView1.Items.Clear()
+		Me.ListView1.SelectedItems(0).Remove()
 
-        Me.TbXmin.Text = ""
-        Me.TbXmax.Text = ""
+		If i0 < Me.ListView1.Items.Count Then
+			Me.ListView1.Items(i0).Selected = True
+			Me.ListView1.Items(i0).EnsureVisible()
+		End If
 
-        Me.PictureBox1.Image = Nothing
-    End Sub
+		UpdateGraph()
+	End Sub
 
-    Private Class cChannel
-        Public Name As String
-        Public Values As List(Of String)
-
-    End Class
-
-    Private Sub BtAddCh_Click(sender As System.Object, e As System.EventArgs) Handles BtAddCh.Click
-        Dim dlog As New F_Graph_ChEdit
-        Dim i As Integer
-        Dim lv0 As ListViewItem
-
-        If Channels.Count = 0 Then Exit Sub
-
-        For i = 0 To Channels.Count - 1
-            dlog.ComboBox1.Items.Add(Channels(i).Name)
-        Next
-
-        dlog.RbLeft.Checked = True
-
-        dlog.ComboBox1.SelectedIndex = 0
-
-        If dlog.ShowDialog = Windows.Forms.DialogResult.OK Then
-            lv0 = New ListViewItem
-            i = dlog.ComboBox1.SelectedIndex
-            lv0.Text = Channels(i).Name
-            lv0.Tag = i
-            lv0.Checked = True
-            If dlog.RbLeft.Checked Then
-                lv0.SubItems.Add("Left")
-            Else
-                lv0.SubItems.Add("Right")
-            End If
-
-            Me.ListView1.Items.Add(lv0)
-
-            UpdateGraph()
-
-        End If
-
-    End Sub
-
-    Private Sub EditChannel()
-        Dim dlog As New F_Graph_ChEdit
-        Dim i As Integer
-        Dim lv0 As ListViewItem
-
-        If Me.ListView1.SelectedItems.Count = 0 Or Channels.Count = 0 Then Exit Sub
-
-        lv0 = Me.ListView1.SelectedItems(0)
-
-        For i = 0 To Channels.Count - 1
-            dlog.ComboBox1.Items.Add(Channels(i).Name)
-        Next
-
-        If lv0.SubItems(1).Text = "Left" Then
-            dlog.RbLeft.Checked = True
-        Else
-            dlog.RbRight.Checked = True
-        End If
-
-        dlog.ComboBox1.SelectedIndex = lv0.Tag
-
-        If dlog.ShowDialog = Windows.Forms.DialogResult.OK Then
-            i = dlog.ComboBox1.SelectedIndex
-            lv0.Text = Channels(i).Name
-            lv0.Tag = i
-            lv0.Checked = True
-            If dlog.RbLeft.Checked Then
-                lv0.SubItems(1).Text = "Left"
-            Else
-                lv0.SubItems(1).Text = "Right"
-            End If
-
-            UpdateGraph()
-
-        End If
-
-    End Sub
-
-    Private Sub RemoveChannel()
-        Dim i0 As Int16
-
-        If Me.ListView1.Items.Count = 0 Then Exit Sub
-
-        If Me.ListView1.SelectedItems.Count = 0 Then Me.ListView1.Items(Me.ListView1.Items.Count - 1).Selected = True
-
-        i0 = Me.ListView1.SelectedItems(0).Index
-
-        Me.ListView1.SelectedItems(0).Remove()
-
-        If i0 < Me.ListView1.Items.Count Then
-            Me.ListView1.Items(i0).Selected = True
-            Me.ListView1.Items(i0).EnsureVisible()
-        End If
-
-        UpdateGraph()
-
-    End Sub
-
-    Private Sub ListView1_DoubleClick(sender As Object, e As System.EventArgs) Handles ListView1.DoubleClick
-        If Me.ListView1.SelectedItems.Count > 0 Then
-            Me.ListView1.SelectedItems(0).Checked = Not Me.ListView1.SelectedItems(0).Checked
-            EditChannel()
-        End If
-    End Sub
-
-    Private Sub BtRemCh_Click(sender As System.Object, e As System.EventArgs) Handles BtRemCh.Click
-        RemoveChannel()
-    End Sub
-
-    Private Sub ListView1_ItemChecked(sender As Object, e As System.Windows.Forms.ItemCheckedEventArgs) Handles ListView1.ItemChecked
-        UpdateGraph()
-    End Sub
-
-    Private Sub ListView1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles ListView1.KeyDown
-        Select Case e.KeyCode
-            Case Keys.Delete, Keys.Back
-                RemoveChannel()
-            Case Keys.Enter
-                EditChannel()
-        End Select
-    End Sub
-
-    Private Sub CbXaxis_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles CbXaxis.SelectedIndexChanged
-        SetxMax0()
-        Me.TbXmin.Text = 0
-        Me.TbXmax.Text = xMax0
-        UpdateGraph()
-    End Sub
-
-    Private Sub BtReset_Click(sender As System.Object, e As System.EventArgs) Handles BtReset.Click
-        xMin = 0
-        xMax = xMax0
-        Me.TbXmin.Text = 0
-        Me.TbXmax.Text = xMax0
-    End Sub
-
-    Private Sub TbXmin_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbXmin.TextChanged
-        If IsNumeric(Me.TbXmin.Text) Then xMin = Me.TbXmin.Text
-        UpdateGraph()
-    End Sub
-
-    Private Sub TbXmax_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbXmax.TextChanged
-        If IsNumeric(Me.TbXmax.Text) Then xMax = Me.TbXmax.Text
-        UpdateGraph()
-    End Sub
-
-    Private Sub ToolStripButton3_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton3.Click
-        Dim FGraph As New F_Graph
-        FGraph.Show()
-    End Sub
-
-    Private Sub F_Graph_SizeChanged(sender As Object, e As System.EventArgs) Handles Me.SizeChanged
-        UpdateGraph()
-    End Sub
-
-    Private Sub BtZoomIn_Click(sender As System.Object, e As System.EventArgs) Handles BtZoomIn.Click
-        Dim d As Single
-
-        d = (xMax - xMin) / 10
-
-        xMin += 2 * 0.5 * d
-        xMax -= 2 * (1 - 0.5) * d
-
-        If xMin > 1000 Then
-            xMin = Math.Round(xMin / 100, 0) * 100
-        Else
-            xMin = Math.Round(xMin, 0)
-        End If
-
-        Me.TbXmin.Text = xMin
-        Me.TbXmax.Text = xMax
-      
-    End Sub
-
-    Private Sub BtZoomOut_Click(sender As System.Object, e As System.EventArgs) Handles BtZoomOut.Click
-        Dim d As Single
-
-        d = (xMax - xMin) / 10
-
-        xMin -= 2 * 0.5 * d
-        xMax += 2 * (1 - 0.5) * d
-
-        If xMin > 1000 Then
-            xMin = Math.Round(xMin / 100, 0) * 100
-        Else
-            xMin = Math.Round(xMin, 0)
-        End If
-
-        Me.TbXmin.Text = xMin
-        Me.TbXmax.Text = xMax
-
-    End Sub
-
-    Private Sub BtMoveL_Click(sender As System.Object, e As System.EventArgs) Handles BtMoveL.Click
-        Dim d As Single
-
-        If xMin <= 0 Then Exit Sub
-
-        d = (xMax - xMin) / 3
-        xMin -= d
-        xMax -= d
-
-        If xMin > 1000 Then
-            xMin = Math.Round(xMin / 100, 0) * 100
-        Else
-            xMin = Math.Round(xMin, 0)
-        End If
-
-        Me.TbXmin.Text = xMin
-        Me.TbXmax.Text = xMax
-
-
-    End Sub
-
-    Private Sub BtMoveR_Click(sender As System.Object, e As System.EventArgs) Handles BtMoveR.Click
-        Dim d As Single
-
-        If xMax >= xMax0 Then Exit Sub
-
-        d = (xMax - xMin) / 3
-        xMin += d
-        xMax += d
-
-        If xMin > 1000 Then
-            xMin = Math.Round(xMin / 100, 0) * 100
-        Else
-            xMin = Math.Round(xMin, 0)
-        End If
-
-        Me.TbXmin.Text = xMin
-        Me.TbXmax.Text = xMax
-
-    End Sub
-
-    Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton1.Click
-        If IO.File.Exists(MyAppPath & "User Manual\GUI\GUI_Calls\Graph.html") Then
-            System.Diagnostics.Process.Start(MyAppPath & "User Manual\GUI\GUI_Calls\Graph.html")
-        Else
-            MsgBox("User Manual not found!", MsgBoxStyle.Critical)
-        End If
-    End Sub
+	Private Sub ListView1_DoubleClick(sender As Object, e As System.EventArgs) Handles ListView1.DoubleClick
+		If Me.ListView1.SelectedItems.Count > 0 Then
+			Me.ListView1.SelectedItems(0).Checked = Not Me.ListView1.SelectedItems(0).Checked
+			EditChannel()
+		End If
+	End Sub
+
+	Private Sub BtRemCh_Click(sender As System.Object, e As System.EventArgs) Handles BtRemCh.Click
+		RemoveChannel()
+	End Sub
+
+	Private Sub ListView1_ItemChecked(sender As Object, e As System.Windows.Forms.ItemCheckedEventArgs) _
+		Handles ListView1.ItemChecked
+		UpdateGraph()
+	End Sub
+
+	Private Sub ListView1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles ListView1.KeyDown
+		Select Case e.KeyCode
+			Case Keys.Delete, Keys.Back
+				RemoveChannel()
+			Case Keys.Enter
+				EditChannel()
+		End Select
+	End Sub
+
+	Private Sub CbXaxis_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) _
+		Handles CbXaxis.SelectedIndexChanged
+		SetxMax0()
+		Me.TbXmin.Text = 0
+		Me.TbXmax.Text = xMax0
+		UpdateGraph()
+	End Sub
 
+	Private Sub BtReset_Click(sender As System.Object, e As System.EventArgs) Handles BtReset.Click
+		xMin = 0
+		xMax = xMax0
+		Me.TbXmin.Text = 0
+		Me.TbXmax.Text = xMax0
+	End Sub
+
+	Private Sub TbXmin_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbXmin.TextChanged
+		If IsNumeric(Me.TbXmin.Text) Then xMin = Me.TbXmin.Text
+		UpdateGraph()
+	End Sub
+
+	Private Sub TbXmax_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbXmax.TextChanged
+		If IsNumeric(Me.TbXmax.Text) Then xMax = Me.TbXmax.Text
+		UpdateGraph()
+	End Sub
+
+	Private Sub ToolStripButton3_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton3.Click
+		Dim FGraph As New F_Graph
+		FGraph.Show()
+	End Sub
+
+	Private Sub F_Graph_SizeChanged(sender As Object, e As System.EventArgs) Handles Me.SizeChanged
+		UpdateGraph()
+	End Sub
+
+	Private Sub BtZoomIn_Click(sender As System.Object, e As System.EventArgs) Handles BtZoomIn.Click
+		Dim d As Single
+
+		d = (xMax - xMin)/10
+
+		xMin += 2*0.5*d
+		xMax -= 2*(1 - 0.5)*d
+
+		If xMin > 1000 Then
+			xMin = Math.Round(xMin/100, 0)*100
+		Else
+			xMin = Math.Round(xMin, 0)
+		End If
+
+		Me.TbXmin.Text = xMin
+		Me.TbXmax.Text = xMax
+	End Sub
+
+	Private Sub BtZoomOut_Click(sender As System.Object, e As System.EventArgs) Handles BtZoomOut.Click
+		Dim d As Single
+
+		d = (xMax - xMin)/10
+
+		xMin -= 2*0.5*d
+		xMax += 2*(1 - 0.5)*d
+
+		If xMin > 1000 Then
+			xMin = Math.Round(xMin/100, 0)*100
+		Else
+			xMin = Math.Round(xMin, 0)
+		End If
+
+		Me.TbXmin.Text = xMin
+		Me.TbXmax.Text = xMax
+	End Sub
+
+	Private Sub BtMoveL_Click(sender As System.Object, e As System.EventArgs) Handles BtMoveL.Click
+		Dim d As Single
+
+		If xMin <= 0 Then Exit Sub
+
+		d = (xMax - xMin)/3
+		xMin -= d
+		xMax -= d
+
+		If xMin > 1000 Then
+			xMin = Math.Round(xMin/100, 0)*100
+		Else
+			xMin = Math.Round(xMin, 0)
+		End If
+
+		Me.TbXmin.Text = xMin
+		Me.TbXmax.Text = xMax
+	End Sub
+
+	Private Sub BtMoveR_Click(sender As System.Object, e As System.EventArgs) Handles BtMoveR.Click
+		Dim d As Single
+
+		If xMax >= xMax0 Then Exit Sub
+
+		d = (xMax - xMin)/3
+		xMin += d
+		xMax += d
+
+		If xMin > 1000 Then
+			xMin = Math.Round(xMin/100, 0)*100
+		Else
+			xMin = Math.Round(xMin, 0)
+		End If
+
+		Me.TbXmin.Text = xMin
+		Me.TbXmax.Text = xMax
+	End Sub
+
+	Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton1.Click
+		If IO.File.Exists(MyAppPath & "User Manual\help.html") Then
+			Dim BrowserRegistryString As String =
+					My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString
+			Dim DefaultBrowserPath As String =
+					System.Text.RegularExpressions.Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString
+			System.Diagnostics.Process.Start(DefaultBrowserPath,
+											String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#graph-window"))
+		Else
+			MsgBox("User Manual not found!", MsgBoxStyle.Critical)
+		End If
+	End Sub
 End Class
\ No newline at end of file
diff --git a/VECTO/GUI/F_MAINForm.vb b/VECTO/GUI/F_MAINForm.vb
index de3579a1ef214f88f3b3661d267d7e1d3851f453..d4dfd54c5f1e070cb0e2df101308b32d8b703983 100644
--- a/VECTO/GUI/F_MAINForm.vb
+++ b/VECTO/GUI/F_MAINForm.vb
@@ -1374,8 +1374,12 @@ Imports TUGraz.VectoCore.Utils
 
 	Private Sub UserManualToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) _
 		Handles UserManualToolStripMenuItem.Click
-		If IO.File.Exists(MyAppPath & "User Manual\usermanual.html") Then
-			System.Diagnostics.Process.Start(MyAppPath & "User Manual\usermanual.html")
+		If IO.File.Exists(MyAppPath & "User Manual\help.html") Then
+			Dim BrowserRegistryString As String =
+					My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString
+			Dim DefaultBrowserPath As String =
+					System.Text.RegularExpressions.Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString
+			System.Diagnostics.Process.Start(DefaultBrowserPath, Uri.EscapeDataString(MyAppPath & "User Manual\help.html"))
 		Else
 			MsgBox("User Manual not found!", MsgBoxStyle.Critical)
 		End If
diff --git a/VECTO/GUI/F_Settings.vb b/VECTO/GUI/F_Settings.vb
index a98a93b9448c86c405d3859250a8a3425986f277..3cc4f3f534467d0b61fe35c205f7bd0300b97731 100644
--- a/VECTO/GUI/F_Settings.vb
+++ b/VECTO/GUI/F_Settings.vb
@@ -14,66 +14,70 @@
 ''' </summary>
 ''' <remarks></remarks>
 Public Class F_Settings
-
-    'Initialize - load config
-    Private Sub F03_Options_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
-
-        LoadSettings()
-
-    End Sub
-
-    Private Sub LoadSettings()
-
-        Me.TextBoxLogSize.Text = Cfg.LogSize
-        Me.TbAirDensity.Text = CStr(Cfg.AirDensity)
-        Me.TbOpenCmd.Text = Cfg.OpenCmd
-        Me.TbOpenCmdName.Text = Cfg.OpenCmdName
-        Me.TbFuelDens.Text = Cfg.FuelDens.ToString
-        Me.TbCO2toFC.Text = Cfg.CO2perFC.ToString
-
-        Me.GrCalc.Enabled = Not Cfg.DeclMode
-
-    End Sub
-
-
-    'Reset Button
-    Private Sub ButReset_Click(sender As System.Object, e As System.EventArgs) Handles ButReset.Click
-        If MsgBox("This will reset all application settings including the Options Tab. Filehistory will not be deleted." & vbCrLf & vbCrLf & "Continue ?", MsgBoxStyle.YesNo, "Reset Application Settings") = MsgBoxResult.Yes Then
-            Cfg.SetDefault()
-            If Cfg.DeclMode Then Cfg.DeclInit()
-            F_MAINForm.LoadOptions()
-            LoadSettings()
-            Me.Close()
-        End If
-    End Sub
-
-    'Save and close
-    Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click
-        Cfg.LogSize = CSng(Me.TextBoxLogSize.Text)
-        Cfg.AirDensity = CSng(Me.TbAirDensity.Text)
-        Cfg.OpenCmd = Me.TbOpenCmd.Text
-        Cfg.OpenCmdName = Me.TbOpenCmdName.Text
-        Cfg.FuelDens = CSng(Me.TbFuelDens.Text)
-        Cfg.CO2perFC = CSng(Me.TbCO2toFC.Text)
-        '----------------------------------------------------
-
-        Cfg.ConfigSAVE()
-
-        Me.Close()
-    End Sub
-
-    'Cancel
-    Private Sub ButtonCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCancel.Click
-        Me.Close()
-    End Sub
-
-    'Help button
-    Private Sub BtHelp_Click(sender As System.Object, e As System.EventArgs) Handles BtHelp.Click
-        If IO.File.Exists(MyAppPath & "User Manual\GUI\GUI_Calls\settings.html") Then
-            System.Diagnostics.Process.Start(MyAppPath & "User Manual\GUI\GUI_Calls\settings.html")
-        Else
-            MsgBox("User Manual not found!", MsgBoxStyle.Critical)
-        End If
-    End Sub
-
+	'Initialize - load config
+	Private Sub F03_Options_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
+
+		LoadSettings()
+	End Sub
+
+	Private Sub LoadSettings()
+
+		Me.TextBoxLogSize.Text = Cfg.LogSize
+		Me.TbAirDensity.Text = CStr(Cfg.AirDensity)
+		Me.TbOpenCmd.Text = Cfg.OpenCmd
+		Me.TbOpenCmdName.Text = Cfg.OpenCmdName
+		Me.TbFuelDens.Text = Cfg.FuelDens.ToString
+		Me.TbCO2toFC.Text = Cfg.CO2perFC.ToString
+
+		Me.GrCalc.Enabled = Not Cfg.DeclMode
+	End Sub
+
+
+	'Reset Button
+	Private Sub ButReset_Click(sender As System.Object, e As System.EventArgs) Handles ButReset.Click
+		If _
+			MsgBox(
+				"This will reset all application settings including the Options Tab. Filehistory will not be deleted." & vbCrLf &
+				vbCrLf & "Continue ?", MsgBoxStyle.YesNo, "Reset Application Settings") = MsgBoxResult.Yes Then
+			Cfg.SetDefault()
+			If Cfg.DeclMode Then Cfg.DeclInit()
+			F_MAINForm.LoadOptions()
+			LoadSettings()
+			Me.Close()
+		End If
+	End Sub
+
+	'Save and close
+	Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click
+		Cfg.LogSize = CSng(Me.TextBoxLogSize.Text)
+		Cfg.AirDensity = CSng(Me.TbAirDensity.Text)
+		Cfg.OpenCmd = Me.TbOpenCmd.Text
+		Cfg.OpenCmdName = Me.TbOpenCmdName.Text
+		Cfg.FuelDens = CSng(Me.TbFuelDens.Text)
+		Cfg.CO2perFC = CSng(Me.TbCO2toFC.Text)
+		'----------------------------------------------------
+
+		Cfg.ConfigSAVE()
+
+		Me.Close()
+	End Sub
+
+	'Cancel
+	Private Sub ButtonCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCancel.Click
+		Me.Close()
+	End Sub
+
+	'Help button
+	Private Sub BtHelp_Click(sender As System.Object, e As System.EventArgs) Handles BtHelp.Click
+		If IO.File.Exists(MyAppPath & "User Manual\help.html") Then
+			Dim BrowserRegistryString As String =
+					My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString
+			Dim DefaultBrowserPath As String =
+					System.Text.RegularExpressions.Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString
+			System.Diagnostics.Process.Start(DefaultBrowserPath,
+											String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#settings"))
+		Else
+			MsgBox("User Manual not found!", MsgBoxStyle.Critical)
+		End If
+	End Sub
 End Class
diff --git a/VECTO/GUI/F_VECTO.vb b/VECTO/GUI/F_VECTO.vb
index c176552cdbdba0d60bce744a7da9274a82cb10f1..e0d6b3e1cbcaf70f501199b39c2df8d100f7e697 100644
--- a/VECTO/GUI/F_VECTO.vb
+++ b/VECTO/GUI/F_VECTO.vb
@@ -16,7 +16,6 @@ Imports System.Collections.Generic
 ''' </summary>
 ''' <remarks></remarks>
 Public Class F_VECTO
-
 	Private VECTOfile As String
 	Private Changed As Boolean = False
 
@@ -35,7 +34,7 @@ Public Class F_VECTO
 	Private Sub F02_GEN_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 		Dim x As Int16
 
-		n_idle = -1
+		n_idle = - 1
 		FLDfile = ""
 
 		AuxDlog = New F_VEH_AuxDlog
@@ -46,7 +45,7 @@ Public Class F_VECTO
 			Me.TabControl1.TabPages(x).Show()
 		Next
 
-		Me.LvAux.Columns(2).Width = -2
+		Me.LvAux.Columns(2).Width = - 2
 
 		'Declaration Mode
 		If Cfg.DeclMode Then
@@ -66,11 +65,11 @@ Public Class F_VECTO
 		Me.PnEcoRoll.Enabled = Not Cfg.DeclMode
 
 		Changed = False
-
 	End Sub
 
 	'Close - Check for unsaved changes
-	Private Sub F02_GEN_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
+	Private Sub F02_GEN_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) _
+		Handles Me.FormClosing
 		If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then
 			e.Cancel = ChangeCheckCancel()
 		End If
@@ -98,7 +97,11 @@ Public Class F_VECTO
 		Me.TbUnderSpeed.Text = cDeclaration.Underspeed
 		Me.TbVmin.Text = cDeclaration.ECvmin
 
-		If LvAux.Items.Count <> 5 OrElse (Me.LvAux.Items(0).Text <> sKey.AUX.Fan OrElse Me.LvAux.Items(1).Text <> sKey.AUX.SteerPump OrElse Me.LvAux.Items(2).Text <> sKey.AUX.HVAC OrElse Me.LvAux.Items(3).Text <> sKey.AUX.ElecSys OrElse Me.LvAux.Items(4).Text <> sKey.AUX.PneumSys) Then
+		If _
+			LvAux.Items.Count <> 5 OrElse
+			(Me.LvAux.Items(0).Text <> sKey.AUX.Fan OrElse Me.LvAux.Items(1).Text <> sKey.AUX.SteerPump OrElse
+			Me.LvAux.Items(2).Text <> sKey.AUX.HVAC OrElse Me.LvAux.Items(3).Text <> sKey.AUX.ElecSys OrElse
+			Me.LvAux.Items(4).Text <> sKey.AUX.PneumSys) Then
 			Me.LvAux.Items.Clear()
 
 			LV0 = New ListViewItem(sKey.AUX.Fan)
@@ -147,8 +150,6 @@ Public Class F_VECTO
 			Me.LvAux.Items.Add(LV0)
 
 		End If
-
-
 	End Sub
 
 
@@ -171,19 +172,23 @@ Public Class F_VECTO
 #Region "Browse Buttons"
 
 	Private Sub ButtonVEH_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonVEH.Click
-		If fbVEH.OpenDialog(fFileRepl(Me.TbVEH.Text, fPATH(VECTOfile))) Then Me.TbVEH.Text = fFileWoDir(fbVEH.Files(0), fPATH(VECTOfile))
+		If fbVEH.OpenDialog(fFileRepl(Me.TbVEH.Text, fPATH(VECTOfile))) Then _
+			Me.TbVEH.Text = fFileWoDir(fbVEH.Files(0), fPATH(VECTOfile))
 	End Sub
 
 	Private Sub ButtonMAP_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonMAP.Click
-		If fbENG.OpenDialog(fFileRepl(Me.TbENG.Text, fPATH(VECTOfile))) Then Me.TbENG.Text = fFileWoDir(fbENG.Files(0), fPATH(VECTOfile))
+		If fbENG.OpenDialog(fFileRepl(Me.TbENG.Text, fPATH(VECTOfile))) Then _
+			Me.TbENG.Text = fFileWoDir(fbENG.Files(0), fPATH(VECTOfile))
 	End Sub
 
 	Private Sub ButtonGBX_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGBX.Click
-		If fbGBX.OpenDialog(fFileRepl(Me.TbGBX.Text, fPATH(VECTOfile))) Then Me.TbGBX.Text = fFileWoDir(fbGBX.Files(0), fPATH(VECTOfile))
+		If fbGBX.OpenDialog(fFileRepl(Me.TbGBX.Text, fPATH(VECTOfile))) Then _
+			Me.TbGBX.Text = fFileWoDir(fbGBX.Files(0), fPATH(VECTOfile))
 	End Sub
 
 	Private Sub BtDesMaxBr_Click_1(sender As System.Object, e As System.EventArgs) Handles BtDesMaxBr.Click
-		If fbACC.OpenDialog(fFileRepl(Me.TbDesMaxFile.Text, fPATH(VECTOfile))) Then Me.TbDesMaxFile.Text = fFileWoDir(fbACC.Files(0), fPATH(VECTOfile))
+		If fbACC.OpenDialog(fFileRepl(Me.TbDesMaxFile.Text, fPATH(VECTOfile))) Then _
+			Me.TbDesMaxFile.Text = fFileWoDir(fbACC.Files(0), fPATH(VECTOfile))
 	End Sub
 
 	Private Sub BtAccOpen_Click(sender As System.Object, e As System.EventArgs) Handles BtAccOpen.Click
@@ -218,7 +223,6 @@ Public Class F_VECTO
 		End If
 
 		If Not Trim(f) = "" Then F_VEH.openVEH(f)
-
 	End Sub
 
 	'Open Engine Editor
@@ -245,7 +249,6 @@ Public Class F_VECTO
 		End If
 
 		If Not Trim(f) = "" Then F_ENG.openENG(f)
-
 	End Sub
 
 	'Open Gearbox Editor
@@ -272,7 +275,6 @@ Public Class F_VECTO
 		End If
 
 		If Not Trim(f) = "" Then F_GBX.openGBX(f)
-
 	End Sub
 
 #End Region
@@ -311,8 +313,13 @@ Public Class F_VECTO
 
 	'Help
 	Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton1.Click
-		If IO.File.Exists(MyAppPath & "User Manual\GUI\GUI_Calls\VECTO.html") Then
-			System.Diagnostics.Process.Start(MyAppPath & "User Manual\GUI\GUI_Calls\VECTO.html")
+		If IO.File.Exists(MyAppPath & "User Manual\help.html") Then
+			Dim BrowserRegistryString As String =
+					My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString
+			Dim DefaultBrowserPath As String =
+					System.Text.RegularExpressions.Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString
+			System.Diagnostics.Process.Start(DefaultBrowserPath,
+											String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#job-editor"))
 		Else
 			MsgBox("User Manual not found!", MsgBoxStyle.Critical)
 		End If
@@ -365,7 +372,7 @@ Public Class F_VECTO
 					Me.Close()
 					F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked
 					F_MAINForm.OpenVectoFile(file)
-				Case -1
+				Case - 1
 					Exit Sub
 				Case Else '0
 					'Continue...
@@ -450,7 +457,6 @@ Public Class F_VECTO
 		UpdatePic()
 
 		'-------------------------------------------------------------
-
 	End Sub
 
 	'Save file
@@ -536,7 +542,6 @@ Public Class F_VECTO
 		Changed = False
 
 		Return True
-
 	End Function
 
 	'New file
@@ -544,7 +549,7 @@ Public Class F_VECTO
 
 		If ChangeCheckCancel() Then Exit Sub
 
-		n_idle = -1
+		n_idle = - 1
 		FLDfile = ""
 
 		'Files
@@ -582,7 +587,6 @@ Public Class F_VECTO
 		Me.ToolStripStatusLabelGEN.Text = ""
 		Changed = False
 		UpdatePic()
-
 	End Sub
 
 
@@ -590,16 +594,20 @@ Public Class F_VECTO
 
 #Region "'Change' Events"
 
-	Private Sub TextBoxVEH_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TbVEH.TextChanged
+	Private Sub TextBoxVEH_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
+		Handles TbVEH.TextChanged
 		UpdatePic()
 		Change()
 	End Sub
-	Private Sub TextBoxMAP_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TbENG.TextChanged
+
+	Private Sub TextBoxMAP_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
+		Handles TbENG.TextChanged
 		UpdatePic()
 		Change()
 	End Sub
 
-	Private Sub TextBoxFLD_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TbGBX.TextChanged
+	Private Sub TextBoxFLD_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
+		Handles TbGBX.TextChanged
 		UpdatePic()
 		Change()
 	End Sub
@@ -613,7 +621,8 @@ Public Class F_VECTO
 		Change()
 	End Sub
 
-	Private Sub TBSStime_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbSStime.TextChanged, TbSSdelay.TextChanged
+	Private Sub TBSStime_TextChanged(sender As System.Object, e As System.EventArgs) _
+		Handles TbSStime.TextChanged, TbSSdelay.TextChanged
 		Change()
 	End Sub
 
@@ -625,7 +634,8 @@ Public Class F_VECTO
 		Change()
 	End Sub
 
-	Private Sub TbVmin_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbVmin.TextChanged, TbVminLA.TextChanged
+	Private Sub TbVmin_TextChanged(sender As System.Object, e As System.EventArgs) _
+		Handles TbVmin.TextChanged, TbVminLA.TextChanged
 		Change()
 	End Sub
 
@@ -633,7 +643,8 @@ Public Class F_VECTO
 		Change()
 	End Sub
 
-	Private Sub LvCycles_AfterLabelEdit(sender As Object, e As System.Windows.Forms.LabelEditEventArgs) Handles LvCycles.AfterLabelEdit
+	Private Sub LvCycles_AfterLabelEdit(sender As Object, e As System.Windows.Forms.LabelEditEventArgs) _
+		Handles LvCycles.AfterLabelEdit
 		Change()
 	End Sub
 
@@ -667,7 +678,6 @@ Public Class F_VECTO
 			Return False
 
 		End If
-
 	End Function
 
 #End Region
@@ -680,11 +690,11 @@ Public Class F_VECTO
 
 		AuxDlog.VehPath = fPATH(VECTOfile)
 		AuxDlog.TbPath.Text = ""
-		AuxDlog.CbType.SelectedIndex = -1
+		AuxDlog.CbType.SelectedIndex = - 1
 		AuxDlog.CbType.Text = ""
 		AuxDlog.TbID.Text = ""		 '!!! Vorher Type setzen weil ID beim ändern von Type überschrieben wird !!!"
 
-lbDlog:
+		lbDlog:
 		If AuxDlog.ShowDialog = Windows.Forms.DialogResult.OK Then
 
 			ID = UCase(Trim(AuxDlog.TbID.Text))
@@ -715,7 +725,6 @@ lbDlog:
 			Change()
 
 		End If
-
 	End Sub
 
 	Private Sub ButAuxRem_Click(sender As System.Object, e As System.EventArgs) Handles ButAuxRem.Click
@@ -744,7 +753,7 @@ lbDlog:
 		SelItem = LvAux.SelectedItems(0)
 
 		AuxDlog.VehPath = fPATH(VECTOfile)
-		AuxDlog.CbType.SelectedIndex = -1
+		AuxDlog.CbType.SelectedIndex = - 1
 		AuxDlog.CbType.Text = SelItem.SubItems(1).Text
 		AuxDlog.TbID.Text = SelItem.SubItems(0).Text	'After Type-set!
 
@@ -763,7 +772,7 @@ lbDlog:
 			End If
 
 		Else
-			AuxDlog.CbTech.SelectedIndex = -1
+			AuxDlog.CbTech.SelectedIndex = - 1
 			AuxDlog.TbPath.Text = SelItem.SubItems(2).Text
 		End If
 
@@ -787,7 +796,6 @@ lbDlog:
 			Change()
 
 		End If
-
 	End Sub
 
 	Private Sub RemoveAuxItem()
@@ -815,7 +823,6 @@ lbDlog:
 		End If
 
 		Change()
-
 	End Sub
 
 #End Region
@@ -834,7 +841,8 @@ lbDlog:
 #Region "Cycle list"
 
 	Private Sub LvCycles_DoubleClick(sender As Object, e As System.EventArgs) Handles LvCycles.DoubleClick
-		If Me.LvCycles.SelectedItems.Count > 0 Then OpenFiles(fFileRepl(Me.LvCycles.SelectedItems(0).SubItems(0).Text, fPATH(VECTOfile)))
+		If Me.LvCycles.SelectedItems.Count > 0 Then _
+			OpenFiles(fFileRepl(Me.LvCycles.SelectedItems(0).SubItems(0).Text, fPATH(VECTOfile)))
 	End Sub
 
 	Private Sub LvCycles_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles LvCycles.KeyDown
@@ -862,7 +870,6 @@ lbDlog:
 			Change()
 
 		End If
-
 	End Sub
 
 	Private Sub BtDRIrem_Click(sender As System.Object, e As System.EventArgs) Handles BtDRIrem.Click
@@ -895,7 +902,6 @@ lbDlog:
 		End If
 
 		Change()
-
 	End Sub
 
 #End Region
@@ -922,23 +928,25 @@ lbDlog:
 		TbGBX.Enabled = OnOff
 		ButtonGBX.Enabled = OnOff
 		GrAux.Enabled = OnOff
-
 	End Sub
 
 	'Start/Stop changed 
-	Private Sub ChBStartStop_CheckedChanged_1(sender As System.Object, e As System.EventArgs) Handles ChBStartStop.CheckedChanged
+	Private Sub ChBStartStop_CheckedChanged_1(sender As System.Object, e As System.EventArgs) _
+		Handles ChBStartStop.CheckedChanged
 		Change()
 		If Not Cfg.DeclMode Then Me.PnStartStop.Enabled = Me.ChBStartStop.Checked
 	End Sub
 
 	'LAC changed
-	Private Sub CbLookAhead_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CbLookAhead.CheckedChanged
+	Private Sub CbLookAhead_CheckedChanged(sender As System.Object, e As System.EventArgs) _
+		Handles CbLookAhead.CheckedChanged
 		Change()
 		Me.PnLookAhead.Enabled = CbLookAhead.Checked
 	End Sub
 
 	'EcoRoll / Overspeed changed
-	Private Sub RdOff_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RdOff.CheckedChanged, RdOverspeed.CheckedChanged, RdEcoRoll.CheckedChanged
+	Private Sub RdOff_CheckedChanged(sender As System.Object, e As System.EventArgs) _
+		Handles RdOff.CheckedChanged, RdOverspeed.CheckedChanged, RdEcoRoll.CheckedChanged
 		Dim EcoR As Boolean
 		Dim Ovr As Boolean
 
@@ -958,7 +966,6 @@ lbDlog:
 		Me.TbVmin.Enabled = Ovr Or EcoR
 		Me.Label23.Enabled = Ovr Or EcoR
 		Me.Label21.Enabled = Ovr Or EcoR
-
 	End Sub
 
 #End Region
@@ -1074,7 +1081,7 @@ lbDlog:
 
 			End If
 
-			Me.TbEngTxt.Text = (ENG0.Displ / 1000).ToString("0.0") & " l " & pmax.ToString("#") & " kW  " & ENG0.ModelName
+			Me.TbEngTxt.Text = (ENG0.Displ/1000).ToString("0.0") & " l " & pmax.ToString("#") & " kW  " & ENG0.ModelName
 
 
 			MAP0 = New cMAP
@@ -1233,7 +1240,6 @@ lbDlog:
 
 
 		End If
-
 	End Sub
 
 
@@ -1250,14 +1256,15 @@ lbDlog:
 		OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName
 
 		CmOpenFile.Show(Cursor.Position)
-
 	End Sub
 
-	Private Sub OpenWithToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles OpenWithToolStripMenuItem.Click
+	Private Sub OpenWithToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) _
+		Handles OpenWithToolStripMenuItem.Click
 		If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!")
 	End Sub
 
-	Private Sub ShowInFolderToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ShowInFolderToolStripMenuItem.Click
+	Private Sub ShowInFolderToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) _
+		Handles ShowInFolderToolStripMenuItem.Click
 		If IO.File.Exists(CmFiles(0)) Then
 			Try
 				System.Diagnostics.Process.Start("explorer", "/select,""" & CmFiles(0) & "")
@@ -1270,7 +1277,4 @@ lbDlog:
 	End Sub
 
 #End Region
-
-
-
 End Class
diff --git a/VECTO/GUI/F_VEH.vb b/VECTO/GUI/F_VEH.vb
index e7b6f3096e1189df631bca77e41e292a2932b660..9933b7520155c650260edb9c2995b8bfab1fc197 100644
--- a/VECTO/GUI/F_VEH.vb
+++ b/VECTO/GUI/F_VEH.vb
@@ -15,154 +15,152 @@ Imports System.Collections.Generic
 ''' </summary>
 ''' <remarks></remarks>
 Public Class F_VEH
+	Dim AxlDlog As F_VEH_Axle
+	Dim VehFile As String
+	Public AutoSendTo As Boolean = False
+	Public JobDir As String = ""
 
-    Dim AxlDlog As F_VEH_Axle
-    Dim VehFile As String
-    Public AutoSendTo As Boolean = False
-    Public JobDir As String = ""
+	Private Changed As Boolean = False
 
-    Private Changed As Boolean = False
 
+	'Close - Check for unsaved changes
+	Private Sub F_VEH_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) _
+		Handles Me.FormClosing
+		If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then
+			e.Cancel = ChangeCheckCancel()
+		End If
+	End Sub
+
+	'Initialise form
+	Private Sub F05_VEH_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+		Dim txt As String
+
+		Me.TbLoadingMax.Text = "-"
+		Me.PnLoad.Enabled = Not Cfg.DeclMode
+		Me.ButAxlAdd.Enabled = Not Cfg.DeclMode
+		Me.ButAxlRem.Enabled = Not Cfg.DeclMode
+		Me.CbCdMode.Enabled = Not Cfg.DeclMode
+		Me.PnCdARig.Visible = Cfg.DeclMode
+		Me.LbCdATr.Visible = Cfg.DeclMode
+		Me.PnWheelDiam.Enabled = Not Cfg.DeclMode
+
+		If Cfg.DeclMode Then
+			Me.PnCdATrTr.Width = 64
+		Else
+			Me.PnCdATrTr.Width = 132
+		End If
+
+		AxlDlog = New F_VEH_Axle
 
-    'Close - Check for unsaved changes
-    Private Sub F_VEH_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
-        If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then
-            e.Cancel = ChangeCheckCancel()
-        End If
-    End Sub
+		Me.CbRim.Items.Add("-")
+		For Each txt In Declaration.RimsList
+			Me.CbRim.Items.Add(txt)
+		Next
+
+		Changed = False
+
+		newVEH()
+	End Sub
 
-    'Initialise form
-    Private Sub F05_VEH_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
-        Dim txt As String
+	'Set HDVclasss
+	Private Sub SetHDVclass()
+		Dim s0 As cSegmentTableEntry = Nothing
+		Dim VehC As tVehCat
+		Dim AxlC As tAxleConf
+		Dim MaxMass As Single
+		Dim HDVclass As String
 
-        Me.TbLoadingMax.Text = "-"
-        Me.PnLoad.Enabled = Not Cfg.DeclMode
-        Me.ButAxlAdd.Enabled = Not Cfg.DeclMode
-        Me.ButAxlRem.Enabled = Not Cfg.DeclMode
-        Me.CbCdMode.Enabled = Not Cfg.DeclMode
-        Me.PnCdARig.Visible = Cfg.DeclMode
-        Me.LbCdATr.Visible = Cfg.DeclMode
-        Me.PnWheelDiam.Enabled = Not Cfg.DeclMode
-
-        If Cfg.DeclMode Then
-            Me.PnCdATrTr.Width = 64
-        Else
-            Me.PnCdATrTr.Width = 132
-        End If
+		VehC = CType(Me.CbCat.SelectedIndex, tVehCat)
 
-        AxlDlog = New F_VEH_Axle
-
-        Me.CbRim.Items.Add("-")
-        For Each txt In Declaration.RimsList
-            Me.CbRim.Items.Add(txt)
-        Next
-
-        Changed = False
-
-        newVEH()
-
-    End Sub
-
-    'Set HDVclasss
-    Private Sub SetHDVclass()
-        Dim s0 As cSegmentTableEntry = Nothing
-        Dim VehC As tVehCat
-        Dim AxlC As tAxleConf
-        Dim MaxMass As Single
-        Dim HDVclass As String
-
-        VehC = CType(Me.CbCat.SelectedIndex, tVehCat)
-
-        AxlC = CType(Me.CbAxleConfig.SelectedIndex, tAxleConf)
-
-        MaxMass = CSng(fTextboxToNumString(Me.TbMassMass.Text))
-
-        If Declaration.SegmentTable.SetRef(s0, VehC, AxlC, MaxMass) Then
-            HDVclass = s0.HDVclass
-        Else
-            HDVclass = "-"
-        End If
-
-        Me.TbHDVclass.Text = HDVclass
-
-        Me.PicVehicle.Image = Image.FromFile(Declaration.ConvPicPath(HDVclass, False))
-
-    End Sub
-
-
-    'Set generic values for Declaration mode
-    Private Sub DeclInit()
-        Dim VehC As tVehCat
-        Dim AxlC As tAxleConf
-        Dim MaxMass As Single
-        Dim HDVclass As String
-        Dim s0 As cSegmentTableEntry = Nothing
-        Dim i As Int16
-        Dim i0 As Int16
-        Dim AxleCount As Int16
-        Dim lvi As ListViewItem
-        Dim rdyn As Single
-
-        If Not Cfg.DeclMode Then Exit Sub
-
-        VehC = CType(Me.CbCat.SelectedIndex, tVehCat)
-
-        AxlC = CType(Me.CbAxleConfig.SelectedIndex, tAxleConf)
-
-        MaxMass = CSng(fTextboxToNumString(Me.TbMassMass.Text))
-
-        If Declaration.SegmentTable.SetRef(s0, VehC, AxlC, MaxMass) Then
-            HDVclass = s0.HDVclass
-
-            AxleCount = s0.AxleShares(s0.Missions(0)).Count
-            i0 = LvRRC.Items.Count
-
-            If AxleCount > i0 Then
-                For i = 1 To AxleCount - LvRRC.Items.Count
-                    lvi = New ListViewItem
-                    lvi.SubItems(0).Text = (i + i0).ToString
-                    lvi.SubItems.Add("-")
-                    lvi.SubItems.Add("no")
-                    lvi.SubItems.Add("")
-                    lvi.SubItems.Add("")
-                    lvi.SubItems.Add("-")
-                    lvi.SubItems.Add("-")
-                    LvRRC.Items.Add(lvi)
-                Next
-
-            ElseIf AxleCount < LvRRC.Items.Count Then
-                For i = AxleCount To LvRRC.Items.Count - 1
-                    LvRRC.Items.RemoveAt(LvRRC.Items.Count - 1)
-                    'LvRRC.Items(i).ForeColor = Color.Red
-                Next
-            End If
-
-            If s0.TrailerOnlyInLongHaul Then
-                Me.PnCdATrTr.Width = 64
-                Me.PnCdARig.Visible = True
-                Me.LbCdATr.Visible = True
-            Else
-                Me.PnCdATrTr.Width = 132
-                Me.PnCdARig.Visible = False
-                Me.LbCdATr.Visible = False
-            End If
+		AxlC = CType(Me.CbAxleConfig.SelectedIndex, tAxleConf)
+
+		MaxMass = CSng(fTextboxToNumString(Me.TbMassMass.Text))
+
+		If Declaration.SegmentTable.SetRef(s0, VehC, AxlC, MaxMass) Then
+			HDVclass = s0.HDVclass
+		Else
+			HDVclass = "-"
+		End If
+
+		Me.TbHDVclass.Text = HDVclass
+
+		Me.PicVehicle.Image = Image.FromFile(Declaration.ConvPicPath(HDVclass, False))
+	End Sub
+
+
+	'Set generic values for Declaration mode
+	Private Sub DeclInit()
+		Dim VehC As tVehCat
+		Dim AxlC As tAxleConf
+		Dim MaxMass As Single
+		Dim HDVclass As String
+		Dim s0 As cSegmentTableEntry = Nothing
+		Dim i As Int16
+		Dim i0 As Int16
+		Dim AxleCount As Int16
+		Dim lvi As ListViewItem
+		Dim rdyn As Single
 
-            Me.PnAll.Enabled = True
+		If Not Cfg.DeclMode Then Exit Sub
 
-        Else
-            Me.PnAll.Enabled = False
-            HDVclass = "-"
-        End If
+		VehC = CType(Me.CbCat.SelectedIndex, tVehCat)
 
-        Me.TbMassExtra.Text = "-"
-        Me.TbLoad.Text = "-"
+		AxlC = CType(Me.CbAxleConfig.SelectedIndex, tAxleConf)
+
+		MaxMass = CSng(fTextboxToNumString(Me.TbMassMass.Text))
+
+		If Declaration.SegmentTable.SetRef(s0, VehC, AxlC, MaxMass) Then
+			HDVclass = s0.HDVclass
+
+			AxleCount = s0.AxleShares(s0.Missions(0)).Count
+			i0 = LvRRC.Items.Count
+
+			If AxleCount > i0 Then
+				For i = 1 To AxleCount - LvRRC.Items.Count
+					lvi = New ListViewItem
+					lvi.SubItems(0).Text = (i + i0).ToString
+					lvi.SubItems.Add("-")
+					lvi.SubItems.Add("no")
+					lvi.SubItems.Add("")
+					lvi.SubItems.Add("")
+					lvi.SubItems.Add("-")
+					lvi.SubItems.Add("-")
+					LvRRC.Items.Add(lvi)
+				Next
+
+			ElseIf AxleCount < LvRRC.Items.Count Then
+				For i = AxleCount To LvRRC.Items.Count - 1
+					LvRRC.Items.RemoveAt(LvRRC.Items.Count - 1)
+					'LvRRC.Items(i).ForeColor = Color.Red
+				Next
+			End If
+
+			If s0.TrailerOnlyInLongHaul Then
+				Me.PnCdATrTr.Width = 64
+				Me.PnCdARig.Visible = True
+				Me.LbCdATr.Visible = True
+			Else
+				Me.PnCdATrTr.Width = 132
+				Me.PnCdARig.Visible = False
+				Me.LbCdATr.Visible = False
+			End If
+
+			Me.PnAll.Enabled = True
+
+		Else
+			Me.PnAll.Enabled = False
+			HDVclass = "-"
+		End If
+
+		Me.TbMassExtra.Text = "-"
+		Me.TbLoad.Text = "-"
 		Me.CbCdMode.SelectedIndex = CType(tCdMode.CdOfVdecl, Integer)
 		Me.TbCdFile.Text = ""
 
 		If Me.LvRRC.Items.Count > 0 Then
 			rdyn = Declaration.rdyn(Me.LvRRC.Items(1).SubItems(5).Text, Me.CbRim.Text)
 		Else
-			rdyn = -1
+			rdyn = - 1
 		End If
 
 		If rdyn < 0 Then
@@ -170,11 +168,9 @@ Public Class F_VEH
 		Else
 			Me.TBrdyn.Text = rdyn
 		End If
-
 	End Sub
 
 
-
 #Region "Toolbar"
 
 	'New
@@ -220,13 +216,17 @@ Public Class F_VEH
 		End If
 
 		F_VECTO.TbVEH.Text = fFileWoDir(VehFile, JobDir)
-
 	End Sub
 
 	'Help
 	Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton1.Click
-		If IO.File.Exists(MyAppPath & "User Manual\GUI\GUI_Calls\VEH.html") Then
-			System.Diagnostics.Process.Start(MyAppPath & "User Manual\GUI\GUI_Calls\VEH.html")
+		If IO.File.Exists(MyAppPath & "User Manual\help.html") Then
+			Dim BrowserRegistryString As String =
+					My.Computer.Registry.ClassesRoot.OpenSubKey("\http\shell\open\command\").GetValue("").ToString
+			Dim DefaultBrowserPath As String =
+					System.Text.RegularExpressions.Regex.Match(BrowserRegistryString, "(\"".*?\"")").Captures(0).ToString
+			System.Diagnostics.Process.Start(DefaultBrowserPath,
+											String.Format("""{0}{1}""", MyAppPath, "User Manual\help.html#vehicle-editor"))
 		Else
 			MsgBox("User Manual not found!", MsgBoxStyle.Critical)
 		End If
@@ -288,13 +288,11 @@ Public Class F_VEH
 		DeclInit()
 
 
-
 		VehFile = ""
 		Me.Text = "VEH Editor"
 		Me.LbStatus.Text = ""
 
 		Changed = False
-
 	End Sub
 
 	'Open VEH
@@ -323,7 +321,7 @@ Public Class F_VEH
 					Me.Close()
 					F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked
 					F_MAINForm.OpenVectoFile(file)
-				Case -1
+				Case - 1
 					Exit Sub
 				Case Else '0
 					'Continue...
@@ -401,7 +399,6 @@ Public Class F_VEH
 		Me.Activate()
 
 		Changed = False
-
 	End Sub
 
 	'Save VEH
@@ -477,13 +474,13 @@ Public Class F_VEH
 		Changed = False
 
 		Return True
-
 	End Function
 
 #Region "Cd"
 
 	'Cd Mode Change
-	Private Sub CbCdMode_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles CbCdMode.SelectedIndexChanged
+	Private Sub CbCdMode_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) _
+		Handles CbCdMode.SelectedIndexChanged
 		Dim bEnabled As Boolean
 
 		Select Case CType(Me.CbCdMode.SelectedIndex, tCdMode)
@@ -521,8 +518,8 @@ Public Class F_VEH
 			ex = "vcdb"
 		End If
 
-		If fbCDx.OpenDialog(fFileRepl(Me.TbCdFile.Text, fPATH(VehFile)), False, ex) Then TbCdFile.Text = fFileWoDir(fbCDx.Files(0), fPATH(VehFile))
-
+		If fbCDx.OpenDialog(fFileRepl(Me.TbCdFile.Text, fPATH(VehFile)), False, ex) Then _
+			TbCdFile.Text = fFileWoDir(fbCDx.Files(0), fPATH(VehFile))
 	End Sub
 
 	'Open Cd File
@@ -535,7 +532,8 @@ Public Class F_VEH
 #Region "Retarder"
 
 	'Rt Type Change
-	Private Sub CbRtType_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles CbRtType.SelectedIndexChanged
+	Private Sub CbRtType_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) _
+		Handles CbRtType.SelectedIndexChanged
 		Select Case Me.CbRtType.SelectedIndex
 			Case 1 'Primary
 				Me.LbRtRatio.Text = "Ratio to engine speed"
@@ -555,14 +553,13 @@ Public Class F_VEH
 		End Select
 
 		Change()
-
 	End Sub
 
 	'Rt File Browse
 	Private Sub BtRtBrowse_Click(sender As System.Object, e As System.EventArgs) Handles BtRtBrowse.Click
 
-		If fbRLM.OpenDialog(fFileRepl(Me.TbRtPath.Text, fPATH(VehFile))) Then TbRtPath.Text = fFileWoDir(fbRLM.Files(0), fPATH(VehFile))
-
+		If fbRLM.OpenDialog(fFileRepl(Me.TbRtPath.Text, fPATH(VehFile))) Then _
+			TbRtPath.Text = fFileWoDir(fbRLM.Files(0), fPATH(VehFile))
 	End Sub
 
 #End Region
@@ -595,7 +592,6 @@ Public Class F_VEH
 			Return False
 
 		End If
-
 	End Function
 
 	Private Sub TBmass_TextChanged(sender As System.Object, e As System.EventArgs) Handles TbMass.TextChanged
@@ -611,12 +607,14 @@ Public Class F_VEH
 		Change()
 	End Sub
 
-	Private Sub CbRim_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles CbRim.SelectedIndexChanged
+	Private Sub CbRim_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) _
+		Handles CbRim.SelectedIndexChanged
 		Change()
 		DeclInit()
 	End Sub
 
-	Private Sub TBcw_TextChanged(sender As System.Object, e As System.EventArgs) Handles TBcdA.TextChanged, TBcdA2.TextChanged
+	Private Sub TBcw_TextChanged(sender As System.Object, e As System.EventArgs) _
+		Handles TBcdA.TextChanged, TBcdA2.TextChanged
 		Change()
 	End Sub
 
@@ -637,7 +635,8 @@ Public Class F_VEH
 		Change()
 	End Sub
 
-	Private Sub CbCat_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles CbCat.SelectedIndexChanged
+	Private Sub CbCat_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) _
+		Handles CbCat.SelectedIndexChanged
 		Change()
 		SetHDVclass()
 		DeclInit()
@@ -655,7 +654,8 @@ Public Class F_VEH
 		DeclInit()
 	End Sub
 
-	Private Sub CbAxleConfig_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles CbAxleConfig.SelectedIndexChanged
+	Private Sub CbAxleConfig_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) _
+		Handles CbAxleConfig.SelectedIndexChanged
 		Change()
 		SetHDVclass()
 		DeclInit()
@@ -663,166 +663,159 @@ Public Class F_VEH
 
 #End Region
 
-    'Update maximum load when truck/trailer mass was changed
-    Private Sub SetMaxLoad()
-        If Not Cfg.DeclMode Then
-            If IsNumeric(Me.TbMass.Text) And IsNumeric(Me.TbMassExtra.Text) And IsNumeric(Me.TbMassMass.Text) Then
-                Me.TbLoadingMax.Text = CStr(CSng(Me.TbMassMass.Text) * 1000 - CSng(Me.TbMass.Text) - CSng(Me.TbMassExtra.Text))
-            Else
-                Me.TbLoadingMax.Text = ""
-            End If
-        End If
-    End Sub
+	'Update maximum load when truck/trailer mass was changed
+	Private Sub SetMaxLoad()
+		If Not Cfg.DeclMode Then
+			If IsNumeric(Me.TbMass.Text) And IsNumeric(Me.TbMassExtra.Text) And IsNumeric(Me.TbMassMass.Text) Then
+				Me.TbLoadingMax.Text = CStr(CSng(Me.TbMassMass.Text)*1000 - CSng(Me.TbMass.Text) - CSng(Me.TbMassExtra.Text))
+			Else
+				Me.TbLoadingMax.Text = ""
+			End If
+		End If
+	End Sub
 
 #Region "Axle Configuration"
 
-    Private Sub ButAxlAdd_Click(sender As System.Object, e As System.EventArgs) Handles ButAxlAdd.Click
-        Dim lv0 As ListViewItem
-
-        AxlDlog.Clear()
+	Private Sub ButAxlAdd_Click(sender As System.Object, e As System.EventArgs) Handles ButAxlAdd.Click
+		Dim lv0 As ListViewItem
 
-        If AxlDlog.ShowDialog = Windows.Forms.DialogResult.OK Then
-            lv0 = New ListViewItem
+		AxlDlog.Clear()
 
-            lv0.SubItems(0).Text = Me.LvRRC.Items.Count + 1
-            lv0.SubItems.Add(Trim(AxlDlog.TbAxleShare.Text))
-            If AxlDlog.CbTwinT.Checked Then
-                lv0.SubItems.Add("yes")
-            Else
-                lv0.SubItems.Add("no")
-            End If
-            lv0.SubItems.Add(Trim(AxlDlog.TbRRC.Text))
-            lv0.SubItems.Add(Trim(AxlDlog.TbFzISO.Text))
-            lv0.SubItems.Add(Trim(AxlDlog.CbWheels.Text))
-            lv0.SubItems.Add(Trim(AxlDlog.TbI_wheels.Text))
+		If AxlDlog.ShowDialog = Windows.Forms.DialogResult.OK Then
+			lv0 = New ListViewItem
 
-            Me.LvRRC.Items.Add(lv0)
-
-            Change()
-            DeclInit()
-
-        End If
-
-
-    End Sub
+			lv0.SubItems(0).Text = Me.LvRRC.Items.Count + 1
+			lv0.SubItems.Add(Trim(AxlDlog.TbAxleShare.Text))
+			If AxlDlog.CbTwinT.Checked Then
+				lv0.SubItems.Add("yes")
+			Else
+				lv0.SubItems.Add("no")
+			End If
+			lv0.SubItems.Add(Trim(AxlDlog.TbRRC.Text))
+			lv0.SubItems.Add(Trim(AxlDlog.TbFzISO.Text))
+			lv0.SubItems.Add(Trim(AxlDlog.CbWheels.Text))
+			lv0.SubItems.Add(Trim(AxlDlog.TbI_wheels.Text))
 
-    Private Sub ButAxlRem_Click(sender As System.Object, e As System.EventArgs) Handles ButAxlRem.Click
-        RemoveAxleItem()
-    End Sub
+			Me.LvRRC.Items.Add(lv0)
 
-    Private Sub LvAxle_DoubleClick(sender As Object, e As System.EventArgs) Handles LvRRC.DoubleClick
-        EditAxleItem()
-    End Sub
+			Change()
+			DeclInit()
 
-    Private Sub LvAxle_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles LvRRC.KeyDown
-        Select Case e.KeyCode
-            Case Keys.Delete, Keys.Back
-                If Not Cfg.DeclMode Then RemoveAxleItem()
-            Case Keys.Enter
-                EditAxleItem()
-        End Select
-    End Sub
+		End If
+	End Sub
 
-    Private Sub RemoveAxleItem()
-        Dim lv0 As ListViewItem
-        Dim i As Integer
+	Private Sub ButAxlRem_Click(sender As System.Object, e As System.EventArgs) Handles ButAxlRem.Click
+		RemoveAxleItem()
+	End Sub
 
-        If LvRRC.SelectedItems.Count = 0 Then
-            If LvRRC.Items.Count = 0 Then
-                Exit Sub
-            Else
-                LvRRC.Items(LvRRC.Items.Count - 1).Selected = True
-            End If
-        End If
+	Private Sub LvAxle_DoubleClick(sender As Object, e As System.EventArgs) Handles LvRRC.DoubleClick
+		EditAxleItem()
+	End Sub
 
-        LvRRC.SelectedItems(0).Remove()
+	Private Sub LvAxle_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles LvRRC.KeyDown
+		Select Case e.KeyCode
+			Case Keys.Delete, Keys.Back
+				If Not Cfg.DeclMode Then RemoveAxleItem()
+			Case Keys.Enter
+				EditAxleItem()
+		End Select
+	End Sub
 
-        If LvRRC.Items.Count > 0 Then
+	Private Sub RemoveAxleItem()
+		Dim lv0 As ListViewItem
+		Dim i As Integer
 
-            i = 0
-            For Each lv0 In LvRRC.Items
-                i += 1
-                lv0.SubItems(0).Text = i.ToString
-            Next
+		If LvRRC.SelectedItems.Count = 0 Then
+			If LvRRC.Items.Count = 0 Then
+				Exit Sub
+			Else
+				LvRRC.Items(LvRRC.Items.Count - 1).Selected = True
+			End If
+		End If
 
-            LvRRC.Items(LvRRC.Items.Count - 1).Selected = True
-            LvRRC.Focus()
-        End If
+		LvRRC.SelectedItems(0).Remove()
 
-        Change()
+		If LvRRC.Items.Count > 0 Then
 
-    End Sub
+			i = 0
+			For Each lv0 In LvRRC.Items
+				i += 1
+				lv0.SubItems(0).Text = i.ToString
+			Next
 
-    Private Sub EditAxleItem()
-        Dim LV0 As ListViewItem
+			LvRRC.Items(LvRRC.Items.Count - 1).Selected = True
+			LvRRC.Focus()
+		End If
 
-        If LvRRC.SelectedItems.Count = 0 Then Exit Sub
+		Change()
+	End Sub
 
-        LV0 = LvRRC.SelectedItems(0)
+	Private Sub EditAxleItem()
+		Dim LV0 As ListViewItem
 
-        AxlDlog.TbAxleShare.Text = LV0.SubItems(1).Text
-        AxlDlog.CbTwinT.Checked = (LV0.SubItems(2).Text = "yes")
-        AxlDlog.TbRRC.Text = LV0.SubItems(3).Text
-        AxlDlog.TbFzISO.Text = LV0.SubItems(4).Text
-        AxlDlog.TbI_wheels.Text = LV0.SubItems(6).Text
-        AxlDlog.CbWheels.Text = LV0.SubItems(5).Text
+		If LvRRC.SelectedItems.Count = 0 Then Exit Sub
 
-        If AxlDlog.ShowDialog = Windows.Forms.DialogResult.OK Then
-            LV0.SubItems(1).Text = AxlDlog.TbAxleShare.Text
-            If AxlDlog.CbTwinT.Checked Then
-                LV0.SubItems(2).Text = "yes"
-            Else
-                LV0.SubItems(2).Text = "no"
-            End If
-            LV0.SubItems(3).Text = AxlDlog.TbRRC.Text
-            LV0.SubItems(4).Text = AxlDlog.TbFzISO.Text
-            LV0.SubItems(5).Text = AxlDlog.CbWheels.Text
-            LV0.SubItems(6).Text = AxlDlog.TbI_wheels.Text
+		LV0 = LvRRC.SelectedItems(0)
 
-            Change()
-            DeclInit()
+		AxlDlog.TbAxleShare.Text = LV0.SubItems(1).Text
+		AxlDlog.CbTwinT.Checked = (LV0.SubItems(2).Text = "yes")
+		AxlDlog.TbRRC.Text = LV0.SubItems(3).Text
+		AxlDlog.TbFzISO.Text = LV0.SubItems(4).Text
+		AxlDlog.TbI_wheels.Text = LV0.SubItems(6).Text
+		AxlDlog.CbWheels.Text = LV0.SubItems(5).Text
 
-        End If
+		If AxlDlog.ShowDialog = Windows.Forms.DialogResult.OK Then
+			LV0.SubItems(1).Text = AxlDlog.TbAxleShare.Text
+			If AxlDlog.CbTwinT.Checked Then
+				LV0.SubItems(2).Text = "yes"
+			Else
+				LV0.SubItems(2).Text = "no"
+			End If
+			LV0.SubItems(3).Text = AxlDlog.TbRRC.Text
+			LV0.SubItems(4).Text = AxlDlog.TbFzISO.Text
+			LV0.SubItems(5).Text = AxlDlog.CbWheels.Text
+			LV0.SubItems(6).Text = AxlDlog.TbI_wheels.Text
 
+			Change()
+			DeclInit()
 
-    End Sub
+		End If
+	End Sub
 
 #End Region
 
 #Region "Open File Context Menu"
 
-    Private CmFiles As String()
-
-    Private Sub OpenFiles(ParamArray files() As String)
+	Private CmFiles As String()
 
-        If files.Length = 0 Then Exit Sub
+	Private Sub OpenFiles(ParamArray files() As String)
 
-        CmFiles = files
+		If files.Length = 0 Then Exit Sub
 
-        OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName
+		CmFiles = files
 
-        CmOpenFile.Show(Cursor.Position)
+		OpenWithToolStripMenuItem.Text = "Open with " & Cfg.OpenCmdName
 
-    End Sub
+		CmOpenFile.Show(Cursor.Position)
+	End Sub
 
-    Private Sub OpenWithToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles OpenWithToolStripMenuItem.Click
-        If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!")
-    End Sub
+	Private Sub OpenWithToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) _
+		Handles OpenWithToolStripMenuItem.Click
+		If Not FileOpenAlt(CmFiles(0)) Then MsgBox("Failed to open file!")
+	End Sub
 
-    Private Sub ShowInFolderToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ShowInFolderToolStripMenuItem.Click
-        If IO.File.Exists(CmFiles(0)) Then
-            Try
-                System.Diagnostics.Process.Start("explorer", "/select,""" & CmFiles(0) & "")
-            Catch ex As Exception
-                MsgBox("Failed to open file!")
-            End Try
-        Else
-            MsgBox("File not found!")
-        End If
-    End Sub
+	Private Sub ShowInFolderToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) _
+		Handles ShowInFolderToolStripMenuItem.Click
+		If IO.File.Exists(CmFiles(0)) Then
+			Try
+				System.Diagnostics.Process.Start("explorer", "/select,""" & CmFiles(0) & "")
+			Catch ex As Exception
+				MsgBox("Failed to open file!")
+			End Try
+		Else
+			MsgBox("File not found!")
+		End If
+	End Sub
 
 #End Region
-
-
-
 End Class
diff --git a/VECTO/GUI/F_Welcome.vb b/VECTO/GUI/F_Welcome.vb
index fd53aee8ed773d7e8af708ea7140b6dc422c9df0..1daa1694e2288363090091b5b432734d5046e722 100644
--- a/VECTO/GUI/F_Welcome.vb
+++ b/VECTO/GUI/F_Welcome.vb
@@ -15,33 +15,32 @@ Imports System.Windows.Forms
 ''' </summary>
 ''' <remarks></remarks>
 Public Class F_Welcome
+	'Close
+	Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
+		Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+		Me.Close()
+	End Sub
 
-    'Close
-    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
-        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
-        Me.Close()
-    End Sub
-
-    'Init
-    Private Sub F_Welcome_Load(sender As Object, e As System.EventArgs) Handles Me.Load
+	'Init
+	Private Sub F_Welcome_Load(sender As Object, e As System.EventArgs) Handles Me.Load
 		Me.Text = "VECTO " & VECTOvers & " / VectoCore " & COREvers
-    End Sub
+	End Sub
 
-    'Open Release Notes
-    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
-        If IO.File.Exists(MyAppPath & "User Manual\Release Notes.pdf") Then
-            System.Diagnostics.Process.Start(MyAppPath & "User Manual\Release Notes.pdf")
-        Else
-            MsgBox("Release Notes not found!", MsgBoxStyle.Critical)
-        End If
-    End Sub
+	'Open Release Notes
+	Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
+		If IO.File.Exists(MyAppPath & "User Manual\Release Notes.pdf") Then
+			System.Diagnostics.Process.Start(MyAppPath & "User Manual\Release Notes.pdf")
+		Else
+			MsgBox("Release Notes not found!", MsgBoxStyle.Critical)
+		End If
+	End Sub
 
-    'Open Quick Start Guide
-    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
-        If IO.File.Exists(MyAppPath & "User Manual\usermanual.html") Then
-            System.Diagnostics.Process.Start(MyAppPath & "User Manual\usermanual.html")
-        Else
-            MsgBox("Quick Start Guide not found!", MsgBoxStyle.Critical)
-        End If
-    End Sub
+	'Open Quick Start Guide
+	Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
+		If IO.File.Exists(MyAppPath & "User Manual\help.html") Then
+			System.Diagnostics.Process.Start(MyAppPath & "User Manual\help.html")
+		Else
+			MsgBox("User manual not found!", MsgBoxStyle.Critical)
+		End If
+	End Sub
 End Class
diff --git a/VECTO/VECTO.vbproj b/VECTO/VECTO.vbproj
index c73cf190a755085a25dc90e74b2a57bb5e74a176..560df51c89741a3ece3398444f12de475657f402 100644
--- a/VECTO/VECTO.vbproj
+++ b/VECTO/VECTO.vbproj
@@ -104,6 +104,7 @@
     <Reference Include="System.Drawing" />
     <Reference Include="System.Management" />
     <Reference Include="System.Runtime.Remoting" />
+    <Reference Include="System.Web" />
     <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Windows.Forms.DataVisualization" />
     <Reference Include="System.Xml" />