diff --git a/VECTO/GUI/VehicleForm.Designer.vb b/VECTO/GUI/VehicleForm.Designer.vb
index 9be48529b93a8be484c9fb9794c0076d4f87266d..fef16cd2627339423a7329bb49e201f3d0ec4e10 100644
--- a/VECTO/GUI/VehicleForm.Designer.vb
+++ b/VECTO/GUI/VehicleForm.Designer.vb
@@ -112,11 +112,11 @@ Partial Class VehicleForm
         Me.gbAngledrive = New System.Windows.Forms.GroupBox()
         Me.pnAngledriveFields = New System.Windows.Forms.Panel()
         Me.Label4 = New System.Windows.Forms.Label()
-        Me.Label12 = New System.Windows.Forms.Label()
         Me.Label10 = New System.Windows.Forms.Label()
         Me.tbAngledriveRatio = New System.Windows.Forms.TextBox()
         Me.btAngledriveLossMapBrowse = New System.Windows.Forms.Button()
         Me.tbAngledriveLossMapPath = New System.Windows.Forms.TextBox()
+        Me.Label12 = New System.Windows.Forms.Label()
         Me.cbAngledriveType = New System.Windows.Forms.ComboBox()
         Me.PicVehicle = New System.Windows.Forms.PictureBox()
         Me.Label8 = New System.Windows.Forms.Label()
@@ -149,6 +149,8 @@ Partial Class VehicleForm
         Me.tbInitialSoC = New System.Windows.Forms.TextBox()
         Me.lblInitialSoC = New System.Windows.Forms.Label()
         Me.gpElectricMotor = New System.Windows.Forms.GroupBox()
+        Me.Label33 = New System.Windows.Forms.Label()
+        Me.Label32 = New System.Windows.Forms.Label()
         Me.gbRatiosPerGear = New System.Windows.Forms.GroupBox()
         Me.lvRatioPerGear = New System.Windows.Forms.ListView()
         Me.ColumnHeader11 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
@@ -170,7 +172,10 @@ Partial Class VehicleForm
         Me.btnBrowseElectricMotor = New System.Windows.Forms.Button()
         Me.tbElectricMotor = New System.Windows.Forms.TextBox()
         Me.tpGensetComponents = New System.Windows.Forms.TabPage()
+        Me.Label30 = New System.Windows.Forms.Label()
         Me.gbGenSet = New System.Windows.Forms.GroupBox()
+        Me.Label36 = New System.Windows.Forms.Label()
+        Me.Label34 = New System.Windows.Forms.Label()
         Me.btnGenSetLossMap = New System.Windows.Forms.Button()
         Me.tbGenSetADC = New System.Windows.Forms.TextBox()
         Me.lblGenSetADC = New System.Windows.Forms.Label()
@@ -223,7 +228,6 @@ Partial Class VehicleForm
         Me.cbLegislativeClass = New System.Windows.Forms.ComboBox()
         Me.Label21 = New System.Windows.Forms.Label()
         Me.lblTitle = New System.Windows.Forms.Label()
-        Me.Label30 = New System.Windows.Forms.Label()
         Me.GroupBox6.SuspendLayout
         Me.ToolStrip1.SuspendLayout
         Me.gbRetarderLosses.SuspendLayout
@@ -302,7 +306,7 @@ Partial Class VehicleForm
         'Label3
         '
         Me.Label3.AutoSize = true
-        Me.Label3.Location = New System.Drawing.Point(75, 6)
+        Me.Label3.Location = New System.Drawing.Point(10, 6)
         Me.Label3.Name = "Label3"
         Me.Label3.Size = New System.Drawing.Size(38, 13)
         Me.Label3.TabIndex = 8
@@ -310,7 +314,7 @@ Partial Class VehicleForm
         '
         'TBcdA
         '
-        Me.TBcdA.Location = New System.Drawing.Point(119, 3)
+        Me.TBcdA.Location = New System.Drawing.Point(54, 3)
         Me.TBcdA.Name = "TBcdA"
         Me.TBcdA.Size = New System.Drawing.Size(57, 20)
         Me.TBcdA.TabIndex = 0
@@ -381,29 +385,34 @@ Partial Class VehicleForm
         '
         'CbCdMode
         '
+        Me.CbCdMode.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left)  _
+            Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.CbCdMode.DisplayMember = "Value"
         Me.CbCdMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
         Me.CbCdMode.FormattingEnabled = true
         Me.CbCdMode.Items.AddRange(New Object() {"No Correction", "Speed dependent (User-defined)", "Speed dependent (Declaration Mode)", "Vair & Beta Input"})
         Me.CbCdMode.Location = New System.Drawing.Point(6, 19)
         Me.CbCdMode.Name = "CbCdMode"
-        Me.CbCdMode.Size = New System.Drawing.Size(267, 21)
+        Me.CbCdMode.Size = New System.Drawing.Size(333, 21)
         Me.CbCdMode.TabIndex = 0
+        Me.CbCdMode.ValueMember = "Key"
         '
         'TbCdFile
         '
-        Me.TbCdFile.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.TbCdFile.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left)  _
+            Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.TbCdFile.Enabled = false
         Me.TbCdFile.Location = New System.Drawing.Point(9, 65)
         Me.TbCdFile.Name = "TbCdFile"
-        Me.TbCdFile.Size = New System.Drawing.Size(210, 20)
+        Me.TbCdFile.Size = New System.Drawing.Size(276, 20)
         Me.TbCdFile.TabIndex = 1
         '
         'BtCdFileBrowse
         '
-        Me.BtCdFileBrowse.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.BtCdFileBrowse.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.BtCdFileBrowse.Enabled = false
         Me.BtCdFileBrowse.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.BtCdFileBrowse.Location = New System.Drawing.Point(225, 62)
+        Me.BtCdFileBrowse.Location = New System.Drawing.Point(291, 62)
         Me.BtCdFileBrowse.Name = "BtCdFileBrowse"
         Me.BtCdFileBrowse.Size = New System.Drawing.Size(24, 24)
         Me.BtCdFileBrowse.TabIndex = 2
@@ -416,19 +425,19 @@ Partial Class VehicleForm
         Me.GroupBox6.Controls.Add(Me.CbCdMode)
         Me.GroupBox6.Controls.Add(Me.BtCdFileBrowse)
         Me.GroupBox6.Controls.Add(Me.TbCdFile)
-        Me.GroupBox6.Location = New System.Drawing.Point(290, 84)
+        Me.GroupBox6.Location = New System.Drawing.Point(293, 84)
         Me.GroupBox6.Name = "GroupBox6"
-        Me.GroupBox6.Size = New System.Drawing.Size(281, 96)
+        Me.GroupBox6.Size = New System.Drawing.Size(346, 96)
         Me.GroupBox6.TabIndex = 3
         Me.GroupBox6.TabStop = false
         Me.GroupBox6.Text = "Cross Wind Correction"
         '
         'BtCdFileOpen
         '
-        Me.BtCdFileOpen.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.BtCdFileOpen.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.BtCdFileOpen.Enabled = false
         Me.BtCdFileOpen.Image = Global.TUGraz.VECTO.My.Resources.Resources.application_export_icon_small
-        Me.BtCdFileOpen.Location = New System.Drawing.Point(249, 62)
+        Me.BtCdFileOpen.Location = New System.Drawing.Point(315, 62)
         Me.BtCdFileOpen.Name = "BtCdFileOpen"
         Me.BtCdFileOpen.Size = New System.Drawing.Size(24, 24)
         Me.BtCdFileOpen.TabIndex = 3
@@ -614,13 +623,14 @@ Partial Class VehicleForm
         '
         Me.CbRtType.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left)  _
             Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.CbRtType.DisplayMember = "Value"
         Me.CbRtType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
-        Me.CbRtType.FormattingEnabled = true
         Me.CbRtType.Items.AddRange(New Object() {"Included in Transmission Loss Maps", "Primary Retarder", "Secondary Retarder"})
         Me.CbRtType.Location = New System.Drawing.Point(6, 19)
         Me.CbRtType.Name = "CbRtType"
         Me.CbRtType.Size = New System.Drawing.Size(297, 21)
         Me.CbRtType.TabIndex = 0
+        Me.CbRtType.ValueMember = "Key"
         '
         'Label46
         '
@@ -655,15 +665,16 @@ Partial Class VehicleForm
         Me.GroupBox8.Controls.Add(Me.ButAxlAdd)
         Me.GroupBox8.Location = New System.Drawing.Point(6, 186)
         Me.GroupBox8.Name = "GroupBox8"
-        Me.GroupBox8.Size = New System.Drawing.Size(564, 151)
+        Me.GroupBox8.Size = New System.Drawing.Size(633, 182)
         Me.GroupBox8.TabIndex = 4
         Me.GroupBox8.TabStop = false
         Me.GroupBox8.Text = "Axles / Wheels"
         '
         'Label6
         '
+        Me.Label6.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.Label6.AutoSize = true
-        Me.Label6.Location = New System.Drawing.Point(450, 121)
+        Me.Label6.Location = New System.Drawing.Point(525, 152)
         Me.Label6.Name = "Label6"
         Me.Label6.Size = New System.Drawing.Size(106, 13)
         Me.Label6.TabIndex = 3
@@ -671,8 +682,9 @@ Partial Class VehicleForm
         '
         'ButAxlRem
         '
+        Me.ButAxlRem.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles)
         Me.ButAxlRem.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon
-        Me.ButAxlRem.Location = New System.Drawing.Point(29, 122)
+        Me.ButAxlRem.Location = New System.Drawing.Point(29, 151)
         Me.ButAxlRem.Name = "ButAxlRem"
         Me.ButAxlRem.Size = New System.Drawing.Size(24, 24)
         Me.ButAxlRem.TabIndex = 2
@@ -680,7 +692,8 @@ Partial Class VehicleForm
         '
         'LvRRC
         '
-        Me.LvRRC.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left)  _
+        Me.LvRRC.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom)  _
+            Or System.Windows.Forms.AnchorStyles.Left)  _
             Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.LvRRC.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader7, Me.ColumnHeader8, Me.ColumnHeader2, Me.ColumnHeader9, Me.ColumnHeader1, Me.ColumnHeader3, Me.ColumnHeader4, Me.ColumnHeader10})
         Me.LvRRC.FullRowSelect = true
@@ -689,7 +702,7 @@ Partial Class VehicleForm
         Me.LvRRC.Location = New System.Drawing.Point(6, 19)
         Me.LvRRC.MultiSelect = false
         Me.LvRRC.Name = "LvRRC"
-        Me.LvRRC.Size = New System.Drawing.Size(552, 102)
+        Me.LvRRC.Size = New System.Drawing.Size(621, 131)
         Me.LvRRC.TabIndex = 0
         Me.LvRRC.TabStop = false
         Me.LvRRC.UseCompatibleStateImageBehavior = false
@@ -736,8 +749,9 @@ Partial Class VehicleForm
         '
         'ButAxlAdd
         '
+        Me.ButAxlAdd.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles)
         Me.ButAxlAdd.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon
-        Me.ButAxlAdd.Location = New System.Drawing.Point(5, 122)
+        Me.ButAxlAdd.Location = New System.Drawing.Point(5, 151)
         Me.ButAxlAdd.Name = "ButAxlAdd"
         Me.ButAxlAdd.Size = New System.Drawing.Size(24, 24)
         Me.ButAxlAdd.TabIndex = 1
@@ -756,6 +770,7 @@ Partial Class VehicleForm
         '
         'CbAxleConfig
         '
+        Me.CbAxleConfig.DisplayMember = "Value"
         Me.CbAxleConfig.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
         Me.CbAxleConfig.FormattingEnabled = true
         Me.CbAxleConfig.Items.AddRange(New Object() {"-", "4x2", "4x4", "6x2", "6x4", "6x6", "8x2", "8x4", "8x6", "8x8"})
@@ -763,9 +778,11 @@ Partial Class VehicleForm
         Me.CbAxleConfig.Name = "CbAxleConfig"
         Me.CbAxleConfig.Size = New System.Drawing.Size(60, 21)
         Me.CbAxleConfig.TabIndex = 1
+        Me.CbAxleConfig.ValueMember = "Key"
         '
         'CbCat
         '
+        Me.CbCat.DisplayMember = "Value"
         Me.CbCat.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
         Me.CbCat.FormattingEnabled = true
         Me.CbCat.Items.AddRange(New Object() {"-", "Rigid Truck", "Tractor", "City Bus", "Interurban Bus", "Coach"})
@@ -773,6 +790,7 @@ Partial Class VehicleForm
         Me.CbCat.Name = "CbCat"
         Me.CbCat.Size = New System.Drawing.Size(135, 21)
         Me.CbCat.TabIndex = 0
+        Me.CbCat.ValueMember = "Key"
         '
         'Label5
         '
@@ -858,7 +876,7 @@ Partial Class VehicleForm
         Me.GrAirRes.Controls.Add(Me.PnCdATrTr)
         Me.GrAirRes.Location = New System.Drawing.Point(290, 6)
         Me.GrAirRes.Name = "GrAirRes"
-        Me.GrAirRes.Size = New System.Drawing.Size(280, 72)
+        Me.GrAirRes.Size = New System.Drawing.Size(349, 72)
         Me.GrAirRes.TabIndex = 2
         Me.GrAirRes.TabStop = false
         Me.GrAirRes.Text = "Air Resistance"
@@ -874,12 +892,12 @@ Partial Class VehicleForm
         Me.PnCdATrTr.Dock = System.Windows.Forms.DockStyle.Fill
         Me.PnCdATrTr.Location = New System.Drawing.Point(3, 16)
         Me.PnCdATrTr.Name = "PnCdATrTr"
-        Me.PnCdATrTr.Size = New System.Drawing.Size(274, 53)
+        Me.PnCdATrTr.Size = New System.Drawing.Size(343, 53)
         Me.PnCdATrTr.TabIndex = 0
         '
         'tbVehicleHeight
         '
-        Me.tbVehicleHeight.Location = New System.Drawing.Point(119, 29)
+        Me.tbVehicleHeight.Location = New System.Drawing.Point(54, 29)
         Me.tbVehicleHeight.Name = "tbVehicleHeight"
         Me.tbVehicleHeight.Size = New System.Drawing.Size(57, 20)
         Me.tbVehicleHeight.TabIndex = 1
@@ -887,7 +905,7 @@ Partial Class VehicleForm
         'Label11
         '
         Me.Label11.AutoSize = true
-        Me.Label11.Location = New System.Drawing.Point(182, 32)
+        Me.Label11.Location = New System.Drawing.Point(117, 32)
         Me.Label11.Name = "Label11"
         Me.Label11.Size = New System.Drawing.Size(21, 13)
         Me.Label11.TabIndex = 27
@@ -896,7 +914,7 @@ Partial Class VehicleForm
         'Label20
         '
         Me.Label20.AutoSize = true
-        Me.Label20.Location = New System.Drawing.Point(75, 32)
+        Me.Label20.Location = New System.Drawing.Point(10, 32)
         Me.Label20.Name = "Label20"
         Me.Label20.Size = New System.Drawing.Size(38, 13)
         Me.Label20.TabIndex = 26
@@ -905,7 +923,7 @@ Partial Class VehicleForm
         'Label38
         '
         Me.Label38.AutoSize = true
-        Me.Label38.Location = New System.Drawing.Point(182, 6)
+        Me.Label38.Location = New System.Drawing.Point(117, 6)
         Me.Label38.Name = "Label38"
         Me.Label38.Size = New System.Drawing.Size(24, 13)
         Me.Label38.TabIndex = 24
@@ -957,7 +975,7 @@ Partial Class VehicleForm
         Me.gbAngledrive.Controls.Add(Me.cbAngledriveType)
         Me.gbAngledrive.Location = New System.Drawing.Point(329, 76)
         Me.gbAngledrive.Name = "gbAngledrive"
-        Me.gbAngledrive.Size = New System.Drawing.Size(310, 111)
+        Me.gbAngledrive.Size = New System.Drawing.Size(313, 111)
         Me.gbAngledrive.TabIndex = 3
         Me.gbAngledrive.TabStop = false
         Me.gbAngledrive.Text = "Angledrive"
@@ -975,34 +993,23 @@ Partial Class VehicleForm
         Me.pnAngledriveFields.Controls.Add(Me.Label12)
         Me.pnAngledriveFields.Location = New System.Drawing.Point(3, 42)
         Me.pnAngledriveFields.Name = "pnAngledriveFields"
-        Me.pnAngledriveFields.Size = New System.Drawing.Size(300, 63)
+        Me.pnAngledriveFields.Size = New System.Drawing.Size(303, 63)
         Me.pnAngledriveFields.TabIndex = 1
         '
         'Label4
         '
         Me.Label4.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.Label4.AutoSize = true
-        Me.Label4.Location = New System.Drawing.Point(274, 6)
+        Me.Label4.Location = New System.Drawing.Point(277, 6)
         Me.Label4.Name = "Label4"
         Me.Label4.Size = New System.Drawing.Size(16, 13)
         Me.Label4.TabIndex = 16
         Me.Label4.Text = "[-]"
         '
-        'Label12
-        '
-        Me.Label12.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left)  _
-            Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
-        Me.Label12.Location = New System.Drawing.Point(0, 24)
-        Me.Label12.Name = "Label12"
-        Me.Label12.Size = New System.Drawing.Size(291, 16)
-        Me.Label12.TabIndex = 17
-        Me.Label12.Text = "Transmission Loss Map or Efficiency Value [0..1]"
-        Me.Label12.TextAlign = System.Drawing.ContentAlignment.BottomLeft
-        '
         'Label10
         '
         Me.Label10.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
-        Me.Label10.Location = New System.Drawing.Point(167, 6)
+        Me.Label10.Location = New System.Drawing.Point(170, 6)
         Me.Label10.Name = "Label10"
         Me.Label10.Size = New System.Drawing.Size(44, 18)
         Me.Label10.TabIndex = 15
@@ -1012,7 +1019,7 @@ Partial Class VehicleForm
         'tbAngledriveRatio
         '
         Me.tbAngledriveRatio.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
-        Me.tbAngledriveRatio.Location = New System.Drawing.Point(216, 4)
+        Me.tbAngledriveRatio.Location = New System.Drawing.Point(219, 4)
         Me.tbAngledriveRatio.Name = "tbAngledriveRatio"
         Me.tbAngledriveRatio.Size = New System.Drawing.Size(56, 20)
         Me.tbAngledriveRatio.TabIndex = 0
@@ -1021,7 +1028,7 @@ Partial Class VehicleForm
         '
         Me.btAngledriveLossMapBrowse.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.btAngledriveLossMapBrowse.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btAngledriveLossMapBrowse.Location = New System.Drawing.Point(273, 39)
+        Me.btAngledriveLossMapBrowse.Location = New System.Drawing.Point(276, 39)
         Me.btAngledriveLossMapBrowse.Name = "btAngledriveLossMapBrowse"
         Me.btAngledriveLossMapBrowse.Size = New System.Drawing.Size(24, 24)
         Me.btAngledriveLossMapBrowse.TabIndex = 2
@@ -1033,19 +1040,31 @@ Partial Class VehicleForm
             Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.tbAngledriveLossMapPath.Location = New System.Drawing.Point(3, 41)
         Me.tbAngledriveLossMapPath.Name = "tbAngledriveLossMapPath"
-        Me.tbAngledriveLossMapPath.Size = New System.Drawing.Size(270, 20)
+        Me.tbAngledriveLossMapPath.Size = New System.Drawing.Size(273, 20)
         Me.tbAngledriveLossMapPath.TabIndex = 1
         '
+        'Label12
+        '
+        Me.Label12.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left)  _
+            Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.Label12.Location = New System.Drawing.Point(0, 24)
+        Me.Label12.Name = "Label12"
+        Me.Label12.Size = New System.Drawing.Size(294, 16)
+        Me.Label12.TabIndex = 17
+        Me.Label12.Text = "Transmission Loss Map or Efficiency Value [0..1]"
+        Me.Label12.TextAlign = System.Drawing.ContentAlignment.BottomLeft
+        '
         'cbAngledriveType
         '
         Me.cbAngledriveType.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left)  _
             Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.cbAngledriveType.DisplayMember = "Value"
         Me.cbAngledriveType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
-        Me.cbAngledriveType.FormattingEnabled = true
         Me.cbAngledriveType.Location = New System.Drawing.Point(6, 19)
         Me.cbAngledriveType.Name = "cbAngledriveType"
-        Me.cbAngledriveType.Size = New System.Drawing.Size(294, 21)
+        Me.cbAngledriveType.Size = New System.Drawing.Size(297, 21)
         Me.cbAngledriveType.TabIndex = 0
+        Me.cbAngledriveType.ValueMember = "Key"
         '
         'PicVehicle
         '
@@ -1069,10 +1088,12 @@ Partial Class VehicleForm
         '
         'cbPTOType
         '
+        Me.cbPTOType.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left)  _
+            Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.cbPTOType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
-        Me.cbPTOType.Location = New System.Drawing.Point(6, 17)
+        Me.cbPTOType.Location = New System.Drawing.Point(6, 24)
         Me.cbPTOType.Name = "cbPTOType"
-        Me.cbPTOType.Size = New System.Drawing.Size(550, 21)
+        Me.cbPTOType.Size = New System.Drawing.Size(619, 21)
         Me.cbPTOType.TabIndex = 0
         Me.ToolTip1.SetToolTip(Me.cbPTOType, "Transmission type to the PTO consumer")
         '
@@ -1080,7 +1101,7 @@ Partial Class VehicleForm
         '
         Me.tbPTOCycle.Location = New System.Drawing.Point(6, 71)
         Me.tbPTOCycle.Name = "tbPTOCycle"
-        Me.tbPTOCycle.Size = New System.Drawing.Size(239, 20)
+        Me.tbPTOCycle.Size = New System.Drawing.Size(430, 20)
         Me.tbPTOCycle.TabIndex = 2
         Me.ToolTip1.SetToolTip(Me.tbPTOCycle, "PTO Consumer Loss Map")
         '
@@ -1088,7 +1109,7 @@ Partial Class VehicleForm
         '
         Me.tbPTOLossMap.Location = New System.Drawing.Point(6, 24)
         Me.tbPTOLossMap.Name = "tbPTOLossMap"
-        Me.tbPTOLossMap.Size = New System.Drawing.Size(239, 20)
+        Me.tbPTOLossMap.Size = New System.Drawing.Size(430, 20)
         Me.tbPTOLossMap.TabIndex = 0
         Me.ToolTip1.SetToolTip(Me.tbPTOLossMap, "PTO Consumer Loss Map")
         '
@@ -1096,7 +1117,7 @@ Partial Class VehicleForm
         '
         Me.tbPTODrive.Location = New System.Drawing.Point(6, 183)
         Me.tbPTODrive.Name = "tbPTODrive"
-        Me.tbPTODrive.Size = New System.Drawing.Size(239, 20)
+        Me.tbPTODrive.Size = New System.Drawing.Size(430, 20)
         Me.tbPTODrive.TabIndex = 5
         Me.ToolTip1.SetToolTip(Me.tbPTODrive, "PTO Consumer Loss Map")
         '
@@ -1203,12 +1224,15 @@ Partial Class VehicleForm
         '
         'cbTankSystem
         '
+        Me.cbTankSystem.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left)  _
+            Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.cbTankSystem.DisplayMember = "Value"
         Me.cbTankSystem.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
-        Me.cbTankSystem.FormattingEnabled = true
         Me.cbTankSystem.Location = New System.Drawing.Point(6, 19)
         Me.cbTankSystem.Name = "cbTankSystem"
-        Me.cbTankSystem.Size = New System.Drawing.Size(266, 21)
+        Me.cbTankSystem.Size = New System.Drawing.Size(297, 21)
         Me.cbTankSystem.TabIndex = 1
+        Me.cbTankSystem.ValueMember = "Key"
         '
         'Label23
         '
@@ -1310,7 +1334,7 @@ Partial Class VehicleForm
         'lblInitialSoCUnit
         '
         Me.lblInitialSoCUnit.AutoSize = true
-        Me.lblInitialSoCUnit.Location = New System.Drawing.Point(269, 22)
+        Me.lblInitialSoCUnit.Location = New System.Drawing.Point(265, 21)
         Me.lblInitialSoCUnit.Name = "lblInitialSoCUnit"
         Me.lblInitialSoCUnit.Size = New System.Drawing.Size(21, 13)
         Me.lblInitialSoCUnit.TabIndex = 27
@@ -1335,6 +1359,8 @@ Partial Class VehicleForm
         '
         'gpElectricMotor
         '
+        Me.gpElectricMotor.Controls.Add(Me.Label33)
+        Me.gpElectricMotor.Controls.Add(Me.Label32)
         Me.gpElectricMotor.Controls.Add(Me.gbRatiosPerGear)
         Me.gpElectricMotor.Controls.Add(Me.btnEmADCLossMap)
         Me.gpElectricMotor.Controls.Add(Me.tbEmADCLossMap)
@@ -1353,6 +1379,26 @@ Partial Class VehicleForm
         Me.gpElectricMotor.TabStop = false
         Me.gpElectricMotor.Text = "Electric Machine"
         '
+        'Label33
+        '
+        Me.Label33.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.Label33.AutoSize = true
+        Me.Label33.Location = New System.Drawing.Point(203, 108)
+        Me.Label33.Name = "Label33"
+        Me.Label33.Size = New System.Drawing.Size(16, 13)
+        Me.Label33.TabIndex = 27
+        Me.Label33.Text = "[-]"
+        '
+        'Label32
+        '
+        Me.Label32.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.Label32.AutoSize = true
+        Me.Label32.Location = New System.Drawing.Point(203, 82)
+        Me.Label32.Name = "Label32"
+        Me.Label32.Size = New System.Drawing.Size(16, 13)
+        Me.Label32.TabIndex = 26
+        Me.Label32.Text = "[-]"
+        '
         'gbRatiosPerGear
         '
         Me.gbRatiosPerGear.Controls.Add(Me.lvRatioPerGear)
@@ -1424,7 +1470,7 @@ Partial Class VehicleForm
         '
         Me.btnEmADCLossMap.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles)
         Me.btnEmADCLossMap.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btnEmADCLossMap.Location = New System.Drawing.Point(414, 127)
+        Me.btnEmADCLossMap.Location = New System.Drawing.Point(346, 129)
         Me.btnEmADCLossMap.Name = "btnEmADCLossMap"
         Me.btnEmADCLossMap.Size = New System.Drawing.Size(24, 24)
         Me.btnEmADCLossMap.TabIndex = 5
@@ -1432,9 +1478,9 @@ Partial Class VehicleForm
         '
         'tbEmADCLossMap
         '
-        Me.tbEmADCLossMap.Location = New System.Drawing.Point(204, 131)
+        Me.tbEmADCLossMap.Location = New System.Drawing.Point(110, 131)
         Me.tbEmADCLossMap.Name = "tbEmADCLossMap"
-        Me.tbEmADCLossMap.Size = New System.Drawing.Size(202, 20)
+        Me.tbEmADCLossMap.Size = New System.Drawing.Size(234, 20)
         Me.tbEmADCLossMap.TabIndex = 4
         '
         'lblEmADCLossmap
@@ -1448,9 +1494,9 @@ Partial Class VehicleForm
         '
         'tbRatioEm
         '
-        Me.tbRatioEm.Location = New System.Drawing.Point(204, 105)
+        Me.tbRatioEm.Location = New System.Drawing.Point(110, 105)
         Me.tbRatioEm.Name = "tbRatioEm"
-        Me.tbRatioEm.Size = New System.Drawing.Size(59, 20)
+        Me.tbRatioEm.Size = New System.Drawing.Size(91, 20)
         Me.tbRatioEm.TabIndex = 3
         '
         'lblRatioEm
@@ -1464,17 +1510,17 @@ Partial Class VehicleForm
         '
         'tbEmCount
         '
-        Me.tbEmCount.Location = New System.Drawing.Point(204, 79)
+        Me.tbEmCount.Location = New System.Drawing.Point(110, 79)
         Me.tbEmCount.Name = "tbEmCount"
-        Me.tbEmCount.Size = New System.Drawing.Size(59, 20)
+        Me.tbEmCount.Size = New System.Drawing.Size(91, 20)
         Me.tbEmCount.TabIndex = 2
         '
         'cbEmPos
         '
         Me.cbEmPos.FormattingEnabled = true
-        Me.cbEmPos.Location = New System.Drawing.Point(142, 52)
+        Me.cbEmPos.Location = New System.Drawing.Point(110, 52)
         Me.cbEmPos.Name = "cbEmPos"
-        Me.cbEmPos.Size = New System.Drawing.Size(121, 21)
+        Me.cbEmPos.Size = New System.Drawing.Size(153, 21)
         Me.cbEmPos.TabIndex = 1
         '
         'lblEmCount
@@ -1530,7 +1576,7 @@ Partial Class VehicleForm
             Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.tbElectricMotor.Location = New System.Drawing.Point(104, 4)
         Me.tbElectricMotor.Name = "tbElectricMotor"
-        Me.tbElectricMotor.Size = New System.Drawing.Size(296, 20)
+        Me.tbElectricMotor.Size = New System.Drawing.Size(300, 20)
         Me.tbElectricMotor.TabIndex = 1
         '
         'tpGensetComponents
@@ -1544,9 +1590,21 @@ Partial Class VehicleForm
         Me.tpGensetComponents.TabIndex = 5
         Me.tpGensetComponents.Text = "GenSet Components"
         Me.tpGensetComponents.UseVisualStyleBackColor = true
+        '
+        'Label30
+        '
+        Me.Label30.AutoSize = true
+        Me.Label30.Location = New System.Drawing.Point(13, 153)
+        Me.Label30.Name = "Label30"
+        Me.Label30.Size = New System.Drawing.Size(429, 13)
+        Me.Label30.TabIndex = 21
+        Me.Label30.Text = "Note: The internal combustion engine of the GenSet is configured in the Job-Edito"& _ 
+    "r dialog."
         '
         'gbGenSet
         '
+        Me.gbGenSet.Controls.Add(Me.Label36)
+        Me.gbGenSet.Controls.Add(Me.Label34)
         Me.gbGenSet.Controls.Add(Me.btnGenSetLossMap)
         Me.gbGenSet.Controls.Add(Me.tbGenSetADC)
         Me.gbGenSet.Controls.Add(Me.lblGenSetADC)
@@ -1562,11 +1620,31 @@ Partial Class VehicleForm
         Me.gbGenSet.TabStop = false
         Me.gbGenSet.Text = "Electric Machine"
         '
+        'Label36
+        '
+        Me.Label36.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.Label36.AutoSize = true
+        Me.Label36.Location = New System.Drawing.Point(203, 83)
+        Me.Label36.Name = "Label36"
+        Me.Label36.Size = New System.Drawing.Size(16, 13)
+        Me.Label36.TabIndex = 28
+        Me.Label36.Text = "[-]"
+        '
+        'Label34
+        '
+        Me.Label34.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.Label34.AutoSize = true
+        Me.Label34.Location = New System.Drawing.Point(203, 57)
+        Me.Label34.Name = "Label34"
+        Me.Label34.Size = New System.Drawing.Size(16, 13)
+        Me.Label34.TabIndex = 27
+        Me.Label34.Text = "[-]"
+        '
         'btnGenSetLossMap
         '
         Me.btnGenSetLossMap.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles)
         Me.btnGenSetLossMap.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btnGenSetLossMap.Location = New System.Drawing.Point(412, 104)
+        Me.btnGenSetLossMap.Location = New System.Drawing.Point(412, 105)
         Me.btnGenSetLossMap.Name = "btnGenSetLossMap"
         Me.btnGenSetLossMap.Size = New System.Drawing.Size(24, 24)
         Me.btnGenSetLossMap.TabIndex = 5
@@ -1574,9 +1652,9 @@ Partial Class VehicleForm
         '
         'tbGenSetADC
         '
-        Me.tbGenSetADC.Location = New System.Drawing.Point(205, 107)
+        Me.tbGenSetADC.Location = New System.Drawing.Point(110, 107)
         Me.tbGenSetADC.Name = "tbGenSetADC"
-        Me.tbGenSetADC.Size = New System.Drawing.Size(202, 20)
+        Me.tbGenSetADC.Size = New System.Drawing.Size(301, 20)
         Me.tbGenSetADC.TabIndex = 4
         '
         'lblGenSetADC
@@ -1590,9 +1668,9 @@ Partial Class VehicleForm
         '
         'tbGenSetRatio
         '
-        Me.tbGenSetRatio.Location = New System.Drawing.Point(205, 81)
+        Me.tbGenSetRatio.Location = New System.Drawing.Point(110, 81)
         Me.tbGenSetRatio.Name = "tbGenSetRatio"
-        Me.tbGenSetRatio.Size = New System.Drawing.Size(59, 20)
+        Me.tbGenSetRatio.Size = New System.Drawing.Size(91, 20)
         Me.tbGenSetRatio.TabIndex = 3
         '
         'lblGenSetRatio
@@ -1606,9 +1684,9 @@ Partial Class VehicleForm
         '
         'tbGenSetCount
         '
-        Me.tbGenSetCount.Location = New System.Drawing.Point(205, 55)
+        Me.tbGenSetCount.Location = New System.Drawing.Point(110, 55)
         Me.tbGenSetCount.Name = "tbGenSetCount"
-        Me.tbGenSetCount.Size = New System.Drawing.Size(59, 20)
+        Me.tbGenSetCount.Size = New System.Drawing.Size(91, 20)
         Me.tbGenSetCount.TabIndex = 2
         '
         'lblGenSetCount
@@ -1653,7 +1731,7 @@ Partial Class VehicleForm
         '
         Me.tbGenSetEM.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left)  _
             Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
-        Me.tbGenSetEM.Location = New System.Drawing.Point(104, 4)
+        Me.tbGenSetEM.Location = New System.Drawing.Point(109, 4)
         Me.tbGenSetEM.Name = "tbGenSetEM"
         Me.tbGenSetEM.Size = New System.Drawing.Size(296, 20)
         Me.tbGenSetEM.TabIndex = 1
@@ -1674,17 +1752,18 @@ Partial Class VehicleForm
         '
         Me.gbPropulsionTorque.Controls.Add(Me.btnPropulsionTorqueLimit)
         Me.gbPropulsionTorque.Controls.Add(Me.tbPropulsionTorqueLimit)
-        Me.gbPropulsionTorque.Location = New System.Drawing.Point(3, 236)
+        Me.gbPropulsionTorque.Location = New System.Drawing.Point(233, 64)
         Me.gbPropulsionTorque.Name = "gbPropulsionTorque"
-        Me.gbPropulsionTorque.Size = New System.Drawing.Size(407, 52)
+        Me.gbPropulsionTorque.Size = New System.Drawing.Size(403, 52)
         Me.gbPropulsionTorque.TabIndex = 2
         Me.gbPropulsionTorque.TabStop = false
         Me.gbPropulsionTorque.Text = "Propulsion Torque Limit"
         '
         'btnPropulsionTorqueLimit
         '
+        Me.btnPropulsionTorqueLimit.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.btnPropulsionTorqueLimit.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btnPropulsionTorqueLimit.Location = New System.Drawing.Point(331, 17)
+        Me.btnPropulsionTorqueLimit.Location = New System.Drawing.Point(373, 18)
         Me.btnPropulsionTorqueLimit.Name = "btnPropulsionTorqueLimit"
         Me.btnPropulsionTorqueLimit.Size = New System.Drawing.Size(24, 24)
         Me.btnPropulsionTorqueLimit.TabIndex = 1
@@ -1692,26 +1771,29 @@ Partial Class VehicleForm
         '
         'tbPropulsionTorqueLimit
         '
+        Me.tbPropulsionTorqueLimit.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left)  _
+            Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.tbPropulsionTorqueLimit.Location = New System.Drawing.Point(6, 20)
         Me.tbPropulsionTorqueLimit.Name = "tbPropulsionTorqueLimit"
-        Me.tbPropulsionTorqueLimit.Size = New System.Drawing.Size(319, 20)
+        Me.tbPropulsionTorqueLimit.Size = New System.Drawing.Size(365, 20)
         Me.tbPropulsionTorqueLimit.TabIndex = 0
         '
         'gbEMTorqueLimits
         '
         Me.gbEMTorqueLimits.Controls.Add(Me.btnEmTorqueLimits)
         Me.gbEMTorqueLimits.Controls.Add(Me.tbEmTorqueLimits)
-        Me.gbEMTorqueLimits.Location = New System.Drawing.Point(3, 178)
+        Me.gbEMTorqueLimits.Location = New System.Drawing.Point(233, 6)
         Me.gbEMTorqueLimits.Name = "gbEMTorqueLimits"
-        Me.gbEMTorqueLimits.Size = New System.Drawing.Size(407, 52)
+        Me.gbEMTorqueLimits.Size = New System.Drawing.Size(403, 52)
         Me.gbEMTorqueLimits.TabIndex = 1
         Me.gbEMTorqueLimits.TabStop = false
         Me.gbEMTorqueLimits.Text = "Electric Machine Torque Limits"
         '
         'btnEmTorqueLimits
         '
+        Me.btnEmTorqueLimits.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.btnEmTorqueLimits.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btnEmTorqueLimits.Location = New System.Drawing.Point(331, 17)
+        Me.btnEmTorqueLimits.Location = New System.Drawing.Point(373, 17)
         Me.btnEmTorqueLimits.Name = "btnEmTorqueLimits"
         Me.btnEmTorqueLimits.Size = New System.Drawing.Size(24, 24)
         Me.btnEmTorqueLimits.TabIndex = 1
@@ -1719,9 +1801,11 @@ Partial Class VehicleForm
         '
         'tbEmTorqueLimits
         '
-        Me.tbEmTorqueLimits.Location = New System.Drawing.Point(6, 20)
+        Me.tbEmTorqueLimits.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left)  _
+            Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.tbEmTorqueLimits.Location = New System.Drawing.Point(6, 19)
         Me.tbEmTorqueLimits.Name = "tbEmTorqueLimits"
-        Me.tbEmTorqueLimits.Size = New System.Drawing.Size(319, 20)
+        Me.tbEmTorqueLimits.Size = New System.Drawing.Size(365, 20)
         Me.tbEmTorqueLimits.TabIndex = 0
         '
         'bgVehicleTorqueLimits
@@ -1730,16 +1814,17 @@ Partial Class VehicleForm
         Me.bgVehicleTorqueLimits.Controls.Add(Me.btAddMaxTorqueEntry)
         Me.bgVehicleTorqueLimits.Controls.Add(Me.Label17)
         Me.bgVehicleTorqueLimits.Controls.Add(Me.btDelMaxTorqueEntry)
-        Me.bgVehicleTorqueLimits.Location = New System.Drawing.Point(3, 9)
+        Me.bgVehicleTorqueLimits.Location = New System.Drawing.Point(6, 6)
         Me.bgVehicleTorqueLimits.Name = "bgVehicleTorqueLimits"
-        Me.bgVehicleTorqueLimits.Size = New System.Drawing.Size(407, 163)
+        Me.bgVehicleTorqueLimits.Size = New System.Drawing.Size(221, 227)
         Me.bgVehicleTorqueLimits.TabIndex = 0
         Me.bgVehicleTorqueLimits.TabStop = false
         Me.bgVehicleTorqueLimits.Text = "ICE Torque Limits"
         '
         'lvTorqueLimits
         '
-        Me.lvTorqueLimits.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left)  _
+        Me.lvTorqueLimits.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom)  _
+            Or System.Windows.Forms.AnchorStyles.Left)  _
             Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.lvTorqueLimits.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader5, Me.ColumnHeader6})
         Me.lvTorqueLimits.FullRowSelect = true
@@ -1748,7 +1833,7 @@ Partial Class VehicleForm
         Me.lvTorqueLimits.Location = New System.Drawing.Point(6, 19)
         Me.lvTorqueLimits.MultiSelect = false
         Me.lvTorqueLimits.Name = "lvTorqueLimits"
-        Me.lvTorqueLimits.Size = New System.Drawing.Size(282, 102)
+        Me.lvTorqueLimits.Size = New System.Drawing.Size(209, 169)
         Me.lvTorqueLimits.TabIndex = 7
         Me.lvTorqueLimits.TabStop = false
         Me.lvTorqueLimits.UseCompatibleStateImageBehavior = false
@@ -1757,17 +1842,19 @@ Partial Class VehicleForm
         'ColumnHeader5
         '
         Me.ColumnHeader5.Text = "Gear #"
-        Me.ColumnHeader5.Width = 83
+        Me.ColumnHeader5.Width = 71
         '
         'ColumnHeader6
         '
         Me.ColumnHeader6.Text = "Max. Torque"
-        Me.ColumnHeader6.Width = 172
+        Me.ColumnHeader6.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
+        Me.ColumnHeader6.Width = 133
         '
         'btAddMaxTorqueEntry
         '
+        Me.btAddMaxTorqueEntry.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles)
         Me.btAddMaxTorqueEntry.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon
-        Me.btAddMaxTorqueEntry.Location = New System.Drawing.Point(6, 127)
+        Me.btAddMaxTorqueEntry.Location = New System.Drawing.Point(6, 193)
         Me.btAddMaxTorqueEntry.Name = "btAddMaxTorqueEntry"
         Me.btAddMaxTorqueEntry.Size = New System.Drawing.Size(24, 24)
         Me.btAddMaxTorqueEntry.TabIndex = 4
@@ -1775,17 +1862,20 @@ Partial Class VehicleForm
         '
         'Label17
         '
+        Me.Label17.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.Label17.AutoSize = true
-        Me.Label17.Location = New System.Drawing.Point(182, 124)
+        Me.Label17.Location = New System.Drawing.Point(112, 190)
         Me.Label17.Name = "Label17"
         Me.Label17.Size = New System.Drawing.Size(106, 13)
         Me.Label17.TabIndex = 6
         Me.Label17.Text = "(Double-Click to Edit)"
+        Me.Label17.TextAlign = System.Drawing.ContentAlignment.TopRight
         '
         'btDelMaxTorqueEntry
         '
+        Me.btDelMaxTorqueEntry.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles)
         Me.btDelMaxTorqueEntry.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon
-        Me.btDelMaxTorqueEntry.Location = New System.Drawing.Point(30, 127)
+        Me.btDelMaxTorqueEntry.Location = New System.Drawing.Point(30, 193)
         Me.btDelMaxTorqueEntry.Name = "btDelMaxTorqueEntry"
         Me.btDelMaxTorqueEntry.Size = New System.Drawing.Size(24, 24)
         Me.btDelMaxTorqueEntry.TabIndex = 5
@@ -1831,21 +1921,25 @@ Partial Class VehicleForm
         '
         'cbPcc
         '
+        Me.cbPcc.DisplayMember = "Value"
         Me.cbPcc.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
         Me.cbPcc.FormattingEnabled = true
         Me.cbPcc.Location = New System.Drawing.Point(138, 99)
         Me.cbPcc.Name = "cbPcc"
         Me.cbPcc.Size = New System.Drawing.Size(266, 21)
         Me.cbPcc.TabIndex = 2
+        Me.cbPcc.ValueMember = "Key"
         '
         'cbEcoRoll
         '
+        Me.cbEcoRoll.DisplayMember = "Value"
         Me.cbEcoRoll.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
         Me.cbEcoRoll.FormattingEnabled = true
         Me.cbEcoRoll.Location = New System.Drawing.Point(138, 72)
         Me.cbEcoRoll.Name = "cbEcoRoll"
         Me.cbEcoRoll.Size = New System.Drawing.Size(266, 21)
         Me.cbEcoRoll.TabIndex = 1
+        Me.cbEcoRoll.ValueMember = "Key"
         '
         'Label22
         '
@@ -1898,9 +1992,9 @@ Partial Class VehicleForm
         Me.pnPTO.Controls.Add(Me.btPTOLossMapBrowse)
         Me.pnPTO.Controls.Add(Me.Label7)
         Me.pnPTO.Controls.Add(Me.tbPTOLossMap)
-        Me.pnPTO.Location = New System.Drawing.Point(5, 73)
+        Me.pnPTO.Location = New System.Drawing.Point(6, 73)
         Me.pnPTO.Name = "pnPTO"
-        Me.pnPTO.Size = New System.Drawing.Size(566, 211)
+        Me.pnPTO.Size = New System.Drawing.Size(633, 211)
         Me.pnPTO.TabIndex = 1
         '
         'gbPTODrive
@@ -1911,9 +2005,9 @@ Partial Class VehicleForm
         Me.gbPTODrive.Controls.Add(Me.tbPtoEngineSpeed)
         Me.gbPTODrive.Controls.Add(Me.Label25)
         Me.gbPTODrive.Controls.Add(Me.Label24)
-        Me.gbPTODrive.Location = New System.Drawing.Point(3, 99)
+        Me.gbPTODrive.Location = New System.Drawing.Point(0, 99)
         Me.gbPTODrive.Name = "gbPTODrive"
-        Me.gbPTODrive.Size = New System.Drawing.Size(556, 55)
+        Me.gbPTODrive.Size = New System.Drawing.Size(633, 55)
         Me.gbPTODrive.TabIndex = 4
         Me.gbPTODrive.TabStop = false
         Me.gbPTODrive.Text = "Working operation settings (PTO mode 2)"
@@ -1938,7 +2032,7 @@ Partial Class VehicleForm
         'Label26
         '
         Me.Label26.AutoSize = true
-        Me.Label26.Location = New System.Drawing.Point(196, 24)
+        Me.Label26.Location = New System.Drawing.Point(189, 24)
         Me.Label26.Name = "Label26"
         Me.Label26.Size = New System.Drawing.Size(30, 13)
         Me.Label26.TabIndex = 4
@@ -1947,7 +2041,7 @@ Partial Class VehicleForm
         '
         'tbPtoEngineSpeed
         '
-        Me.tbPtoEngineSpeed.Location = New System.Drawing.Point(120, 21)
+        Me.tbPtoEngineSpeed.Location = New System.Drawing.Point(113, 21)
         Me.tbPtoEngineSpeed.Name = "tbPtoEngineSpeed"
         Me.tbPtoEngineSpeed.Size = New System.Drawing.Size(70, 20)
         Me.tbPtoEngineSpeed.TabIndex = 0
@@ -1973,7 +2067,7 @@ Partial Class VehicleForm
         'btPTOCycleDrive
         '
         Me.btPTOCycleDrive.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btPTOCycleDrive.Location = New System.Drawing.Point(245, 181)
+        Me.btPTOCycleDrive.Location = New System.Drawing.Point(438, 181)
         Me.btPTOCycleDrive.Name = "btPTOCycleDrive"
         Me.btPTOCycleDrive.Size = New System.Drawing.Size(24, 24)
         Me.btPTOCycleDrive.TabIndex = 6
@@ -1991,7 +2085,7 @@ Partial Class VehicleForm
         'btPTOCycle
         '
         Me.btPTOCycle.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btPTOCycle.Location = New System.Drawing.Point(245, 69)
+        Me.btPTOCycle.Location = New System.Drawing.Point(438, 69)
         Me.btPTOCycle.Name = "btPTOCycle"
         Me.btPTOCycle.Size = New System.Drawing.Size(24, 24)
         Me.btPTOCycle.TabIndex = 3
@@ -2009,7 +2103,7 @@ Partial Class VehicleForm
         'btPTOLossMapBrowse
         '
         Me.btPTOLossMapBrowse.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btPTOLossMapBrowse.Location = New System.Drawing.Point(245, 22)
+        Me.btPTOLossMapBrowse.Location = New System.Drawing.Point(438, 22)
         Me.btPTOLossMapBrowse.Name = "btPTOLossMapBrowse"
         Me.btPTOLossMapBrowse.Size = New System.Drawing.Size(24, 24)
         Me.btPTOLossMapBrowse.TabIndex = 1
@@ -2027,9 +2121,9 @@ Partial Class VehicleForm
         'gbPTO
         '
         Me.gbPTO.Controls.Add(Me.cbPTOType)
-        Me.gbPTO.Location = New System.Drawing.Point(5, 10)
+        Me.gbPTO.Location = New System.Drawing.Point(6, 6)
         Me.gbPTO.Name = "gbPTO"
-        Me.gbPTO.Size = New System.Drawing.Size(564, 57)
+        Me.gbPTO.Size = New System.Drawing.Size(633, 61)
         Me.gbPTO.TabIndex = 0
         Me.gbPTO.TabStop = false
         Me.gbPTO.Text = "PTO Design Variant"
@@ -2062,16 +2156,6 @@ Partial Class VehicleForm
         Me.lblTitle.Size = New System.Drawing.Size(166, 29)
         Me.lblTitle.TabIndex = 43
         Me.lblTitle.Text = "Vehicle TITLE"
-        '
-        'Label30
-        '
-        Me.Label30.AutoSize = true
-        Me.Label30.Location = New System.Drawing.Point(13, 153)
-        Me.Label30.Name = "Label30"
-        Me.Label30.Size = New System.Drawing.Size(429, 13)
-        Me.Label30.TabIndex = 21
-        Me.Label30.Text = "Note: The internal combustion engine of the GenSet is configured in the Job-Edito"& _ 
-    "r dialog."
         '
         'VehicleForm
         '
@@ -2379,5 +2463,9 @@ End Sub
     Friend WithEvents btnBrowseGenSetEM As Button
     Friend WithEvents tbGenSetEM As TextBox
     Friend WithEvents Label30 As Label
-    '>>>>>>> VECTO_CERT/master
+	Friend WithEvents Label33 As Label
+	Friend WithEvents Label32 As Label
+	Friend WithEvents Label36 As Label
+	Friend WithEvents Label34 As Label
+	'>>>>>>> VECTO_CERT/master
 End Class
diff --git a/VECTO/GUI/VehicleForm.vb b/VECTO/GUI/VehicleForm.vb
index 189ff5c8cbf65622e9b6bb783133eee6e4a1876b..af02d4328b9f0a9940ba2888b2ee4fcf53fd35d8 100644
--- a/VECTO/GUI/VehicleForm.vb
+++ b/VECTO/GUI/VehicleForm.vb
@@ -84,58 +84,31 @@ Public Class VehicleForm
 		gbPTODrive.Enabled = not Cfg.DeclMode
 		tpRoadSweeper.Visible = Not cfg.DeclMode
 
-		CbCdMode.ValueMember = "Value"
-		CbCdMode.DisplayMember = "Label"
-		CbCdMode.DataSource = [Enum].GetValues(GetType(CrossWindCorrectionMode)) _
-			.Cast(Of CrossWindCorrectionMode) _
-			.Select(Function(mode) New With {Key .Value = mode, .Label = mode.GetLabel()}).ToList()
-
-		CbRtType.ValueMember = "Value"
-		CbRtType.DisplayMember = "Label"
-		CbRtType.DataSource = [Enum].GetValues(GetType(RetarderType)) _
-			.Cast(Of RetarderType) _
-			.Select(Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList()
-
-		CbAxleConfig.ValueMember = "Value"
-		CbAxleConfig.DisplayMember = "Label"
+		CbCdMode.DataSource = EnumHelper.GetKeyValuePairs(of CrossWindCorrectionMode)(Function(t) t.GetLabel())
+
+		CbRtType.DataSource = EnumHelper.GetKeyValuePairs(Of RetarderType)(Function(t) t.GetLabel())
+		CbRtType.Enabled = true
+
 		If (cfg.DeclMode) Then
 			CbAxleConfig.DataSource = DeclarationData.TruckSegments.GetAxleConfigurations() _
 				.Cast(Of AxleConfiguration) _
-				.Select(Function(category) New With {Key .Value = category, .Label = category.GetName()}).ToList()
+				.Select(Function(category) New With {.Key = category, .Value = category.GetName()}).ToList()
 		Else
-			CbAxleConfig.DataSource = [Enum].GetValues(GetType(AxleConfiguration)) _
-					.Cast(Of AxleConfiguration) _
-					.Select(Function(category) New With {Key .Value = category, .Label = category.GetName()}).ToList()
+			CbAxleConfig.DataSource = EnumHelper.GetKeyValuePairs(of AxleConfiguration)(function(t) t.GetName())
 		End If
 
-		
-
-		cbEcoRoll.ValueMember = "Value"
-		cbEcoRoll.DisplayMember = "Label"
-		cbEcoRoll.DataSource = [Enum].GetValues(GetType(EcoRollType)).Cast(Of EcoRollType).Select(Function(ecoRoll) new With {Key .Value = ecoRoll, .Label = ecoRoll.GetName()}).ToList()
+		cbEcoRoll.DataSource = EnumHelper.GetKeyValuePairs(of EcoRollType)(function(t) t.GetName())
 
+		cbPcc.DataSource = EnumHelper.GetKeyValuePairs(Of PredictiveCruiseControlType)(function(t) t.GetName())
 
-		cbPcc.ValueMember = "Value"
-		cbPcc.DisplayMember = "Label"
-		cbPcc.DataSource = [Enum].GetValues(GetType(PredictiveCruiseControlType)).Cast(Of PredictiveCruiseControlType).Select(Function(pcc) new With {Key .Value = pcc, .Label = pcc.GetName()}).ToList()
-
-		cbTankSystem.ValueMember = "Value"
-		cbTankSystem.DisplayMember = "Label"
-		
-		cbTankSystem.DataSource = {New With {Key .Value = CType(Nothing, TankSystem?), .Label = ""}}.Concat([Enum].GetValues(GetType(TankSystem)).Cast(Of TankSystem?).Select(Function(ts) New With {Key .Value = ts , .Label = ts.ToString()})).ToList()
+		cbTankSystem.DataSource = EnumHelper.GetKeyValuePairs(Of TankSystem)()
 
 		'tpADAS.Enabled = Cfg.DeclMode
 
-		CbCat.ValueMember = "Value"
-		CbCat.DisplayMember = "Label"
-		CbCat.DataSource = [Enum].GetValues(GetType(VehicleCategory)) _
-			.Cast(Of VehicleCategory) _
-			.Select(Function(category) New With {Key .Value = category, .Label = category.GetLabel()}).ToList()
+		CbCat.DataSource = EnumHelper.GetKeyValuePairs(of VehicleCategory)(function(t) t.GetLabel())
+
+		cbAngledriveType.DataSource = EnumHelper.GetKeyValuePairs(of AngledriveType)(function(t) t.GetLabel())
 
-		cbAngledriveType.ValueMember = "Value"
-		cbAngledriveType.DisplayMember = "Label"
-		cbAngledriveType.DataSource = [Enum].GetValues(GetType(AngledriveType)) _
-			.Cast(Of AngledriveType).Select(Function(type) New With {Key .Value = type, .Label = type.GetLabel()}).ToList()
 		_axlDlog = New VehicleAxleDialog
 		_torqueLimitDlog = New VehicleTorqueLimitDialog()
 		_emRatioPerGearDlog = new EMGearRatioDialog()
@@ -351,10 +324,7 @@ Public Class VehicleForm
 		TbCdFile.Text = ""
 
 		CbRtType.SelectedIndex = 0
-		TbRtRatio.Text = ""
-		TbRtPath.Text = ""
-
-		CbRtType.SelectedIndex = 0
+		CbRtType.Enabled = true
 		TbRtRatio.Text = ""
 		TbRtPath.Text = ""
 
@@ -366,6 +336,12 @@ Public Class VehicleForm
 		TbMassExtra.Text = ""
 		CbAxleConfig.SelectedIndex = 0
 
+		cbPcc.SelectedIndex = 0
+
+		cbTankSystem.SelectedIndex = 0
+
+		cbAngledriveType.SelectedIndex = 0
+
 		cbPTOType.SelectedIndex = 0
 		tbPTOLossMap.Text = ""
 
@@ -555,37 +531,44 @@ Public Class VehicleForm
 				lblTitle.Text = "Conventional Vehicle"
 				tpElectricComponents.Enabled = False
 				cbEmPos.DataSource = New List(Of Object)
-				'cbEngineStopStart.Checked = False
 				cbEngineStopStart.Enabled = True
-				cbEcoRoll.DataSource = [Enum].GetValues(GetType(EcoRollType)).Cast(Of EcoRollType).Select(Function(ecoRoll) New With {Key .Value = ecoRoll, .Label = ecoRoll.GetName()}).ToList()
+				cbEcoRoll.DataSource = EnumHelper.GetKeyValuePairs(of EcoRollType)(function(t) t.GetName())
+				CbRtType.DataSource = EnumHelper.GetKeyValuePairs(Of RetarderType)(Function(t) t.GetLabel(), function(t) t <> RetarderType.AxlegearInputRetarder)
+				cbEcoRoll.Enabled = true
 				gbEMTorqueLimits.Enabled = false
 				tpGensetComponents.Visible = False
 			Case VectoSimulationJobType.ParallelHybridVehicle
 				lblTitle.Text = "Parallel Hybrid Vehicle"
-				cbEmPos.DataSource = [Enum].GetValues(GetType(PowertrainPosition)).Cast(Of PowertrainPosition).Where(Function(x) x.IsParallelHybrid()).Select(Function(x) New With {Key .Value = x, .Label = x.GetLabel()}).ToList()
-				'cbEngineStopStart.Checked = False
-				'cbEngineStopStart.Enabled = False
-				'cbEcoRoll.DataSource = [Enum].GetValues(GetType(EcoRollType)).Cast(Of EcoRollType).Select(Function(ecoRoll) New With {Key .Value = ecoRoll, .Label = ecoRoll.GetName()}).ToList()
-				gbEMTorqueLimits.Enabled	= True
+				cbEmPos.DataSource = EnumHelper.GetKeyValuePairs(of PowertrainPosition)(function(t) t.GetLabel, function(x) x.IsParallelHybrid())
+				gbEMTorqueLimits.Enabled = True
+				CbRtType.DataSource = EnumHelper.GetKeyValuePairs(Of RetarderType)(Function(t) t.GetLabel(), function(t) t <> RetarderType.AxlegearInputRetarder)
+				cbEcoRoll.Enabled = true
 			    tpGensetComponents.Visible = False
 			case VectoSimulationJobType.SerialHybridVehicle
 				lblTitle.Text = "Serial Hybrid Vehicle"
-				cbEmPos.DataSource = [enum].GetValues(GetType(PowertrainPosition)).cast(of PowertrainPosition).where(function(x) x.IsSerialHybrid()).select(Function(x) New With {Key .Value = x, .Label = x.GetLabel()}).ToList()
+				cbEmPos.DataSource = EnumHelper.GetKeyValuePairs(of PowertrainPosition)(function(t) t.GetLabel, function(x) x.IsSerialHybrid())
+
                 tpPowertrain.Enabled = true
+				CbRtType.DataSource = EnumHelper.GetKeyValuePairs(Of RetarderType)(Function(t) t.GetLabel(), Function(t) t.IsOneOf(RetarderType.None, RetarderType.AxlegearInputRetarder))
                 tpTorqueLimits.Enabled = False
 			    cbEngineStopStart.Checked = False
 			    cbEngineStopStart.Enabled = False
-			    cbEcoRoll.DataSource = New EcoRollType() {EcoRollType.None}.Select(Function(ecoRoll) New With {Key .Value = ecoRoll, .Label = ecoRoll.GetName()}).ToList()
+			    cbEcoRoll.DataSource = {new with {.Key=EcoRollType.None, .Value=EcoRollType.None.GetName()}}
+				cbEcoRoll.Enabled = false
 			    gbEMTorqueLimits.Enabled = False
 			    tpGensetComponents.Visible = True
 			Case VectoSimulationJobType.BatteryElectricVehicle
 				lblTitle.Text = "Battery Electric Vehicle"
 				tpPowertrain.Enabled = False
+
+				CbRtType.DataSource = EnumHelper.GetKeyValuePairs(Of RetarderType)(Function(t) t.GetLabel(), Function(t) t.IsOneOf(RetarderType.None, RetarderType.AxlegearInputRetarder))
+
 				tpTorqueLimits.Enabled = False
 				cbEmPos.DataSource = [Enum].GetValues(GetType(PowertrainPosition)).Cast(Of PowertrainPosition).Where(Function(x) x.IsBatteryElectric()).Select(Function(x) New With {Key .Value = x, .Label = x.GetLabel()}).ToList()
 				cbEngineStopStart.Checked = False
 				cbEngineStopStart.Enabled = False
-				cbEcoRoll.DataSource = New EcoRollType() {EcoRollType.None}.Select(Function(ecoRoll) New With {Key .Value = ecoRoll, .Label = ecoRoll.GetName()}).ToList()
+				cbEcoRoll.DataSource = {new with {.Key=EcoRollType.None, .Value=EcoRollType.None.GetName()}}
+				cbEcoRoll.Enabled = false
 				gbEMTorqueLimits.Enabled = False
 			    tpGensetComponents.Visible = False
 		End Select
@@ -1166,7 +1149,7 @@ Public Class VehicleForm
 	End Sub
 
 	Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles cbAtEcoRollReleaseLockupClutch.CheckedChanged
-
+		Change()
 	End Sub
 
 	Private Sub tbVehicleHeight_TextChanged(sender As Object, e As EventArgs) Handles tbVehicleHeight.TextChanged
@@ -1238,12 +1221,12 @@ Public Class VehicleForm
 		End If
 	End Sub
 
-	Private Sub lvTorqueLimits_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lvTorqueLimits.SelectedIndexChanged
-
-	End Sub
-
 	Private Sub cbEmPos_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbEmPos.SelectedIndexChanged
-		gbRatiosPerGear.Enabled = cbEmPos.SelectedValue.Equals(PowertrainPosition.HybridP2_5) 
+		gbRatiosPerGear.Enabled = cbEmPos.SelectedValue.Equals(PowertrainPosition.HybridP2_5)
+
+		if (VehicleType.IsOneOf(VectoSimulationJobType.BatteryElectricVehicle, VectoSimulationJobType.SerialHybridVehicle)) then
+			CbRtType.Enabled = PowertrainPosition.BatteryElectricE3.Equals(cbEmPos.SelectedValue)
+		end if
 	End Sub
 
 	Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnAddEMRatio.Click
@@ -1291,10 +1274,6 @@ Public Class VehicleForm
 		_emRatioPerGearDlog.tbGear.ReadOnly = False
 	End Sub
 
-    Private Sub lvRatioPerGear_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lvRatioPerGear.SelectedIndexChanged
-
-    End Sub
-
     Private Sub lvREESSPacks_DoubleClick(sender As Object, e As EventArgs) Handles lvREESSPacks.DoubleClick
         If lvREESSPacks.SelectedItems.Count = 0 Then Exit Sub
 
@@ -1380,5 +1359,21 @@ Public Class VehicleForm
         If EmADCLossMapFileBrowser.OpenDialog(FileRepl(tbGenSetADC.Text, GetPath(_vehFile))) Then _
             tbGenSetADC.Text = GetFilenameWithoutDirectory(EmADCLossMapFileBrowser.Files(0), GetPath(_vehFile))
     End Sub
+
+	Private Sub cbTankSystem_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbTankSystem.SelectedIndexChanged
+		Change()
+	End Sub
+
+	Private Sub cbEcoRoll_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbEcoRoll.SelectedIndexChanged
+		Change()
+	End Sub
+
+	Private Sub cbPcc_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbPcc.SelectedIndexChanged
+		Change()
+	End Sub
+
+	Private Sub cbEngineStopStart_CheckedChanged(sender As Object, e As EventArgs) Handles cbEngineStopStart.CheckedChanged
+		Change()
+	End Sub
 End Class
 
diff --git a/VectoCommon/VectoCommon/Utils/EnumHelper.cs b/VectoCommon/VectoCommon/Utils/EnumHelper.cs
index ec84d65e0d8dd41d5234ec803b59b53b48fbd5bc..53028d0b1ffd8f925567121dfeaaf06cc99d9f0b 100644
--- a/VectoCommon/VectoCommon/Utils/EnumHelper.cs
+++ b/VectoCommon/VectoCommon/Utils/EnumHelper.cs
@@ -38,9 +38,9 @@ namespace TUGraz.VectoCommon.Utils
 {
 	public static class EnumHelper
 	{
-		public static T ParseEnum<T>(this string s, bool ignoreCase = true) => 
-			(T)Enum.Parse(typeof(T), 
-				s.StartsWith("-") 
+		public static T ParseEnum<T>(this string s, bool ignoreCase = true) =>
+			(T)Enum.Parse(typeof(T),
+				s.StartsWith("-")
 					? Regex.Replace(s, "[^a-zA-Z0-9_-]", "")
 					: Regex.Replace(s, "[^a-zA-Z0-9_]", ""), ignoreCase);
 
@@ -48,7 +48,15 @@ namespace TUGraz.VectoCommon.Utils
 			o is string s ? ParseEnum<T>(s, ignoreCase) : (T)o;
 
 
-		public static IEnumerable<T> GetValues<T>() => 
-			Enum.GetValues(typeof(T)).Cast<T>();
+		public static T[] GetValues<T>() =>
+			Enum.GetValues(typeof(T)).Cast<T>().ToArray();
+
+	    public static KeyValuePair<T, string>[] GetKeyValuePairs<T>(Func<T, string> displaySelector = null, Func<T, bool> predicate = null) {
+			if (displaySelector is null)
+				displaySelector = x => x.ToString();
+			if (predicate is null)
+				predicate = x => true;
+			return GetValues<T>().Where(predicate).Select(t => new KeyValuePair<T, string>(t, displaySelector(t))).ToArray();
+		}
 	}
 }
\ No newline at end of file