diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..fae6a8c485ba794809ec59230c77cf2a3b8b3d7e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+VECTO/bin/
+VECTO/obj/
diff --git a/GUI Source/Source.pptx b/GUI Source/Source.pptx
index 781e192ca0c1975fe5de42b3ca321e929eecccce..f427d003e982e454d26ca3280d5c83aa33799858 100644
Binary files a/GUI Source/Source.pptx and b/GUI Source/Source.pptx differ
diff --git a/VECTO Changelog.txt b/VECTO Changelog.txt
index 621d6435267a49de0d7062b3958fd337dabfa20f..e5b1dae36a4af42900d87315ddfb8a03799ca979 100644
--- a/VECTO Changelog.txt	
+++ b/VECTO Changelog.txt	
@@ -3,8 +3,12 @@ VECTO ?.? (future release) TODO
 	JSON
 
 
-VECTO 1.4.xxx (current source - next release)
-* Cleaned up source code
+VECTO x.x (current source)
+
+* Declaration Mode
+* Updated GUI including Charts
+* New internal Graph for VMOD files (replaces GRAPHi)
+* Shift polygons can be set separately for each gear
 * Removed rated power (not used anymore)
 * Removed rated engine speed form engine file. Now calculated form vfld file.
 * NOTE: These changes have inevitable influence on the calculation and results because several methods now use absolute instead of normalised values. Notable (but still negligible) differences may arise due to the following effects:
diff --git a/VECTO/GUI/F_ENG.Designer.vb b/VECTO/GUI/F_ENG.Designer.vb
index d15ecebe72c96808a45269a808a0777eb6862f7e..7eefd3d650193bd29efb703c148310d59424b140 100644
--- a/VECTO/GUI/F_ENG.Designer.vb
+++ b/VECTO/GUI/F_ENG.Designer.vb
@@ -85,6 +85,7 @@ Partial Class F_ENG
         Me.Label7 = New System.Windows.Forms.Label()
         Me.Label4 = New System.Windows.Forms.Label()
         Me.PicBox = New System.Windows.Forms.PictureBox()
+        Me.Label13 = New System.Windows.Forms.Label()
         Me.ToolStrip1.SuspendLayout()
         Me.StatusStrip1.SuspendLayout()
         CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -443,6 +444,7 @@ Partial Class F_ENG
         '
         'GrWHTC
         '
+        Me.GrWHTC.Controls.Add(Me.Label13)
         Me.GrWHTC.Controls.Add(Me.TbWHTCmw)
         Me.GrWHTC.Controls.Add(Me.TbWHTCrural)
         Me.GrWHTC.Controls.Add(Me.TbWHTCurban)
@@ -455,28 +457,28 @@ Partial Class F_ENG
         Me.GrWHTC.Enabled = False
         Me.GrWHTC.Location = New System.Drawing.Point(12, 392)
         Me.GrWHTC.Name = "GrWHTC"
-        Me.GrWHTC.Size = New System.Drawing.Size(481, 61)
+        Me.GrWHTC.Size = New System.Drawing.Size(481, 91)
         Me.GrWHTC.TabIndex = 9
         Me.GrWHTC.TabStop = False
         Me.GrWHTC.Text = "WHTC Test Results"
         '
         'TbWHTCmw
         '
-        Me.TbWHTCmw.Location = New System.Drawing.Point(348, 28)
+        Me.TbWHTCmw.Location = New System.Drawing.Point(348, 56)
         Me.TbWHTCmw.Name = "TbWHTCmw"
         Me.TbWHTCmw.Size = New System.Drawing.Size(57, 20)
         Me.TbWHTCmw.TabIndex = 2
         '
         'TbWHTCrural
         '
-        Me.TbWHTCrural.Location = New System.Drawing.Point(192, 28)
+        Me.TbWHTCrural.Location = New System.Drawing.Point(192, 56)
         Me.TbWHTCrural.Name = "TbWHTCrural"
         Me.TbWHTCrural.Size = New System.Drawing.Size(57, 20)
         Me.TbWHTCrural.TabIndex = 1
         '
         'TbWHTCurban
         '
-        Me.TbWHTCurban.Location = New System.Drawing.Point(36, 28)
+        Me.TbWHTCurban.Location = New System.Drawing.Point(36, 56)
         Me.TbWHTCurban.Name = "TbWHTCurban"
         Me.TbWHTCurban.Size = New System.Drawing.Size(57, 20)
         Me.TbWHTCurban.TabIndex = 0
@@ -484,7 +486,7 @@ Partial Class F_ENG
         'Label8
         '
         Me.Label8.AutoSize = True
-        Me.Label8.Location = New System.Drawing.Point(317, 31)
+        Me.Label8.Location = New System.Drawing.Point(317, 59)
         Me.Label8.Name = "Label8"
         Me.Label8.Size = New System.Drawing.Size(25, 13)
         Me.Label8.TabIndex = 0
@@ -493,7 +495,7 @@ Partial Class F_ENG
         'Label12
         '
         Me.Label12.AutoSize = True
-        Me.Label12.Location = New System.Drawing.Point(411, 31)
+        Me.Label12.Location = New System.Drawing.Point(411, 59)
         Me.Label12.Name = "Label12"
         Me.Label12.Size = New System.Drawing.Size(47, 13)
         Me.Label12.TabIndex = 0
@@ -502,7 +504,7 @@ Partial Class F_ENG
         'Label10
         '
         Me.Label10.AutoSize = True
-        Me.Label10.Location = New System.Drawing.Point(255, 31)
+        Me.Label10.Location = New System.Drawing.Point(255, 59)
         Me.Label10.Name = "Label10"
         Me.Label10.Size = New System.Drawing.Size(47, 13)
         Me.Label10.TabIndex = 0
@@ -511,7 +513,7 @@ Partial Class F_ENG
         'Label9
         '
         Me.Label9.AutoSize = True
-        Me.Label9.Location = New System.Drawing.Point(99, 31)
+        Me.Label9.Location = New System.Drawing.Point(99, 59)
         Me.Label9.Name = "Label9"
         Me.Label9.Size = New System.Drawing.Size(47, 13)
         Me.Label9.TabIndex = 0
@@ -520,7 +522,7 @@ Partial Class F_ENG
         'Label7
         '
         Me.Label7.AutoSize = True
-        Me.Label7.Location = New System.Drawing.Point(162, 31)
+        Me.Label7.Location = New System.Drawing.Point(162, 59)
         Me.Label7.Name = "Label7"
         Me.Label7.Size = New System.Drawing.Size(24, 13)
         Me.Label7.TabIndex = 0
@@ -529,7 +531,7 @@ Partial Class F_ENG
         'Label4
         '
         Me.Label4.AutoSize = True
-        Me.Label4.Location = New System.Drawing.Point(6, 31)
+        Me.Label4.Location = New System.Drawing.Point(6, 59)
         Me.Label4.Name = "Label4"
         Me.Label4.Size = New System.Drawing.Size(24, 13)
         Me.Label4.TabIndex = 0
@@ -544,6 +546,15 @@ Partial Class F_ENG
         Me.PicBox.TabIndex = 40
         Me.PicBox.TabStop = False
         '
+        'Label13
+        '
+        Me.Label13.AutoSize = True
+        Me.Label13.Location = New System.Drawing.Point(6, 27)
+        Me.Label13.Name = "Label13"
+        Me.Label13.Size = New System.Drawing.Size(91, 13)
+        Me.Label13.TabIndex = 3
+        Me.Label13.Text = "Fuel Consumption"
+        '
         'F_ENG
         '
         Me.AcceptButton = Me.ButOK
@@ -646,4 +657,5 @@ Partial Class F_ENG
     Friend WithEvents Label7 As System.Windows.Forms.Label
     Friend WithEvents Label4 As System.Windows.Forms.Label
     Friend WithEvents PicBox As System.Windows.Forms.PictureBox
+    Friend WithEvents Label13 As System.Windows.Forms.Label
 End Class
diff --git a/VECTO/GUI/F_Graph.Designer.vb b/VECTO/GUI/F_Graph.Designer.vb
index d7fe3f18149217b32b1521303e3c4829a141fe87..1e72a46d1e422f124a86285469096d15eede548f 100644
--- a/VECTO/GUI/F_Graph.Designer.vb
+++ b/VECTO/GUI/F_Graph.Designer.vb
@@ -44,6 +44,10 @@ Partial Class F_Graph
         Me.BtReset = New System.Windows.Forms.Button()
         Me.Label2 = New System.Windows.Forms.Label()
         Me.Label3 = New System.Windows.Forms.Label()
+        Me.BtZoomIn = New System.Windows.Forms.Button()
+        Me.BtZoomOut = New System.Windows.Forms.Button()
+        Me.BtMoveL = New System.Windows.Forms.Button()
+        Me.BtMoveR = New System.Windows.Forms.Button()
         CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
         Me.GroupBox1.SuspendLayout()
         Me.ToolStrip1.SuspendLayout()
@@ -207,21 +211,21 @@ Partial Class F_Graph
         Me.TbXmin.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
         Me.TbXmin.Location = New System.Drawing.Point(497, 369)
         Me.TbXmin.Name = "TbXmin"
-        Me.TbXmin.Size = New System.Drawing.Size(100, 20)
+        Me.TbXmin.Size = New System.Drawing.Size(71, 20)
         Me.TbXmin.TabIndex = 2
         '
         'TbXmax
         '
         Me.TbXmax.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
-        Me.TbXmax.Location = New System.Drawing.Point(642, 369)
+        Me.TbXmax.Location = New System.Drawing.Point(609, 369)
         Me.TbXmax.Name = "TbXmax"
-        Me.TbXmax.Size = New System.Drawing.Size(100, 20)
+        Me.TbXmax.Size = New System.Drawing.Size(71, 20)
         Me.TbXmax.TabIndex = 3
         '
         'BtReset
         '
         Me.BtReset.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
-        Me.BtReset.Location = New System.Drawing.Point(748, 367)
+        Me.BtReset.Location = New System.Drawing.Point(691, 367)
         Me.BtReset.Name = "BtReset"
         Me.BtReset.Size = New System.Drawing.Size(75, 23)
         Me.BtReset.TabIndex = 4
@@ -242,17 +246,61 @@ Partial Class F_Graph
         '
         Me.Label3.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
         Me.Label3.AutoSize = True
-        Me.Label3.Location = New System.Drawing.Point(609, 372)
+        Me.Label3.Location = New System.Drawing.Point(576, 372)
         Me.Label3.Name = "Label3"
         Me.Label3.Size = New System.Drawing.Size(27, 13)
         Me.Label3.TabIndex = 35
         Me.Label3.Text = "Max"
         '
+        'BtZoomIn
+        '
+        Me.BtZoomIn.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+        Me.BtZoomIn.Location = New System.Drawing.Point(1103, 366)
+        Me.BtZoomIn.Name = "BtZoomIn"
+        Me.BtZoomIn.Size = New System.Drawing.Size(28, 23)
+        Me.BtZoomIn.TabIndex = 36
+        Me.BtZoomIn.Text = "+"
+        Me.BtZoomIn.UseVisualStyleBackColor = True
+        '
+        'BtZoomOut
+        '
+        Me.BtZoomOut.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+        Me.BtZoomOut.Location = New System.Drawing.Point(1137, 366)
+        Me.BtZoomOut.Name = "BtZoomOut"
+        Me.BtZoomOut.Size = New System.Drawing.Size(28, 23)
+        Me.BtZoomOut.TabIndex = 36
+        Me.BtZoomOut.Text = "-"
+        Me.BtZoomOut.UseVisualStyleBackColor = True
+        '
+        'BtMoveL
+        '
+        Me.BtMoveL.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+        Me.BtMoveL.Location = New System.Drawing.Point(1184, 366)
+        Me.BtMoveL.Name = "BtMoveL"
+        Me.BtMoveL.Size = New System.Drawing.Size(28, 23)
+        Me.BtMoveL.TabIndex = 36
+        Me.BtMoveL.Text = "<"
+        Me.BtMoveL.UseVisualStyleBackColor = True
+        '
+        'BtMoveR
+        '
+        Me.BtMoveR.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+        Me.BtMoveR.Location = New System.Drawing.Point(1218, 366)
+        Me.BtMoveR.Name = "BtMoveR"
+        Me.BtMoveR.Size = New System.Drawing.Size(28, 23)
+        Me.BtMoveR.TabIndex = 36
+        Me.BtMoveR.Text = ">"
+        Me.BtMoveR.UseVisualStyleBackColor = True
+        '
         'F_Graph
         '
         Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
         Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
         Me.ClientSize = New System.Drawing.Size(1258, 400)
+        Me.Controls.Add(Me.BtZoomOut)
+        Me.Controls.Add(Me.BtMoveR)
+        Me.Controls.Add(Me.BtMoveL)
+        Me.Controls.Add(Me.BtZoomIn)
         Me.Controls.Add(Me.Label3)
         Me.Controls.Add(Me.Label2)
         Me.Controls.Add(Me.BtReset)
@@ -297,4 +345,8 @@ Partial Class F_Graph
     Friend WithEvents Label2 As System.Windows.Forms.Label
     Friend WithEvents Label3 As System.Windows.Forms.Label
     Friend WithEvents ToolStripButton3 As System.Windows.Forms.ToolStripButton
+    Friend WithEvents BtZoomIn As System.Windows.Forms.Button
+    Friend WithEvents BtZoomOut As System.Windows.Forms.Button
+    Friend WithEvents BtMoveL As System.Windows.Forms.Button
+    Friend WithEvents BtMoveR As System.Windows.Forms.Button
 End Class
diff --git a/VECTO/GUI/F_Graph.vb b/VECTO/GUI/F_Graph.vb
index 00a92618dd7efec6d057317fca50c397fd982f82..c63422101da6b9b409ee315ec8c10e28d8656204 100644
--- a/VECTO/GUI/F_Graph.vb
+++ b/VECTO/GUI/F_Graph.vb
@@ -520,4 +520,82 @@ Public Class F_Graph
         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
 End Class
\ No newline at end of file
diff --git a/VECTO/GUI/F_MAINForm.Designer.vb b/VECTO/GUI/F_MAINForm.Designer.vb
index 04a037dfa2cfe9b6bad8f27063d4fabc44fd02c7..b5fef90ea9ac548822a4954961a982157d5e82d3 100644
--- a/VECTO/GUI/F_MAINForm.Designer.vb
+++ b/VECTO/GUI/F_MAINForm.Designer.vb
@@ -243,6 +243,7 @@ Partial Class F_MAINForm
         'BtGENdown
         '
         Me.BtGENdown.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+        Me.BtGENdown.Image = Global.VECTO.My.Resources.Resources.Actions_arrow_down_icon
         Me.BtGENdown.Location = New System.Drawing.Point(996, 317)
         Me.BtGENdown.Name = "BtGENdown"
         Me.BtGENdown.Size = New System.Drawing.Size(30, 23)
diff --git a/VECTO/GUI/F_VECTO.Designer.vb b/VECTO/GUI/F_VECTO.Designer.vb
index 781995a9050252bd4b7099c301653eb40d5cb6a5..fa4dc40a2f91cc11215e7c93d0b302c25fb3bc1e 100644
--- a/VECTO/GUI/F_VECTO.Designer.vb
+++ b/VECTO/GUI/F_VECTO.Designer.vb
@@ -988,10 +988,10 @@ Partial Class F_VECTO
         '
         'TbAxleConf
         '
-        Me.TbAxleConf.Location = New System.Drawing.Point(894, 155)
+        Me.TbAxleConf.Location = New System.Drawing.Point(904, 155)
         Me.TbAxleConf.Name = "TbAxleConf"
         Me.TbAxleConf.ReadOnly = True
-        Me.TbAxleConf.Size = New System.Drawing.Size(41, 20)
+        Me.TbAxleConf.Size = New System.Drawing.Size(31, 20)
         Me.TbAxleConf.TabIndex = 37
         '
         'TbHVCclass
@@ -1015,7 +1015,7 @@ Partial Class F_VECTO
         Me.TbMass.Location = New System.Drawing.Point(848, 155)
         Me.TbMass.Name = "TbMass"
         Me.TbMass.ReadOnly = True
-        Me.TbMass.Size = New System.Drawing.Size(40, 20)
+        Me.TbMass.Size = New System.Drawing.Size(50, 20)
         Me.TbMass.TabIndex = 37
         '
         'F_VECTO
diff --git a/VECTO/GUI/F_VECTO.vb b/VECTO/GUI/F_VECTO.vb
index 3a62b86143533dacdb4af42615a4fa7095400f3a..0b3cb32240adbce94d67df1d62218d6e51b4151b 100644
--- a/VECTO/GUI/F_VECTO.vb
+++ b/VECTO/GUI/F_VECTO.vb
@@ -966,6 +966,7 @@ lbDlog:
 
         Dim s0 As cSegmentTableEntry = Nothing
         Dim HDVclass As String
+        Dim m0 As tMission
 
         Dim MyChart As System.Windows.Forms.DataVisualization.Charting.Chart
         Dim s As System.Windows.Forms.DataVisualization.Charting.Series
@@ -987,6 +988,12 @@ lbDlog:
 
             If Declaration.SegmentTable.SetRef(s0, VEH0.VehCat, VEH0.AxleConf, VEH0.MassMax) Then
                 HDVclass = s0.HDVclass
+
+                Me.LvCycles.Items.Clear()
+                For Each m0 In s0.Missions
+                    Me.LvCycles.Items.Add(Declaration.Missions(m0).NameStr)
+                Next
+
             Else
                 HDVclass = "-"
             End If
@@ -995,7 +1002,7 @@ lbDlog:
 
             Me.TbHVCclass.Text = "HDV Class " & HDVclass
             Me.TbVehCat.Text = ConvVehCat(VEH0.VehCat, True)
-            Me.TbMass.Text = VEH0.MassMax.ToString("0") & " t"
+            Me.TbMass.Text = VEH0.MassMax & " t"
             Me.TbAxleConf.Text = ConvAxleConf(VEH0.AxleConf)
 
         End If
diff --git a/VECTO/GUI/F_VEH.Designer.vb b/VECTO/GUI/F_VEH.Designer.vb
index 4846a079b9d28f8abc2d9819c842c5546513cdb8..e7cb4259d22b377bae196433e63e8eefc3c53a11 100644
--- a/VECTO/GUI/F_VEH.Designer.vb
+++ b/VECTO/GUI/F_VEH.Designer.vb
@@ -106,8 +106,7 @@ Partial Class F_VEH
         Me.Label22 = New System.Windows.Forms.Label()
         Me.GroupBox1 = New System.Windows.Forms.GroupBox()
         Me.PnLoad = New System.Windows.Forms.Panel()
-        Me.GroupBox4 = New System.Windows.Forms.GroupBox()
-        Me.PnCdATrTr = New System.Windows.Forms.Panel()
+        Me.GrAirRes = New System.Windows.Forms.GroupBox()
         Me.LbCdATr = New System.Windows.Forms.Label()
         Me.PnCdARig = New System.Windows.Forms.Panel()
         Me.LbCdARig = New System.Windows.Forms.Label()
@@ -120,6 +119,7 @@ Partial Class F_VEH
         Me.PnAll = New System.Windows.Forms.Panel()
         Me.PicVehicle = New System.Windows.Forms.PictureBox()
         Me.Label8 = New System.Windows.Forms.Label()
+        Me.PnCdATrTr = New System.Windows.Forms.Panel()
         Me.GroupBox6.SuspendLayout()
         Me.ToolStrip1.SuspendLayout()
         Me.GroupBox7.SuspendLayout()
@@ -129,13 +129,13 @@ Partial Class F_VEH
         Me.StatusStrip1.SuspendLayout()
         Me.GroupBox1.SuspendLayout()
         Me.PnLoad.SuspendLayout()
-        Me.GroupBox4.SuspendLayout()
-        Me.PnCdATrTr.SuspendLayout()
+        Me.GrAirRes.SuspendLayout()
         Me.PnCdARig.SuspendLayout()
         CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
         Me.CmOpenFile.SuspendLayout()
         Me.PnAll.SuspendLayout()
         CType(Me.PicVehicle, System.ComponentModel.ISupportInitialize).BeginInit()
+        Me.PnCdATrTr.SuspendLayout()
         Me.SuspendLayout()
         '
         'Label1
@@ -791,30 +791,20 @@ Partial Class F_VEH
         Me.PnLoad.Size = New System.Drawing.Size(256, 75)
         Me.PnLoad.TabIndex = 25
         '
-        'GroupBox4
-        '
-        Me.GroupBox4.Controls.Add(Me.PnCdATrTr)
-        Me.GroupBox4.Controls.Add(Me.PnCdARig)
-        Me.GroupBox4.Controls.Add(Me.Label3)
-        Me.GroupBox4.Controls.Add(Me.Label4)
-        Me.GroupBox4.Controls.Add(Me.Label37)
-        Me.GroupBox4.Controls.Add(Me.Label38)
-        Me.GroupBox4.Location = New System.Drawing.Point(278, 3)
-        Me.GroupBox4.Name = "GroupBox4"
-        Me.GroupBox4.Size = New System.Drawing.Size(266, 124)
-        Me.GroupBox4.TabIndex = 3
-        Me.GroupBox4.TabStop = False
-        Me.GroupBox4.Text = "Air Resistance"
-        '
-        'PnCdATrTr
-        '
-        Me.PnCdATrTr.Controls.Add(Me.LbCdATr)
-        Me.PnCdATrTr.Controls.Add(Me.TBcdTrTr)
-        Me.PnCdATrTr.Controls.Add(Me.TBAquersTrTr)
-        Me.PnCdATrTr.Location = New System.Drawing.Point(97, 26)
-        Me.PnCdATrTr.Name = "PnCdATrTr"
-        Me.PnCdATrTr.Size = New System.Drawing.Size(64, 78)
-        Me.PnCdATrTr.TabIndex = 27
+        'GrAirRes
+        '
+        Me.GrAirRes.Controls.Add(Me.PnCdATrTr)
+        Me.GrAirRes.Controls.Add(Me.PnCdARig)
+        Me.GrAirRes.Controls.Add(Me.Label3)
+        Me.GrAirRes.Controls.Add(Me.Label4)
+        Me.GrAirRes.Controls.Add(Me.Label37)
+        Me.GrAirRes.Controls.Add(Me.Label38)
+        Me.GrAirRes.Location = New System.Drawing.Point(278, 3)
+        Me.GrAirRes.Name = "GrAirRes"
+        Me.GrAirRes.Size = New System.Drawing.Size(266, 124)
+        Me.GrAirRes.TabIndex = 3
+        Me.GrAirRes.TabStop = False
+        Me.GrAirRes.Text = "Air Resistance"
         '
         'LbCdATr
         '
@@ -888,7 +878,7 @@ Partial Class F_VEH
         '
         'PnAll
         '
-        Me.PnAll.Controls.Add(Me.GroupBox4)
+        Me.PnAll.Controls.Add(Me.GrAirRes)
         Me.PnAll.Controls.Add(Me.GroupBox1)
         Me.PnAll.Controls.Add(Me.GroupBox8)
         Me.PnAll.Controls.Add(Me.GroupBox7)
@@ -917,6 +907,16 @@ Partial Class F_VEH
         Me.Label8.TabIndex = 40
         Me.Label8.Text = "HDV Class"
         '
+        'PnCdATrTr
+        '
+        Me.PnCdATrTr.Controls.Add(Me.LbCdATr)
+        Me.PnCdATrTr.Controls.Add(Me.TBcdTrTr)
+        Me.PnCdATrTr.Controls.Add(Me.TBAquersTrTr)
+        Me.PnCdATrTr.Location = New System.Drawing.Point(97, 26)
+        Me.PnCdATrTr.Name = "PnCdATrTr"
+        Me.PnCdATrTr.Size = New System.Drawing.Size(64, 78)
+        Me.PnCdATrTr.TabIndex = 27
+        '
         'F_VEH
         '
         Me.AcceptButton = Me.ButOK
@@ -962,16 +962,16 @@ Partial Class F_VEH
         Me.GroupBox1.PerformLayout()
         Me.PnLoad.ResumeLayout(False)
         Me.PnLoad.PerformLayout()
-        Me.GroupBox4.ResumeLayout(False)
-        Me.GroupBox4.PerformLayout()
-        Me.PnCdATrTr.ResumeLayout(False)
-        Me.PnCdATrTr.PerformLayout()
+        Me.GrAirRes.ResumeLayout(False)
+        Me.GrAirRes.PerformLayout()
         Me.PnCdARig.ResumeLayout(False)
         Me.PnCdARig.PerformLayout()
         CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
         Me.CmOpenFile.ResumeLayout(False)
         Me.PnAll.ResumeLayout(False)
         CType(Me.PicVehicle, System.ComponentModel.ISupportInitialize).EndInit()
+        Me.PnCdATrTr.ResumeLayout(False)
+        Me.PnCdATrTr.PerformLayout()
         Me.ResumeLayout(False)
         Me.PerformLayout()
 
@@ -1036,7 +1036,7 @@ Partial Class F_VEH
     Friend WithEvents TbLoadingMax As System.Windows.Forms.TextBox
     Friend WithEvents Label22 As System.Windows.Forms.Label
     Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
-    Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox
+    Friend WithEvents GrAirRes As System.Windows.Forms.GroupBox
     Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
     Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator
     Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton
@@ -1052,7 +1052,6 @@ Partial Class F_VEH
     Friend WithEvents TBcwRig As System.Windows.Forms.TextBox
     Friend WithEvents TBAquersRig As System.Windows.Forms.TextBox
     Friend WithEvents PnCdARig As System.Windows.Forms.Panel
-    Friend WithEvents PnCdATrTr As System.Windows.Forms.Panel
     Friend WithEvents PnAll As System.Windows.Forms.Panel
     Friend WithEvents Label6 As System.Windows.Forms.Label
     Friend WithEvents ColumnHeader3 As System.Windows.Forms.ColumnHeader
@@ -1062,4 +1061,5 @@ Partial Class F_VEH
     Friend WithEvents PnWheelDiam As System.Windows.Forms.Panel
     Friend WithEvents PicVehicle As System.Windows.Forms.PictureBox
     Friend WithEvents Label8 As System.Windows.Forms.Label
+    Friend WithEvents PnCdATrTr As System.Windows.Forms.Panel
 End Class
diff --git a/VECTO/GUI/F_VEH.vb b/VECTO/GUI/F_VEH.vb
index 21db675d7289680ba7cc1e6a663a68fd1adbb7a7..e9c4e1f673c879b3740a72fd07d800d442813add 100644
--- a/VECTO/GUI/F_VEH.vb
+++ b/VECTO/GUI/F_VEH.vb
@@ -101,8 +101,6 @@ Public Class F_VEH
         Dim i0 As Int16
         Dim AxleCount As Int16
         Dim lvi As ListViewItem
-        Dim RigEnabled As Boolean
-        Dim TrTrEnabled As Boolean
         Dim rdyn As Single
 
         If Not Cfg.DeclMode Then Exit Sub
@@ -139,21 +137,14 @@ Public Class F_VEH
                 Next
             End If
 
-            If s0.LongHaulRigidTrailer Then
-
-                RigEnabled = True
-                TrTrEnabled = True
-
+            If s0.TrailerOnlyInLongHaul Then
+                Me.PnCdATrTr.Width = 64
+                Me.PnCdARig.Visible = True
+                Me.LbCdATr.Visible = True
             Else
-
-                If s0.VehCat = tVehCat.RigidTruck Then
-                    RigEnabled = True
-                    TrTrEnabled = False
-                Else
-                    RigEnabled = False
-                    TrTrEnabled = True
-                End If
-
+                Me.PnCdATrTr.Width = 132
+                Me.PnCdARig.Visible = False
+                Me.LbCdATr.Visible = False
             End If
 
             Me.PnAll.Enabled = True
@@ -161,29 +152,6 @@ Public Class F_VEH
         Else
             Me.PnAll.Enabled = False
             HDVclass = "-"
-            RigEnabled = False
-            TrTrEnabled = False
-        End If
-
-
-        If RigEnabled Then
-            Me.PnCdARig.Enabled = True
-            If Me.TBcwRig.Text = "-" Then Me.TBcwRig.Text = ""
-            If Me.TBAquersRig.Text = "-" Then Me.TBAquersRig.Text = ""
-        Else
-            Me.PnCdARig.Enabled = False
-            Me.TBcwRig.Text = "-"
-            Me.TBAquersRig.Text = "-"
-        End If
-
-        If TrTrEnabled Then
-            Me.PnCdATrTr.Enabled = True
-            If Me.TBcdTrTr.Text = "-" Then Me.TBcdTrTr.Text = ""
-            If Me.TBAquersTrTr.Text = "-" Then Me.TBAquersTrTr.Text = ""
-        Else
-            Me.PnCdATrTr.Enabled = False
-            Me.TBcdTrTr.Text = "-"
-            Me.TBAquersTrTr.Text = "-"
         End If
 
         Me.TbMassExtra.Text = "-"
@@ -409,10 +377,10 @@ Public Class F_VEH
 
         Me.CbAxleConfig.SelectedIndex = CType(VEH0.AxleConf, Integer)
 
-        Me.TBcdTrTr.Text = VEH0.Cd0Tr
-        Me.TBAquersTrTr.Text = VEH0.Aquers0Tr
-        Me.TBcwRig.Text = VEH0.Cd0Rig
-        Me.TBAquersRig.Text = VEH0.Aquers0Rig
+        Me.TBcdTrTr.Text = VEH0.Cd0
+        Me.TBAquersTrTr.Text = VEH0.Aquers
+        Me.TBcwRig.Text = VEH0.Cd02
+        Me.TBAquersRig.Text = VEH0.Aquers2
 
         DeclInit()
 
@@ -445,10 +413,14 @@ Public Class F_VEH
         VEH0.Mass = CSng(fTextboxToNumString(Me.TbMass.Text))
         VEH0.MassExtra = CSng(fTextboxToNumString(Me.TbMassExtra.Text))
         VEH0.Loading = CSng(fTextboxToNumString(Me.TbLoad.Text))
-        VEH0.Cd0Tr = CSng(fTextboxToNumString(Me.TBcdTrTr.Text))
-        VEH0.Aquers0Tr = CSng(fTextboxToNumString(Me.TBAquersTrTr.Text))
-        VEH0.Cd0Rig = CSng(fTextboxToNumString(Me.TBcwRig.Text))
-        VEH0.Aquers0Rig = CSng(fTextboxToNumString(Me.TBAquersRig.Text))
+
+        VEH0.Cd0 = CSng(fTextboxToNumString(Me.TBcdTrTr.Text))
+        VEH0.Aquers = CSng(fTextboxToNumString(Me.TBAquersTrTr.Text))
+
+        If Me.PnCdARig.Visible Then
+            VEH0.Cd02 = CSng(fTextboxToNumString(Me.TBcwRig.Text))
+            VEH0.Aquers2 = CSng(fTextboxToNumString(Me.TBAquersRig.Text))
+        End If
 
         VEH0.Rim = Me.CbRim.Text
 
diff --git a/VECTO/Input Files/cAux.vb b/VECTO/Input Files/cAux.vb
index 2d3820231b7405fe3a6ab9d6ef50b5f24e216709..94ec4deb2797b846aee66a928c5999f7c10e4147 100644
--- a/VECTO/Input Files/cAux.vb	
+++ b/VECTO/Input Files/cAux.vb	
@@ -156,12 +156,12 @@ lbErr:
         nUaux = nU * TransRatio
         PsplyAux = Psupply / EffToSply
 
-        Try
-            PauxEff = EffMap.Intpol(nUaux, PsplyAux)
-        Catch ex As Exception
+        PauxEff = EffMap.Intpol(nUaux, PsplyAux)
+
+        If EffMap.ExtrapolError Then
             MODdata.ModErrors.AuxMapExtr = fFILE(Filepath, False) & ", U= " & nUaux & " [1/min], PsupplyAux= " & PsplyAux & " [kW]"
             Return 0
-        End Try
+        End If
 
         Return PauxEff / EffToEng
 
diff --git a/VECTO/Input Files/cENG.vb b/VECTO/Input Files/cENG.vb
index 2605697d1fcf993ba09bfd0e27181f694d4593ef..156d4269e95e7939824b6bced40f7b9615b326ab 100644
--- a/VECTO/Input Files/cENG.vb	
+++ b/VECTO/Input Files/cENG.vb	
@@ -384,10 +384,13 @@ Public Class cENG
         Dim str As String
         Dim i As Integer
         Dim j As Integer
+        Dim G As Integer
 
         Dim MsgSrc As String
         MsgSrc = "ENG/Init"
 
+        G = Math.Max(GBX.GearCount, 0)
+
         'Create cFLD instance for each gear (list with gear as index)
         FLD = New List(Of cFLD)
 
@@ -411,7 +414,7 @@ Public Class cENG
 
                 For i = CInt(fldgFromTo(0)) To CInt(fldgFromTo(1))
 
-                    If i > GBX.GearCount Then Exit For
+                    If i > G Then Exit For
 
                     If i < 0 Or i > 99 Then
                         WorkerMsg(tMsgID.Err, "Cannot assign .vfld file to gear " & i & "!", MsgSrc, "<GUI>" & sFilePath)
@@ -434,7 +437,7 @@ Public Class cENG
         End Try
 
         'read .vfld files
-        For i = 0 To GBX.GearCount
+        For i = 0 To G
 
             If Not fldgear.ContainsKey(i) Then
                 WorkerMsg(tMsgID.Err, "No .vfld file assigned to gear " & i & "!", MsgSrc, "<GUI>" & sFilePath)
diff --git a/VECTO/Input Files/cGBX.vb b/VECTO/Input Files/cGBX.vb
index 61134b3eda0629e62694fd37acac38404a0341c1..37453e775c14d0a7578cc9e1fe9836d290a61e99 100644
--- a/VECTO/Input Files/cGBX.vb	
+++ b/VECTO/Input Files/cGBX.vb	
@@ -927,12 +927,11 @@ lbInt:
 
             GBmap = MyGBmaps(Gear)
 
-            Try
-                'Interpolate with Original Values
-                PeIn = nMtoPe(nU, GBmap.Intpol(nU, nPeToM(nU, PeOut)))
-                Ploss = PeIn - PeOut
 
-            Catch ex As Exception
+            'Interpolate with Original Values
+            PeIn = nMtoPe(nU, GBmap.Intpol(nU, nPeToM(nU, PeOut)))
+
+            If GBmap.ExtrapolError Then
 
                 'If error: try extrapolation
 
@@ -1010,7 +1009,12 @@ lbInt:
 
                 MODdata.ModErrors.TrLossMapExtr = "Gear= " & GrTxt & ", nU= " & nU.ToString("0.00") & " [1/min], MeOut=" & nPeToM(nU, PeOut).ToString("0.00") & " [Nm]"
 
-            End Try
+            Else
+
+                Ploss = PeIn - PeOut
+
+
+            End If
 
         End If
 
@@ -1053,11 +1057,11 @@ lbInt:
 
             GBmap = MyGBmaps(Gear)
 
-            Try
-                'Interpolate with original values
-                PeOut = nMtoPe(nU, GBmap.IntpolXZ(nU, nPeToM(nU, PeIn)))
 
-            Catch ex As Exception
+            'Interpolate with original values
+            PeOut = nMtoPe(nU, GBmap.IntpolXZ(nU, nPeToM(nU, PeIn)))
+
+            If GBmap.ExtrapolError Then
 
                 'If error: try extrapolation
 
@@ -1112,7 +1116,7 @@ lbInt:
 
                 MODdata.ModErrors.TrLossMapExtr = "Gear= " & GrTxt & ", nU= " & nU.ToString("0.00") & " [1/min], MeIn=" & nPeToM(nU, PeIn).ToString("0.00") & " [Nm] (fwd)"
 
-            End Try
+            End If
 
         End If
 
diff --git a/VECTO/Input Files/cMAP.vb b/VECTO/Input Files/cMAP.vb
index ffa68a2261872e50da95f7ec18e62f0d5e4a45ec..d4b3a728c5fec5b306cb4d27f84a501a1d317c0f 100644
--- a/VECTO/Input Files/cMAP.vb	
+++ b/VECTO/Input Files/cMAP.vb	
@@ -131,12 +131,17 @@ lbEr:
 
 
     Public Function fFCdelaunay_Intp(ByVal nU As Single, ByVal Tq As Single) As Single
-        Try
-            Return FuelMap.Intpol(nU, Tq)
-        Catch ex As Exception
+        Dim val As Single
+
+        val = FuelMap.Intpol(nU, Tq)
+
+        If FuelMap.ExtrapolError Then
             WorkerMsg(tMsgID.Err, "Cannot extrapolate FC map! n= " & nU.ToString("0.0") & " [1/min], Me= " & Tq.ToString("0.0") & " [Nm]", "MAP/FC_Intp")
             Return -10000
-        End Try
+        Else
+            Return val
+        End If
+
     End Function
 
 #Region "Properties"
diff --git a/VECTO/Input Files/cVEH.vb b/VECTO/Input Files/cVEH.vb
index 8307ba3ed26eb829177d57590e22ea487f1f8154..2f611138d61b3da1c84cebdae946a3cafb0addb3 100644
--- a/VECTO/Input Files/cVEH.vb	
+++ b/VECTO/Input Files/cVEH.vb	
@@ -13,7 +13,7 @@ Imports System.Collections.Generic
 Public Class cVEH
 
     'V2 MassMax is now saved in [t] instead of [kg]
-    Private Const FormatVersion As Short = 3
+    Private Const FormatVersion As Short = 4
     Private FileVersion As Short
 
     Private sFilePath As String
@@ -23,11 +23,11 @@ Public Class cVEH
     Public Loading As Single
     Private siFr0 As Single
 
-    Public Cd0Tr As Single
-    Public Aquers0Tr As Single
+    Public Cd0 As Single
+    Public Aquers As Single
 
-    Public Cd0Rig As Single
-    Public Aquers0Rig As Single
+    Public Cd02 As Single
+    Public Aquers2 As Single
 
     Private Cd0Act As Single
     Private AquersAct As Single
@@ -103,12 +103,12 @@ Public Class cVEH
         Mass = 0
         MassExtra = 0
         Loading = 0
-        Cd0Tr = 0
-        Aquers0Tr = 0
-        Cd0Act = Cd0Tr
-        AquersAct = Aquers0Tr
-        Cd0Rig = 0
-        Aquers0Rig = 0
+        Cd0 = 0
+        Aquers = 0
+        Cd0Act = Cd0
+        AquersAct = Aquers
+        Cd02 = 0
+        Aquers2 = 0
         CdFile.Clear()
         CdMode = tCdMode.ConstCd0
         CdX.Clear()
@@ -159,11 +159,14 @@ Public Class cVEH
         MassExtra = CSng(file.ReadLine(0))
         Loading = CSng(file.ReadLine(0))
 
-        Cd0Tr = CSng(file.ReadLine(0))
-        Aquers0Tr = CSng(file.ReadLine(0))
+        Cd0 = CSng(file.ReadLine(0))
+        Aquers = CSng(file.ReadLine(0))
 
-        Cd0Act = Cd0Tr
-        AquersAct = Aquers0Tr
+        Cd02 = Cd0
+        Aquers2 = Aquers
+
+        Cd0Act = Cd0
+        AquersAct = Aquers
 
         Itemp = CSng(file.ReadLine(0))
         rdyn = 1000 * CSng(file.ReadLine(0)) / 2
@@ -297,14 +300,22 @@ lbError:
             MassMax = JSON.Content("Body")("MassMax")
             If FileVersion < 2 Then MassMax /= 1000
 
-            Cd0Tr = JSON.Content("Body")("Cd")
-            Aquers0Tr = JSON.Content("Body")("CrossSecArea")
+            Cd0 = JSON.Content("Body")("Cd")
+            Aquers = JSON.Content("Body")("CrossSecArea")
+
+            Cd02 = Cd0
+            Aquers2 = Aquers
 
-            If Not JSON.Content("Body")("CdRigid") Is Nothing Then Cd0Rig = JSON.Content("Body")("CdRigid")
-            If Not JSON.Content("Body")("CrossSecAreaRigid") Is Nothing Then Aquers0Rig = JSON.Content("Body")("CrossSecAreaRigid")
+            If FileVersion < 4 Then
+                If Not JSON.Content("Body")("CdRigid") Is Nothing Then Cd02 = JSON.Content("Body")("CdRigid")
+                If Not JSON.Content("Body")("CrossSecAreaRigid") Is Nothing Then Aquers2 = JSON.Content("Body")("CrossSecAreaRigid")
+            Else
+                If Not JSON.Content("Body")("Cd2") Is Nothing Then Cd02 = JSON.Content("Body")("Cd2")
+                If Not JSON.Content("Body")("CrossSecArea2") Is Nothing Then Aquers2 = JSON.Content("Body")("CrossSecArea2")
+            End If
 
-            Cd0Act = Cd0Tr
-            AquersAct = Aquers0Tr
+            Cd0Act = Cd0
+            AquersAct = Aquers
 
             If FileVersion < 3 Then
                 Itemp = JSON.Content("Body")("WheelsInertia")
@@ -398,11 +409,13 @@ lbError:
         dic.Add("Loading", Loading)
         dic.Add("MassMax", MassMax)
 
-        dic.Add("Cd", Cd0Tr)
-        dic.Add("CrossSecArea", Aquers0Tr)
+        dic.Add("Cd", Cd0)
+        dic.Add("CrossSecArea", Aquers)
 
-        dic.Add("CdRigid", Cd0Rig)
-        dic.Add("CrossSecAreaRigid", Aquers0Rig)
+        If Cd02 > 0 And Aquers2 > 0 Then
+            dic.Add("Cd2", Cd02)
+            dic.Add("CrossSecArea2", Aquers2)
+        End If
 
         dic.Add("rdyn", rdyn)
         dic.Add("Rim", Rim)
@@ -478,7 +491,7 @@ lbError:
 
 
         '(Semi-) Trailer
-        If Not Declaration.SegRef.LongHaulRigidTrailer OrElse MissionID = tMission.LongHaul Then
+        If Not Declaration.SegRef.TrailerOnlyInLongHaul OrElse MissionID = tMission.LongHaul Then
             al = Declaration.SegRef.AxleSharesTr(MissionID)
             For Each a In al
 
@@ -514,25 +527,20 @@ lbError:
 
         CdFile.Init(MyPath, Declaration.SegRef.VCDVfile)
 
-        If Declaration.SegRef.LongHaulRigidTrailer Then
+        If Declaration.SegRef.TrailerOnlyInLongHaul Then
 
             If MissionID = tMission.LongHaul Then
-                Cd0Act = Cd0Tr
-                AquersAct = Aquers0Tr
+                Cd0Act = Cd0
+                AquersAct = Aquers
             Else
-                Cd0Act = Cd0Rig
-                AquersAct = Aquers0Rig
+                Cd0Act = Cd02
+                AquersAct = Aquers2
             End If
 
         Else
 
-            If Declaration.SegRef.VehCat = tVehCat.RigidTruck Then
-                Cd0Act = Cd0Rig
-                AquersAct = Aquers0Rig
-            Else
-                Cd0Act = Cd0Tr
-                AquersAct = Aquers0Tr
-            End If
+            Cd0Act = Cd0
+            AquersAct = Aquers
 
         End If
 
@@ -737,7 +745,7 @@ lbError:
         Return Cd0Act
     End Function
 
-    Public Function Aquers() As Single
+    Public Function CrossSecArea() As Single
         Return AquersAct
     End Function
 
diff --git a/VECTO/MODcalc/cPower.vb b/VECTO/MODcalc/cPower.vb
index 243ebea2796ed8ab881cd42dcd70ccbd7cc9cead..17b1507295e3510c43ba21b74272e33d53a1fe96 100644
--- a/VECTO/MODcalc/cPower.vb
+++ b/VECTO/MODcalc/cPower.vb
@@ -664,14 +664,9 @@ lbGschw:
             '************************************ Gear selection ************************************
             If VehState0 = tVehState.Stopped Or TracIntrOn Then
 
-                If TracIntrTurnOff Then
+                If TracIntrTurnOff And Not VehState0 = tVehState.Stopped Then
 
                     Gear = TracIntrGear
-                    'If DEV.UseGearShiftPolygon Then
-                    '    Gear = fGearVECTO(jz)
-                    'Else
-                    '    Gear = fGearLKW(jz)
-                    'End If
 
                     If Not GBX.TCon AndAlso fnn(Vist, Gear, False) < Kuppln_norm And Pplus Then
                         Clutch = tEngClutch.Slipping
@@ -2195,7 +2190,7 @@ lb10:
 
         End Select
 
-        Return CSng((Cd * VEH.Aquers * Cfg.AirDensity / 2 * ((vair) ^ 2)) * v * 0.001)
+        Return CSng((Cd * VEH.CrossSecArea * Cfg.AirDensity / 2 * ((vair) ^ 2)) * v * 0.001)
 
     End Function
 
diff --git a/VECTO/VECTO.vbproj b/VECTO/VECTO.vbproj
index 096204aa9368c70a47fd8ec5bfae75868e6887ea..41258281512f07ce3c830209fb586678b86c9bd0 100644
--- a/VECTO/VECTO.vbproj
+++ b/VECTO/VECTO.vbproj
@@ -97,9 +97,8 @@
     <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Windows.Forms.DataVisualization" />
     <Reference Include="System.Xml" />
-    <Reference Include="vectolic, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\Licensing\License DLL\bin\Release\vectolic.dll</HintPath>
+    <Reference Include="vectolic">
+      <HintPath>..\..\VECTO-Lic\License DLL\bin\Release\vectolic.dll</HintPath>
     </Reference>
   </ItemGroup>
   <ItemGroup>
diff --git a/VECTO/VECTO_Global.vb b/VECTO/VECTO_Global.vb
index e4c4483738ea79b5927a6eb26838196f8ff82133..9131c071de829d3f16d6a215b3f68c59b5baeff6 100644
--- a/VECTO/VECTO_Global.vb
+++ b/VECTO/VECTO_Global.vb
@@ -12,7 +12,7 @@ Imports System.Collections.Generic
 
 Module VECTO_Global
 
-    Public Const VECTOvers As String = "1.5.0-pre0"
+    Public Const VECTOvers As String = "1.5.0-pre1"
     Public Const LicSigAppCode As String = "VECTO-Release-0093C61E0A2E4BFA9A7ED7E729C56AE4"
     Public MyAppPath As String
     Public MyConfPath As String
diff --git a/VECTO/cDeclaration.vb b/VECTO/cDeclaration.vb
index d2968c0122e97582c3b565206cc2d7e2b4896baa..daf783ff0c98e800653fef073421e589a7552a87 100644
--- a/VECTO/cDeclaration.vb
+++ b/VECTO/cDeclaration.vb
@@ -241,7 +241,7 @@ Public Class cDeclaration
                         If mt0 <> tMission.LongHaul Then AxleSharesTr.Add(line(11))
                     Next
 
-                    ste0.LongHaulRigidTrailer = (Trim(line(10)) <> "0/0" And Trim(line(11)) = "0/0" And ste0.VehCat = tVehCat.RigidTruck)
+                    ste0.TrailerOnlyInLongHaul = (Trim(line(10)) <> "0/0" And Trim(line(11)) = "0/0" And ste0.VehCat = tVehCat.RigidTruck)
 
                     i = 11
                     For Each mt0 In SegmentTable.MissionList
@@ -1182,7 +1182,7 @@ Public Class cSegmentTableEntry
     Public AxleShares As New Dictionary(Of tMission, List(Of Single))
     Public AxleSharesTr As New Dictionary(Of tMission, List(Of Single))
     Public WHTCWF As New Dictionary(Of tMission, Dictionary(Of tWHTCpart, Single))
-    Public LongHaulRigidTrailer As Boolean
+    Public TrailerOnlyInLongHaul As Boolean
 
     Public Function GetCycles() As List(Of String)
         Dim l As New List(Of String)
@@ -1221,9 +1221,9 @@ Public Class cSegmentTableEntry
         'Return Loading
         If HDVclass < 4 Then
             If Mission = tMission.LongHaul Then
-                Return 588.2 * MassMax * 1000 - 2511.8
+                Return 588.2 * MassMax - 2511.8
             Else
-                Return 394.1 * MassMax * 1000 - 1705.9
+                Return 394.1 * MassMax - 1705.9
             End If
         Else
             Return CSng(Loading(Mission))
diff --git a/VECTO/cDelaunayMap.vb b/VECTO/cDelaunayMap.vb
index f6fee2f8bdc3513d331ab4c06836564bd8ef9868..6595d4552b1e4b88ea0cc7ad2fe6f4d7184b12fb 100644
--- a/VECTO/cDelaunayMap.vb
+++ b/VECTO/cDelaunayMap.vb
@@ -23,6 +23,8 @@ Public Class cDelaunayMap
     Private planesXZ As List(Of Double())
     Private lDTXZ As List(Of dTriangle)
 
+    Public ExtrapolError As Boolean
+
 
     Public Sub New()
         ptList = New List(Of dPoint)
@@ -101,6 +103,7 @@ Public Class cDelaunayMap
         Dim l0 As Double()
         Dim tr As dTriangle
 
+        ExtrapolError = False
 
         'Try exact solution for IsInside()
         j = -1
@@ -125,13 +128,7 @@ Public Class cDelaunayMap
 
 
         'ERROR: Extrapolation
-
-        '#If DEBUG Then
-        '        Debug.Print(x & "," & y)
-        '#End If
-
-        Throw New ArgumentException("Extrapolation not possible!")
-
+        ExtrapolError = True
 
         Return Nothing
 
@@ -143,6 +140,8 @@ Public Class cDelaunayMap
         Dim l0 As Double()
         Dim tr As dTriangle
 
+        ExtrapolError = False
+
         If DualMode Then
 
             j = -1
@@ -166,13 +165,13 @@ Public Class cDelaunayMap
             Next
 
             'ERROR: Extrapolation
-            Throw New ArgumentException("Extrapolation not possible!")
+            ExtrapolError = True
             Return Nothing
 
         Else
 
             'ERROR: Extrapolation
-            Throw New ArgumentException("XZ Interpolation not configured")
+            ExtrapolError = True
             Return Nothing
 
         End If
diff --git a/readme.txt b/readme.txt
index fa3adb99fe85b5c0b9ba7819c70ddbbf436d15d1..5ac3f64f3ab6759e57a350215adc9aa879276213 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,4 +1,7 @@
-*Before compiling you need to add a reference to vectolic.dll
+*Before compiling you need to add references to:
+	- vectolic.dll
+	- itextsharp.dll
+	- Newtonsoft.Json.dll
 
 *The following directories/files must be provided in the application folder (e.g. ..\bin\Release):
 	User Manual