diff --git a/VECTO/File Browser/FileBrowserModule.vb b/VECTO/File Browser/FileBrowserModule.vb
index 041359ac9c189bcfe48568f8286dd2b1bb334b99..1090e338c698e5ea6a830e9e479fb55a53dad2d2 100644
--- a/VECTO/File Browser/FileBrowserModule.vb	
+++ b/VECTO/File Browser/FileBrowserModule.vb	
@@ -69,4 +69,8 @@ Public Module FileBrowserModule
     Public REESSFileBrowser As FileBrowser
 
 	public EmADCLossMapFileBrowser As FileBrowser
+	Public IEPCFileBrowser As FileBrowser
+	Public IEPCFLCFileBrowser As FileBrowser
+	Public IEPCDragFileBrowser As FileBrowser
+	Public IEPCPowerMapFileBrowser As FileBrowser
 End Module
diff --git a/VECTO/GUI/ElectricMotorForm.Designer.vb b/VECTO/GUI/ElectricMotorForm.Designer.vb
index 25da7c409933e02fcf6596eb39fda7b973c73165..d7453bab608fabe7cdb62ae8f4d49dc0d6e24b5f 100644
--- a/VECTO/GUI/ElectricMotorForm.Designer.vb
+++ b/VECTO/GUI/ElectricMotorForm.Designer.vb
@@ -159,29 +159,26 @@ Partial Class ElectricMotorForm
         '
         'tbInertia
         '
-        Me.tbInertia.Location = New System.Drawing.Point(190, 8)
-        Me.tbInertia.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbInertia.Location = New System.Drawing.Point(127, 5)
         Me.tbInertia.Name = "tbInertia"
-        Me.tbInertia.Size = New System.Drawing.Size(72, 26)
+        Me.tbInertia.Size = New System.Drawing.Size(49, 20)
         Me.tbInertia.TabIndex = 3
         '
         'lblinertiaUnit
         '
         Me.lblinertiaUnit.AutoSize = true
-        Me.lblinertiaUnit.Location = New System.Drawing.Point(273, 12)
-        Me.lblinertiaUnit.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblinertiaUnit.Location = New System.Drawing.Point(182, 8)
         Me.lblinertiaUnit.Name = "lblinertiaUnit"
-        Me.lblinertiaUnit.Size = New System.Drawing.Size(52, 20)
+        Me.lblinertiaUnit.Size = New System.Drawing.Size(36, 13)
         Me.lblinertiaUnit.TabIndex = 24
         Me.lblinertiaUnit.Text = "[kgm²]"
         '
         'lblInertia
         '
         Me.lblInertia.AutoSize = true
-        Me.lblInertia.Location = New System.Drawing.Point(4, 11)
-        Me.lblInertia.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblInertia.Location = New System.Drawing.Point(3, 7)
         Me.lblInertia.Name = "lblInertia"
-        Me.lblInertia.Size = New System.Drawing.Size(54, 20)
+        Me.lblInertia.Size = New System.Drawing.Size(36, 13)
         Me.lblInertia.TabIndex = 0
         Me.lblInertia.Text = "Inertia"
         '
@@ -189,10 +186,9 @@ Partial Class ElectricMotorForm
         '
         Me.ButCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
         Me.ButCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
-        Me.ButCancel.Location = New System.Drawing.Point(1281, 648)
-        Me.ButCancel.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.ButCancel.Location = New System.Drawing.Point(854, 421)
         Me.ButCancel.Name = "ButCancel"
-        Me.ButCancel.Size = New System.Drawing.Size(112, 35)
+        Me.ButCancel.Size = New System.Drawing.Size(75, 23)
         Me.ButCancel.TabIndex = 13
         Me.ButCancel.Text = "Cancel"
         Me.ButCancel.UseVisualStyleBackColor = true
@@ -200,10 +196,9 @@ Partial Class ElectricMotorForm
         'ButOK
         '
         Me.ButOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
-        Me.ButOK.Location = New System.Drawing.Point(1160, 648)
-        Me.ButOK.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.ButOK.Location = New System.Drawing.Point(773, 421)
         Me.ButOK.Name = "ButOK"
-        Me.ButOK.Size = New System.Drawing.Size(112, 35)
+        Me.ButOK.Size = New System.Drawing.Size(75, 23)
         Me.ButOK.TabIndex = 12
         Me.ButOK.Text = "Save"
         Me.ButOK.UseVisualStyleBackColor = true
@@ -215,8 +210,8 @@ Partial Class ElectricMotorForm
         Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator3, Me.ToolStripBtSendTo, Me.ToolStripSeparator1, Me.ToolStripButton1})
         Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
         Me.ToolStrip1.Name = "ToolStrip1"
-        Me.ToolStrip1.Padding = New System.Windows.Forms.Padding(0, 0, 3, 0)
-        Me.ToolStrip1.Size = New System.Drawing.Size(1412, 33)
+        Me.ToolStrip1.Padding = New System.Windows.Forms.Padding(0, 0, 2, 0)
+        Me.ToolStrip1.Size = New System.Drawing.Size(941, 31)
         Me.ToolStrip1.TabIndex = 30
         Me.ToolStrip1.Text = "ToolStrip1"
         '
@@ -226,7 +221,7 @@ Partial Class ElectricMotorForm
         Me.ToolStripBtNew.Image = Global.TUGraz.VECTO.My.Resources.Resources.blue_document_icon
         Me.ToolStripBtNew.ImageTransparentColor = System.Drawing.Color.Magenta
         Me.ToolStripBtNew.Name = "ToolStripBtNew"
-        Me.ToolStripBtNew.Size = New System.Drawing.Size(34, 28)
+        Me.ToolStripBtNew.Size = New System.Drawing.Size(28, 28)
         Me.ToolStripBtNew.Text = "ToolStripButton1"
         Me.ToolStripBtNew.ToolTipText = "New"
         '
@@ -236,7 +231,7 @@ Partial Class ElectricMotorForm
         Me.ToolStripBtOpen.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
         Me.ToolStripBtOpen.ImageTransparentColor = System.Drawing.Color.Magenta
         Me.ToolStripBtOpen.Name = "ToolStripBtOpen"
-        Me.ToolStripBtOpen.Size = New System.Drawing.Size(34, 28)
+        Me.ToolStripBtOpen.Size = New System.Drawing.Size(28, 28)
         Me.ToolStripBtOpen.Text = "ToolStripButton1"
         Me.ToolStripBtOpen.ToolTipText = "Open..."
         '
@@ -246,7 +241,7 @@ Partial Class ElectricMotorForm
         Me.ToolStripBtSave.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_document_save_icon
         Me.ToolStripBtSave.ImageTransparentColor = System.Drawing.Color.Magenta
         Me.ToolStripBtSave.Name = "ToolStripBtSave"
-        Me.ToolStripBtSave.Size = New System.Drawing.Size(34, 28)
+        Me.ToolStripBtSave.Size = New System.Drawing.Size(28, 28)
         Me.ToolStripBtSave.Text = "ToolStripButton1"
         Me.ToolStripBtSave.ToolTipText = "Save"
         '
@@ -256,14 +251,14 @@ Partial Class ElectricMotorForm
         Me.ToolStripBtSaveAs.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_document_save_as_icon
         Me.ToolStripBtSaveAs.ImageTransparentColor = System.Drawing.Color.Magenta
         Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs"
-        Me.ToolStripBtSaveAs.Size = New System.Drawing.Size(34, 28)
+        Me.ToolStripBtSaveAs.Size = New System.Drawing.Size(28, 28)
         Me.ToolStripBtSaveAs.Text = "ToolStripButton1"
         Me.ToolStripBtSaveAs.ToolTipText = "Save As..."
         '
         'ToolStripSeparator3
         '
         Me.ToolStripSeparator3.Name = "ToolStripSeparator3"
-        Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 33)
+        Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 31)
         '
         'ToolStripBtSendTo
         '
@@ -271,14 +266,14 @@ Partial Class ElectricMotorForm
         Me.ToolStripBtSendTo.Image = Global.TUGraz.VECTO.My.Resources.Resources.export_icon
         Me.ToolStripBtSendTo.ImageTransparentColor = System.Drawing.Color.Magenta
         Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo"
-        Me.ToolStripBtSendTo.Size = New System.Drawing.Size(34, 28)
+        Me.ToolStripBtSendTo.Size = New System.Drawing.Size(28, 28)
         Me.ToolStripBtSendTo.Text = "Send to Job Editor"
         Me.ToolStripBtSendTo.ToolTipText = "Send to Job Editor"
         '
         'ToolStripSeparator1
         '
         Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
-        Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 33)
+        Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 31)
         '
         'ToolStripButton1
         '
@@ -286,17 +281,16 @@ Partial Class ElectricMotorForm
         Me.ToolStripButton1.Image = Global.TUGraz.VECTO.My.Resources.Resources.Help_icon
         Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
         Me.ToolStripButton1.Name = "ToolStripButton1"
-        Me.ToolStripButton1.Size = New System.Drawing.Size(34, 28)
+        Me.ToolStripButton1.Size = New System.Drawing.Size(28, 28)
         Me.ToolStripButton1.Text = "Help"
         '
         'StatusStrip1
         '
         Me.StatusStrip1.ImageScalingSize = New System.Drawing.Size(24, 24)
         Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.LbStatus})
-        Me.StatusStrip1.Location = New System.Drawing.Point(0, 688)
+        Me.StatusStrip1.Location = New System.Drawing.Point(0, 446)
         Me.StatusStrip1.Name = "StatusStrip1"
-        Me.StatusStrip1.Padding = New System.Windows.Forms.Padding(2, 0, 21, 0)
-        Me.StatusStrip1.Size = New System.Drawing.Size(1412, 32)
+        Me.StatusStrip1.Size = New System.Drawing.Size(941, 22)
         Me.StatusStrip1.SizingGrip = false
         Me.StatusStrip1.TabIndex = 37
         Me.StatusStrip1.Text = "StatusStrip1"
@@ -304,24 +298,22 @@ Partial Class ElectricMotorForm
         'LbStatus
         '
         Me.LbStatus.Name = "LbStatus"
-        Me.LbStatus.Size = New System.Drawing.Size(60, 25)
+        Me.LbStatus.Size = New System.Drawing.Size(39, 17)
         Me.LbStatus.Text = "Status"
         '
         'tbMakeModel
         '
-        Me.tbMakeModel.Location = New System.Drawing.Point(164, 126)
-        Me.tbMakeModel.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbMakeModel.Location = New System.Drawing.Point(109, 82)
         Me.tbMakeModel.Name = "tbMakeModel"
-        Me.tbMakeModel.Size = New System.Drawing.Size(553, 26)
+        Me.tbMakeModel.Size = New System.Drawing.Size(370, 20)
         Me.tbMakeModel.TabIndex = 0
         '
         'lblMakeModel
         '
         Me.lblMakeModel.AutoSize = true
-        Me.lblMakeModel.Location = New System.Drawing.Point(24, 131)
-        Me.lblMakeModel.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblMakeModel.Location = New System.Drawing.Point(16, 85)
         Me.lblMakeModel.Name = "lblMakeModel"
-        Me.lblMakeModel.Size = New System.Drawing.Size(126, 20)
+        Me.lblMakeModel.Size = New System.Drawing.Size(87, 13)
         Me.lblMakeModel.TabIndex = 11
         Me.lblMakeModel.Text = "Make and Model"
         '
@@ -329,10 +321,9 @@ Partial Class ElectricMotorForm
         '
         Me.PictureBox1.BackColor = System.Drawing.Color.White
         Me.PictureBox1.Image = Global.TUGraz.VECTO.My.Resources.Resources.VECTO_ENG
-        Me.PictureBox1.Location = New System.Drawing.Point(0, 43)
-        Me.PictureBox1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.PictureBox1.Location = New System.Drawing.Point(0, 28)
         Me.PictureBox1.Name = "PictureBox1"
-        Me.PictureBox1.Size = New System.Drawing.Size(753, 62)
+        Me.PictureBox1.Size = New System.Drawing.Size(502, 40)
         Me.PictureBox1.TabIndex = 39
         Me.PictureBox1.TabStop = false
         '
@@ -341,18 +332,18 @@ Partial Class ElectricMotorForm
         Me.CmOpenFile.ImageScalingSize = New System.Drawing.Size(24, 24)
         Me.CmOpenFile.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenWithToolStripMenuItem, Me.ShowInFolderToolStripMenuItem})
         Me.CmOpenFile.Name = "CmOpenFile"
-        Me.CmOpenFile.Size = New System.Drawing.Size(203, 68)
+        Me.CmOpenFile.Size = New System.Drawing.Size(153, 48)
         '
         'OpenWithToolStripMenuItem
         '
         Me.OpenWithToolStripMenuItem.Name = "OpenWithToolStripMenuItem"
-        Me.OpenWithToolStripMenuItem.Size = New System.Drawing.Size(202, 32)
+        Me.OpenWithToolStripMenuItem.Size = New System.Drawing.Size(152, 22)
         Me.OpenWithToolStripMenuItem.Text = "Open with ..."
         '
         'ShowInFolderToolStripMenuItem
         '
         Me.ShowInFolderToolStripMenuItem.Name = "ShowInFolderToolStripMenuItem"
-        Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(202, 32)
+        Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(152, 22)
         Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder"
         '
         'pnInertia
@@ -360,19 +351,17 @@ Partial Class ElectricMotorForm
         Me.pnInertia.Controls.Add(Me.lblInertia)
         Me.pnInertia.Controls.Add(Me.lblinertiaUnit)
         Me.pnInertia.Controls.Add(Me.tbInertia)
-        Me.pnInertia.Location = New System.Drawing.Point(18, 166)
-        Me.pnInertia.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.pnInertia.Location = New System.Drawing.Point(12, 108)
         Me.pnInertia.Name = "pnInertia"
-        Me.pnInertia.Size = New System.Drawing.Size(332, 46)
+        Me.pnInertia.Size = New System.Drawing.Size(221, 30)
         Me.pnInertia.TabIndex = 3
         '
         'btnEmMapOpenHi
         '
         Me.btnEmMapOpenHi.Image = Global.TUGraz.VECTO.My.Resources.Resources.application_export_icon_small
-        Me.btnEmMapOpenHi.Location = New System.Drawing.Point(662, 134)
-        Me.btnEmMapOpenHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.btnEmMapOpenHi.Location = New System.Drawing.Point(441, 87)
         Me.btnEmMapOpenHi.Name = "btnEmMapOpenHi"
-        Me.btnEmMapOpenHi.Size = New System.Drawing.Size(36, 37)
+        Me.btnEmMapOpenHi.Size = New System.Drawing.Size(24, 24)
         Me.btnEmMapOpenHi.TabIndex = 42
         Me.btnEmMapOpenHi.TabStop = false
         Me.btnEmMapOpenHi.UseVisualStyleBackColor = true
@@ -380,10 +369,9 @@ Partial Class ElectricMotorForm
         'btnBrowseEmMapHi
         '
         Me.btnBrowseEmMapHi.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btnBrowseEmMapHi.Location = New System.Drawing.Point(628, 134)
-        Me.btnBrowseEmMapHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.btnBrowseEmMapHi.Location = New System.Drawing.Point(419, 87)
         Me.btnBrowseEmMapHi.Name = "btnBrowseEmMapHi"
-        Me.btnBrowseEmMapHi.Size = New System.Drawing.Size(36, 37)
+        Me.btnBrowseEmMapHi.Size = New System.Drawing.Size(24, 24)
         Me.btnBrowseEmMapHi.TabIndex = 41
         Me.btnBrowseEmMapHi.TabStop = false
         Me.btnBrowseEmMapHi.UseVisualStyleBackColor = true
@@ -391,28 +379,25 @@ Partial Class ElectricMotorForm
         'lblPowerMapHi
         '
         Me.lblPowerMapHi.AutoSize = true
-        Me.lblPowerMapHi.Location = New System.Drawing.Point(7, 114)
-        Me.lblPowerMapHi.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblPowerMapHi.Location = New System.Drawing.Point(5, 74)
         Me.lblPowerMapHi.Name = "lblPowerMapHi"
-        Me.lblPowerMapHi.Size = New System.Drawing.Size(242, 20)
+        Me.lblPowerMapHi.Size = New System.Drawing.Size(163, 13)
         Me.lblPowerMapHi.TabIndex = 43
         Me.lblPowerMapHi.Text = "Electric Power Consumption Map"
         '
         'tbMapHi
         '
-        Me.tbMapHi.Location = New System.Drawing.Point(7, 139)
-        Me.tbMapHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbMapHi.Location = New System.Drawing.Point(5, 90)
         Me.tbMapHi.Name = "tbMapHi"
-        Me.tbMapHi.Size = New System.Drawing.Size(607, 26)
+        Me.tbMapHi.Size = New System.Drawing.Size(406, 20)
         Me.tbMapHi.TabIndex = 40
         '
         'btnMaxTorqueCurveOpenHi
         '
         Me.btnMaxTorqueCurveOpenHi.Image = Global.TUGraz.VECTO.My.Resources.Resources.application_export_icon_small
-        Me.btnMaxTorqueCurveOpenHi.Location = New System.Drawing.Point(662, 75)
-        Me.btnMaxTorqueCurveOpenHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.btnMaxTorqueCurveOpenHi.Location = New System.Drawing.Point(441, 49)
         Me.btnMaxTorqueCurveOpenHi.Name = "btnMaxTorqueCurveOpenHi"
-        Me.btnMaxTorqueCurveOpenHi.Size = New System.Drawing.Size(36, 37)
+        Me.btnMaxTorqueCurveOpenHi.Size = New System.Drawing.Size(24, 24)
         Me.btnMaxTorqueCurveOpenHi.TabIndex = 46
         Me.btnMaxTorqueCurveOpenHi.TabStop = false
         Me.btnMaxTorqueCurveOpenHi.UseVisualStyleBackColor = true
@@ -420,10 +405,9 @@ Partial Class ElectricMotorForm
         'btnBrowseMaxTorqueHi
         '
         Me.btnBrowseMaxTorqueHi.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btnBrowseMaxTorqueHi.Location = New System.Drawing.Point(628, 75)
-        Me.btnBrowseMaxTorqueHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.btnBrowseMaxTorqueHi.Location = New System.Drawing.Point(419, 49)
         Me.btnBrowseMaxTorqueHi.Name = "btnBrowseMaxTorqueHi"
-        Me.btnBrowseMaxTorqueHi.Size = New System.Drawing.Size(36, 37)
+        Me.btnBrowseMaxTorqueHi.Size = New System.Drawing.Size(24, 24)
         Me.btnBrowseMaxTorqueHi.TabIndex = 45
         Me.btnBrowseMaxTorqueHi.TabStop = false
         Me.btnBrowseMaxTorqueHi.UseVisualStyleBackColor = true
@@ -431,19 +415,17 @@ Partial Class ElectricMotorForm
         'lblMaxTorqueHi
         '
         Me.lblMaxTorqueHi.AutoSize = true
-        Me.lblMaxTorqueHi.Location = New System.Drawing.Point(7, 54)
-        Me.lblMaxTorqueHi.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblMaxTorqueHi.Location = New System.Drawing.Point(5, 35)
         Me.lblMaxTorqueHi.Name = "lblMaxTorqueHi"
-        Me.lblMaxTorqueHi.Size = New System.Drawing.Size(325, 20)
+        Me.lblMaxTorqueHi.Size = New System.Drawing.Size(222, 13)
         Me.lblMaxTorqueHi.TabIndex = 47
         Me.lblMaxTorqueHi.Text = "Max Drive and Max Generation Torque Curve"
         '
         'tbMaxTorqueHi
         '
-        Me.tbMaxTorqueHi.Location = New System.Drawing.Point(7, 78)
-        Me.tbMaxTorqueHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbMaxTorqueHi.Location = New System.Drawing.Point(5, 51)
         Me.tbMaxTorqueHi.Name = "tbMaxTorqueHi"
-        Me.tbMaxTorqueHi.Size = New System.Drawing.Size(607, 26)
+        Me.tbMaxTorqueHi.Size = New System.Drawing.Size(406, 20)
         Me.tbMaxTorqueHi.TabIndex = 44
         '
         'lblTitle
@@ -451,10 +433,9 @@ Partial Class ElectricMotorForm
         Me.lblTitle.AutoSize = true
         Me.lblTitle.BackColor = System.Drawing.Color.White
         Me.lblTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 18!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblTitle.Location = New System.Drawing.Point(126, 52)
-        Me.lblTitle.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblTitle.Location = New System.Drawing.Point(119, 34)
         Me.lblTitle.Name = "lblTitle"
-        Me.lblTitle.Size = New System.Drawing.Size(281, 40)
+        Me.lblTitle.Size = New System.Drawing.Size(190, 29)
         Me.lblTitle.TabIndex = 48
         Me.lblTitle.Text = "Electric Machine"
         '
@@ -462,10 +443,9 @@ Partial Class ElectricMotorForm
         '
         Me.PicBox.BackColor = System.Drawing.Color.LightGray
         Me.PicBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
-        Me.PicBox.Location = New System.Drawing.Point(776, 43)
-        Me.PicBox.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.PicBox.Location = New System.Drawing.Point(517, 28)
         Me.PicBox.Name = "PicBox"
-        Me.PicBox.Size = New System.Drawing.Size(572, 408)
+        Me.PicBox.Size = New System.Drawing.Size(382, 266)
         Me.PicBox.TabIndex = 49
         Me.PicBox.TabStop = false
         '
@@ -474,38 +454,34 @@ Partial Class ElectricMotorForm
         Me.Panel1.Controls.Add(Me.lblContTq)
         Me.Panel1.Controls.Add(Me.lblContTqUnit)
         Me.Panel1.Controls.Add(Me.tbContTqLo)
-        Me.Panel1.Location = New System.Drawing.Point(7, 184)
-        Me.Panel1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.Panel1.Location = New System.Drawing.Point(5, 120)
         Me.Panel1.Name = "Panel1"
-        Me.Panel1.Size = New System.Drawing.Size(332, 46)
+        Me.Panel1.Size = New System.Drawing.Size(221, 30)
         Me.Panel1.TabIndex = 25
         '
         'lblContTq
         '
         Me.lblContTq.AutoSize = true
-        Me.lblContTq.Location = New System.Drawing.Point(4, 11)
-        Me.lblContTq.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblContTq.Location = New System.Drawing.Point(3, 7)
         Me.lblContTq.Name = "lblContTq"
-        Me.lblContTq.Size = New System.Drawing.Size(148, 20)
+        Me.lblContTq.Size = New System.Drawing.Size(100, 13)
         Me.lblContTq.TabIndex = 0
         Me.lblContTq.Text = "Continuous Torque:"
         '
         'lblContTqUnit
         '
         Me.lblContTqUnit.AutoSize = true
-        Me.lblContTqUnit.Location = New System.Drawing.Point(273, 12)
-        Me.lblContTqUnit.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblContTqUnit.Location = New System.Drawing.Point(182, 8)
         Me.lblContTqUnit.Name = "lblContTqUnit"
-        Me.lblContTqUnit.Size = New System.Drawing.Size(41, 20)
+        Me.lblContTqUnit.Size = New System.Drawing.Size(29, 13)
         Me.lblContTqUnit.TabIndex = 24
         Me.lblContTqUnit.Text = "[Nm]"
         '
         'tbContTqLo
         '
-        Me.tbContTqLo.Location = New System.Drawing.Point(190, 8)
-        Me.tbContTqLo.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbContTqLo.Location = New System.Drawing.Point(127, 5)
         Me.tbContTqLo.Name = "tbContTqLo"
-        Me.tbContTqLo.Size = New System.Drawing.Size(72, 26)
+        Me.tbContTqLo.Size = New System.Drawing.Size(49, 20)
         Me.tbContTqLo.TabIndex = 3
         '
         'Panel2
@@ -513,38 +489,34 @@ Partial Class ElectricMotorForm
         Me.Panel2.Controls.Add(Me.lblOvlTime)
         Me.Panel2.Controls.Add(Me.lblOvltimeUnit)
         Me.Panel2.Controls.Add(Me.tbOvlTimeLo)
-        Me.Panel2.Location = New System.Drawing.Point(7, 279)
-        Me.Panel2.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.Panel2.Location = New System.Drawing.Point(5, 181)
         Me.Panel2.Name = "Panel2"
-        Me.Panel2.Size = New System.Drawing.Size(332, 46)
+        Me.Panel2.Size = New System.Drawing.Size(221, 30)
         Me.Panel2.TabIndex = 25
         '
         'lblOvlTime
         '
         Me.lblOvlTime.AutoSize = true
-        Me.lblOvlTime.Location = New System.Drawing.Point(4, 11)
-        Me.lblOvlTime.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblOvlTime.Location = New System.Drawing.Point(3, 7)
         Me.lblOvlTime.Name = "lblOvlTime"
-        Me.lblOvlTime.Size = New System.Drawing.Size(141, 20)
+        Me.lblOvlTime.Size = New System.Drawing.Size(96, 13)
         Me.lblOvlTime.TabIndex = 0
         Me.lblOvlTime.Text = "Overload Duration:"
         '
         'lblOvltimeUnit
         '
         Me.lblOvltimeUnit.AutoSize = true
-        Me.lblOvltimeUnit.Location = New System.Drawing.Point(270, 11)
-        Me.lblOvltimeUnit.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblOvltimeUnit.Location = New System.Drawing.Point(180, 7)
         Me.lblOvltimeUnit.Name = "lblOvltimeUnit"
-        Me.lblOvltimeUnit.Size = New System.Drawing.Size(25, 20)
+        Me.lblOvltimeUnit.Size = New System.Drawing.Size(18, 13)
         Me.lblOvltimeUnit.TabIndex = 24
         Me.lblOvltimeUnit.Text = "[s]"
         '
         'tbOvlTimeLo
         '
-        Me.tbOvlTimeLo.Location = New System.Drawing.Point(190, 8)
-        Me.tbOvlTimeLo.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbOvlTimeLo.Location = New System.Drawing.Point(127, 5)
         Me.tbOvlTimeLo.Name = "tbOvlTimeLo"
-        Me.tbOvlTimeLo.Size = New System.Drawing.Size(72, 26)
+        Me.tbOvlTimeLo.Size = New System.Drawing.Size(49, 20)
         Me.tbOvlTimeLo.TabIndex = 3
         '
         'Panel3
@@ -552,38 +524,34 @@ Partial Class ElectricMotorForm
         Me.Panel3.Controls.Add(Me.lblOvlRecovery)
         Me.Panel3.Controls.Add(Me.lblOvlRecoveryFactorUnit)
         Me.Panel3.Controls.Add(Me.tbOverloadRecoveryFactor)
-        Me.Panel3.Location = New System.Drawing.Point(369, 166)
-        Me.Panel3.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.Panel3.Location = New System.Drawing.Point(246, 108)
         Me.Panel3.Name = "Panel3"
-        Me.Panel3.Size = New System.Drawing.Size(392, 46)
+        Me.Panel3.Size = New System.Drawing.Size(261, 30)
         Me.Panel3.TabIndex = 26
         '
         'lblOvlRecovery
         '
         Me.lblOvlRecovery.AutoSize = true
-        Me.lblOvlRecovery.Location = New System.Drawing.Point(-3, 12)
-        Me.lblOvlRecovery.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblOvlRecovery.Location = New System.Drawing.Point(-2, 8)
         Me.lblOvlRecovery.Name = "lblOvlRecovery"
-        Me.lblOvlRecovery.Size = New System.Drawing.Size(257, 20)
+        Me.lblOvlRecovery.Size = New System.Drawing.Size(176, 13)
         Me.lblOvlRecovery.TabIndex = 0
         Me.lblOvlRecovery.Text = "Thermal Overload Recovery Factor:"
         '
         'lblOvlRecoveryFactorUnit
         '
         Me.lblOvlRecoveryFactorUnit.AutoSize = true
-        Me.lblOvlRecoveryFactorUnit.Location = New System.Drawing.Point(345, 11)
-        Me.lblOvlRecoveryFactorUnit.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblOvlRecoveryFactorUnit.Location = New System.Drawing.Point(230, 7)
         Me.lblOvlRecoveryFactorUnit.Name = "lblOvlRecoveryFactorUnit"
-        Me.lblOvlRecoveryFactorUnit.Size = New System.Drawing.Size(22, 20)
+        Me.lblOvlRecoveryFactorUnit.Size = New System.Drawing.Size(16, 13)
         Me.lblOvlRecoveryFactorUnit.TabIndex = 24
         Me.lblOvlRecoveryFactorUnit.Text = "[-]"
         '
         'tbOverloadRecoveryFactor
         '
-        Me.tbOverloadRecoveryFactor.Location = New System.Drawing.Point(266, 8)
-        Me.tbOverloadRecoveryFactor.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbOverloadRecoveryFactor.Location = New System.Drawing.Point(177, 5)
         Me.tbOverloadRecoveryFactor.Name = "tbOverloadRecoveryFactor"
-        Me.tbOverloadRecoveryFactor.Size = New System.Drawing.Size(72, 26)
+        Me.tbOverloadRecoveryFactor.Size = New System.Drawing.Size(49, 20)
         Me.tbOverloadRecoveryFactor.TabIndex = 3
         '
         'Panel4
@@ -591,38 +559,34 @@ Partial Class ElectricMotorForm
         Me.Panel4.Controls.Add(Me.lblRatedSpeed)
         Me.Panel4.Controls.Add(Me.lblRatedSpeedUnit)
         Me.Panel4.Controls.Add(Me.tbRatedSpeedLo)
-        Me.Panel4.Location = New System.Drawing.Point(339, 184)
-        Me.Panel4.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.Panel4.Location = New System.Drawing.Point(226, 120)
         Me.Panel4.Name = "Panel4"
-        Me.Panel4.Size = New System.Drawing.Size(392, 46)
+        Me.Panel4.Size = New System.Drawing.Size(261, 30)
         Me.Panel4.TabIndex = 26
         '
         'lblRatedSpeed
         '
         Me.lblRatedSpeed.AutoSize = true
-        Me.lblRatedSpeed.Location = New System.Drawing.Point(4, 11)
-        Me.lblRatedSpeed.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblRatedSpeed.Location = New System.Drawing.Point(3, 7)
         Me.lblRatedSpeed.Name = "lblRatedSpeed"
-        Me.lblRatedSpeed.Size = New System.Drawing.Size(234, 20)
+        Me.lblRatedSpeed.Size = New System.Drawing.Size(158, 13)
         Me.lblRatedSpeed.TabIndex = 0
         Me.lblRatedSpeed.Text = "Test Speed Continuous Torque:"
         '
         'lblRatedSpeedUnit
         '
         Me.lblRatedSpeedUnit.AutoSize = true
-        Me.lblRatedSpeedUnit.Location = New System.Drawing.Point(344, 11)
-        Me.lblRatedSpeedUnit.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblRatedSpeedUnit.Location = New System.Drawing.Point(229, 7)
         Me.lblRatedSpeedUnit.Name = "lblRatedSpeedUnit"
-        Me.lblRatedSpeedUnit.Size = New System.Drawing.Size(44, 20)
+        Me.lblRatedSpeedUnit.Size = New System.Drawing.Size(30, 13)
         Me.lblRatedSpeedUnit.TabIndex = 24
         Me.lblRatedSpeedUnit.Text = "[rpm]"
         '
         'tbRatedSpeedLo
         '
-        Me.tbRatedSpeedLo.Location = New System.Drawing.Point(266, 8)
-        Me.tbRatedSpeedLo.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbRatedSpeedLo.Location = New System.Drawing.Point(177, 5)
         Me.tbRatedSpeedLo.Name = "tbRatedSpeedLo"
-        Me.tbRatedSpeedLo.Size = New System.Drawing.Size(72, 26)
+        Me.tbRatedSpeedLo.Size = New System.Drawing.Size(49, 20)
         Me.tbRatedSpeedLo.TabIndex = 3
         '
         'pnOverloadTq
@@ -630,38 +594,34 @@ Partial Class ElectricMotorForm
         Me.pnOverloadTq.Controls.Add(Me.lblOverloadTq)
         Me.pnOverloadTq.Controls.Add(Me.lblOverloadTqUnit)
         Me.pnOverloadTq.Controls.Add(Me.tbOverloadTqLo)
-        Me.pnOverloadTq.Location = New System.Drawing.Point(7, 231)
-        Me.pnOverloadTq.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.pnOverloadTq.Location = New System.Drawing.Point(5, 150)
         Me.pnOverloadTq.Name = "pnOverloadTq"
-        Me.pnOverloadTq.Size = New System.Drawing.Size(332, 46)
+        Me.pnOverloadTq.Size = New System.Drawing.Size(221, 30)
         Me.pnOverloadTq.TabIndex = 26
         '
         'lblOverloadTq
         '
         Me.lblOverloadTq.AutoSize = true
-        Me.lblOverloadTq.Location = New System.Drawing.Point(4, 11)
-        Me.lblOverloadTq.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblOverloadTq.Location = New System.Drawing.Point(3, 7)
         Me.lblOverloadTq.Name = "lblOverloadTq"
-        Me.lblOverloadTq.Size = New System.Drawing.Size(130, 20)
+        Me.lblOverloadTq.Size = New System.Drawing.Size(90, 13)
         Me.lblOverloadTq.TabIndex = 0
         Me.lblOverloadTq.Text = "Overload Torque:"
         '
         'lblOverloadTqUnit
         '
         Me.lblOverloadTqUnit.AutoSize = true
-        Me.lblOverloadTqUnit.Location = New System.Drawing.Point(273, 12)
-        Me.lblOverloadTqUnit.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblOverloadTqUnit.Location = New System.Drawing.Point(182, 8)
         Me.lblOverloadTqUnit.Name = "lblOverloadTqUnit"
-        Me.lblOverloadTqUnit.Size = New System.Drawing.Size(41, 20)
+        Me.lblOverloadTqUnit.Size = New System.Drawing.Size(29, 13)
         Me.lblOverloadTqUnit.TabIndex = 24
         Me.lblOverloadTqUnit.Text = "[Nm]"
         '
         'tbOverloadTqLo
         '
-        Me.tbOverloadTqLo.Location = New System.Drawing.Point(190, 8)
-        Me.tbOverloadTqLo.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbOverloadTqLo.Location = New System.Drawing.Point(127, 5)
         Me.tbOverloadTqLo.Name = "tbOverloadTqLo"
-        Me.tbOverloadTqLo.Size = New System.Drawing.Size(72, 26)
+        Me.tbOverloadTqLo.Size = New System.Drawing.Size(49, 20)
         Me.tbOverloadTqLo.TabIndex = 3
         '
         'Panel6
@@ -669,131 +629,117 @@ Partial Class ElectricMotorForm
         Me.Panel6.Controls.Add(Me.lblOverloadSpeed)
         Me.Panel6.Controls.Add(Me.lblOverloadSpeedUnit)
         Me.Panel6.Controls.Add(Me.tbOvlSpeedLo)
-        Me.Panel6.Location = New System.Drawing.Point(339, 231)
-        Me.Panel6.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.Panel6.Location = New System.Drawing.Point(226, 150)
         Me.Panel6.Name = "Panel6"
-        Me.Panel6.Size = New System.Drawing.Size(392, 46)
+        Me.Panel6.Size = New System.Drawing.Size(261, 30)
         Me.Panel6.TabIndex = 27
         '
         'lblOverloadSpeed
         '
         Me.lblOverloadSpeed.AutoSize = true
-        Me.lblOverloadSpeed.Location = New System.Drawing.Point(4, 11)
-        Me.lblOverloadSpeed.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblOverloadSpeed.Location = New System.Drawing.Point(3, 7)
         Me.lblOverloadSpeed.Name = "lblOverloadSpeed"
-        Me.lblOverloadSpeed.Size = New System.Drawing.Size(216, 20)
+        Me.lblOverloadSpeed.Size = New System.Drawing.Size(148, 13)
         Me.lblOverloadSpeed.TabIndex = 0
         Me.lblOverloadSpeed.Text = "Test Speed Overload Torque:"
         '
         'lblOverloadSpeedUnit
         '
         Me.lblOverloadSpeedUnit.AutoSize = true
-        Me.lblOverloadSpeedUnit.Location = New System.Drawing.Point(344, 11)
-        Me.lblOverloadSpeedUnit.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblOverloadSpeedUnit.Location = New System.Drawing.Point(229, 7)
         Me.lblOverloadSpeedUnit.Name = "lblOverloadSpeedUnit"
-        Me.lblOverloadSpeedUnit.Size = New System.Drawing.Size(44, 20)
+        Me.lblOverloadSpeedUnit.Size = New System.Drawing.Size(30, 13)
         Me.lblOverloadSpeedUnit.TabIndex = 24
         Me.lblOverloadSpeedUnit.Text = "[rpm]"
         '
         'tbOvlSpeedLo
         '
-        Me.tbOvlSpeedLo.Location = New System.Drawing.Point(266, 8)
-        Me.tbOvlSpeedLo.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbOvlSpeedLo.Location = New System.Drawing.Point(177, 5)
         Me.tbOvlSpeedLo.Name = "tbOvlSpeedLo"
-        Me.tbOvlSpeedLo.Size = New System.Drawing.Size(72, 26)
+        Me.tbOvlSpeedLo.Size = New System.Drawing.Size(49, 20)
         Me.tbOvlSpeedLo.TabIndex = 3
         '
         'lblVoltageHi
         '
         Me.lblVoltageHi.AutoSize = true
-        Me.lblVoltageHi.Location = New System.Drawing.Point(16, 15)
-        Me.lblVoltageHi.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblVoltageHi.Location = New System.Drawing.Point(11, 10)
         Me.lblVoltageHi.Name = "lblVoltageHi"
-        Me.lblVoltageHi.Size = New System.Drawing.Size(64, 20)
+        Me.lblVoltageHi.Size = New System.Drawing.Size(43, 13)
         Me.lblVoltageHi.TabIndex = 48
         Me.lblVoltageHi.Text = "Voltage"
         '
         'lblVoltageHiUnit
         '
         Me.lblVoltageHiUnit.AutoSize = true
-        Me.lblVoltageHiUnit.Location = New System.Drawing.Point(282, 15)
-        Me.lblVoltageHiUnit.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblVoltageHiUnit.Location = New System.Drawing.Point(188, 10)
         Me.lblVoltageHiUnit.Name = "lblVoltageHiUnit"
-        Me.lblVoltageHiUnit.Size = New System.Drawing.Size(28, 20)
+        Me.lblVoltageHiUnit.Size = New System.Drawing.Size(20, 13)
         Me.lblVoltageHiUnit.TabIndex = 50
         Me.lblVoltageHiUnit.Text = "[V]"
         '
         'tbVoltageHi
         '
-        Me.tbVoltageHi.Location = New System.Drawing.Point(202, 12)
-        Me.tbVoltageHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbVoltageHi.Location = New System.Drawing.Point(135, 8)
         Me.tbVoltageHi.Name = "tbVoltageHi"
-        Me.tbVoltageHi.Size = New System.Drawing.Size(72, 26)
+        Me.tbVoltageHi.Size = New System.Drawing.Size(49, 20)
         Me.tbVoltageHi.TabIndex = 49
         '
         'lblVoltageLow
         '
         Me.lblVoltageLow.AutoSize = true
-        Me.lblVoltageLow.Location = New System.Drawing.Point(16, 14)
-        Me.lblVoltageLow.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblVoltageLow.Location = New System.Drawing.Point(11, 9)
         Me.lblVoltageLow.Name = "lblVoltageLow"
-        Me.lblVoltageLow.Size = New System.Drawing.Size(64, 20)
+        Me.lblVoltageLow.Size = New System.Drawing.Size(43, 13)
         Me.lblVoltageLow.TabIndex = 48
         Me.lblVoltageLow.Text = "Voltage"
         '
         'lblVoltageLowUnit
         '
         Me.lblVoltageLowUnit.AutoSize = true
-        Me.lblVoltageLowUnit.Location = New System.Drawing.Point(282, 14)
-        Me.lblVoltageLowUnit.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblVoltageLowUnit.Location = New System.Drawing.Point(188, 9)
         Me.lblVoltageLowUnit.Name = "lblVoltageLowUnit"
-        Me.lblVoltageLowUnit.Size = New System.Drawing.Size(28, 20)
+        Me.lblVoltageLowUnit.Size = New System.Drawing.Size(20, 13)
         Me.lblVoltageLowUnit.TabIndex = 50
         Me.lblVoltageLowUnit.Text = "[V]"
         '
         'tbVoltageLow
         '
-        Me.tbVoltageLow.Location = New System.Drawing.Point(202, 11)
-        Me.tbVoltageLow.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbVoltageLow.Location = New System.Drawing.Point(135, 7)
         Me.tbVoltageLow.Name = "tbVoltageLow"
-        Me.tbVoltageLow.Size = New System.Drawing.Size(72, 26)
+        Me.tbVoltageLow.Size = New System.Drawing.Size(49, 20)
         Me.tbVoltageLow.TabIndex = 49
         '
         'lblMaxTorqueLow
         '
         Me.lblMaxTorqueLow.AutoSize = true
-        Me.lblMaxTorqueLow.Location = New System.Drawing.Point(7, 53)
-        Me.lblMaxTorqueLow.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblMaxTorqueLow.Location = New System.Drawing.Point(5, 34)
         Me.lblMaxTorqueLow.Name = "lblMaxTorqueLow"
-        Me.lblMaxTorqueLow.Size = New System.Drawing.Size(325, 20)
+        Me.lblMaxTorqueLow.Size = New System.Drawing.Size(222, 13)
         Me.lblMaxTorqueLow.TabIndex = 47
         Me.lblMaxTorqueLow.Text = "Max Drive and Max Generation Torque Curve"
         '
         'tbDragTorque
         '
-        Me.tbDragTorque.Location = New System.Drawing.Point(26, 247)
-        Me.tbDragTorque.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbDragTorque.Location = New System.Drawing.Point(17, 161)
         Me.tbDragTorque.Name = "tbDragTorque"
-        Me.tbDragTorque.Size = New System.Drawing.Size(607, 26)
+        Me.tbDragTorque.Size = New System.Drawing.Size(406, 20)
         Me.tbDragTorque.TabIndex = 5
         '
         'lblDragTorque
         '
         Me.lblDragTorque.AutoSize = true
-        Me.lblDragTorque.Location = New System.Drawing.Point(26, 223)
-        Me.lblDragTorque.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblDragTorque.Location = New System.Drawing.Point(17, 145)
         Me.lblDragTorque.Name = "lblDragTorque"
-        Me.lblDragTorque.Size = New System.Drawing.Size(143, 20)
+        Me.lblDragTorque.Size = New System.Drawing.Size(98, 13)
         Me.lblDragTorque.TabIndex = 38
         Me.lblDragTorque.Text = "Drag Torque Curve"
         '
         'btnBrowseDragCurve
         '
         Me.btnBrowseDragCurve.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btnBrowseDragCurve.Location = New System.Drawing.Point(647, 243)
-        Me.btnBrowseDragCurve.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.btnBrowseDragCurve.Location = New System.Drawing.Point(431, 158)
         Me.btnBrowseDragCurve.Name = "btnBrowseDragCurve"
-        Me.btnBrowseDragCurve.Size = New System.Drawing.Size(36, 37)
+        Me.btnBrowseDragCurve.Size = New System.Drawing.Size(24, 24)
         Me.btnBrowseDragCurve.TabIndex = 6
         Me.btnBrowseDragCurve.TabStop = false
         Me.btnBrowseDragCurve.UseVisualStyleBackColor = true
@@ -801,39 +747,35 @@ Partial Class ElectricMotorForm
         'btnDragCurveOpen
         '
         Me.btnDragCurveOpen.Image = Global.TUGraz.VECTO.My.Resources.Resources.application_export_icon_small
-        Me.btnDragCurveOpen.Location = New System.Drawing.Point(681, 243)
-        Me.btnDragCurveOpen.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.btnDragCurveOpen.Location = New System.Drawing.Point(454, 158)
         Me.btnDragCurveOpen.Name = "btnDragCurveOpen"
-        Me.btnDragCurveOpen.Size = New System.Drawing.Size(36, 37)
+        Me.btnDragCurveOpen.Size = New System.Drawing.Size(24, 24)
         Me.btnDragCurveOpen.TabIndex = 7
         Me.btnDragCurveOpen.TabStop = false
         Me.btnDragCurveOpen.UseVisualStyleBackColor = true
         '
         'tbMapLow
         '
-        Me.tbMapLow.Location = New System.Drawing.Point(7, 139)
-        Me.tbMapLow.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbMapLow.Location = New System.Drawing.Point(5, 90)
         Me.tbMapLow.Name = "tbMapLow"
-        Me.tbMapLow.Size = New System.Drawing.Size(607, 26)
+        Me.tbMapLow.Size = New System.Drawing.Size(406, 20)
         Me.tbMapLow.TabIndex = 40
         '
         'lblPowerMapLow
         '
         Me.lblPowerMapLow.AutoSize = true
-        Me.lblPowerMapLow.Location = New System.Drawing.Point(7, 114)
-        Me.lblPowerMapLow.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.lblPowerMapLow.Location = New System.Drawing.Point(5, 74)
         Me.lblPowerMapLow.Name = "lblPowerMapLow"
-        Me.lblPowerMapLow.Size = New System.Drawing.Size(242, 20)
+        Me.lblPowerMapLow.Size = New System.Drawing.Size(163, 13)
         Me.lblPowerMapLow.TabIndex = 43
         Me.lblPowerMapLow.Text = "Electric Power Consumption Map"
         '
         'btnBrowseEmMapLow
         '
         Me.btnBrowseEmMapLow.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btnBrowseEmMapLow.Location = New System.Drawing.Point(628, 134)
-        Me.btnBrowseEmMapLow.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.btnBrowseEmMapLow.Location = New System.Drawing.Point(419, 87)
         Me.btnBrowseEmMapLow.Name = "btnBrowseEmMapLow"
-        Me.btnBrowseEmMapLow.Size = New System.Drawing.Size(36, 37)
+        Me.btnBrowseEmMapLow.Size = New System.Drawing.Size(24, 24)
         Me.btnBrowseEmMapLow.TabIndex = 41
         Me.btnBrowseEmMapLow.TabStop = false
         Me.btnBrowseEmMapLow.UseVisualStyleBackColor = true
@@ -841,29 +783,26 @@ Partial Class ElectricMotorForm
         'btnEmMapOpenLow
         '
         Me.btnEmMapOpenLow.Image = Global.TUGraz.VECTO.My.Resources.Resources.application_export_icon_small
-        Me.btnEmMapOpenLow.Location = New System.Drawing.Point(662, 134)
-        Me.btnEmMapOpenLow.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.btnEmMapOpenLow.Location = New System.Drawing.Point(441, 87)
         Me.btnEmMapOpenLow.Name = "btnEmMapOpenLow"
-        Me.btnEmMapOpenLow.Size = New System.Drawing.Size(36, 37)
+        Me.btnEmMapOpenLow.Size = New System.Drawing.Size(24, 24)
         Me.btnEmMapOpenLow.TabIndex = 42
         Me.btnEmMapOpenLow.TabStop = false
         Me.btnEmMapOpenLow.UseVisualStyleBackColor = true
         '
         'tbMaxTorqueLow
         '
-        Me.tbMaxTorqueLow.Location = New System.Drawing.Point(7, 77)
-        Me.tbMaxTorqueLow.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbMaxTorqueLow.Location = New System.Drawing.Point(5, 50)
         Me.tbMaxTorqueLow.Name = "tbMaxTorqueLow"
-        Me.tbMaxTorqueLow.Size = New System.Drawing.Size(607, 26)
+        Me.tbMaxTorqueLow.Size = New System.Drawing.Size(406, 20)
         Me.tbMaxTorqueLow.TabIndex = 44
         '
         'btnMaxTorqueCurveOpenLow
         '
         Me.btnMaxTorqueCurveOpenLow.Image = Global.TUGraz.VECTO.My.Resources.Resources.application_export_icon_small
-        Me.btnMaxTorqueCurveOpenLow.Location = New System.Drawing.Point(662, 74)
-        Me.btnMaxTorqueCurveOpenLow.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.btnMaxTorqueCurveOpenLow.Location = New System.Drawing.Point(441, 48)
         Me.btnMaxTorqueCurveOpenLow.Name = "btnMaxTorqueCurveOpenLow"
-        Me.btnMaxTorqueCurveOpenLow.Size = New System.Drawing.Size(36, 37)
+        Me.btnMaxTorqueCurveOpenLow.Size = New System.Drawing.Size(24, 24)
         Me.btnMaxTorqueCurveOpenLow.TabIndex = 46
         Me.btnMaxTorqueCurveOpenLow.TabStop = false
         Me.btnMaxTorqueCurveOpenLow.UseVisualStyleBackColor = true
@@ -871,10 +810,9 @@ Partial Class ElectricMotorForm
         'btnBrowseMaxTorqueLow
         '
         Me.btnBrowseMaxTorqueLow.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
-        Me.btnBrowseMaxTorqueLow.Location = New System.Drawing.Point(628, 74)
-        Me.btnBrowseMaxTorqueLow.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.btnBrowseMaxTorqueLow.Location = New System.Drawing.Point(419, 48)
         Me.btnBrowseMaxTorqueLow.Name = "btnBrowseMaxTorqueLow"
-        Me.btnBrowseMaxTorqueLow.Size = New System.Drawing.Size(36, 37)
+        Me.btnBrowseMaxTorqueLow.Size = New System.Drawing.Size(24, 24)
         Me.btnBrowseMaxTorqueLow.TabIndex = 45
         Me.btnBrowseMaxTorqueLow.TabStop = false
         Me.btnBrowseMaxTorqueLow.UseVisualStyleBackColor = true
@@ -883,10 +821,11 @@ Partial Class ElectricMotorForm
         '
         Me.tcVoltageLevels.Controls.Add(Me.tpVoltageLow)
         Me.tcVoltageLevels.Controls.Add(Me.tpVoltageHigh)
-        Me.tcVoltageLevels.Location = New System.Drawing.Point(18, 291)
+        Me.tcVoltageLevels.Location = New System.Drawing.Point(12, 189)
+        Me.tcVoltageLevels.Margin = New System.Windows.Forms.Padding(2, 2, 2, 2)
         Me.tcVoltageLevels.Name = "tcVoltageLevels"
         Me.tcVoltageLevels.SelectedIndex = 0
-        Me.tcVoltageLevels.Size = New System.Drawing.Size(751, 379)
+        Me.tcVoltageLevels.Size = New System.Drawing.Size(501, 246)
         Me.tcVoltageLevels.TabIndex = 52
         '
         'tpVoltageLow
@@ -907,10 +846,11 @@ Partial Class ElectricMotorForm
         Me.tpVoltageLow.Controls.Add(Me.btnBrowseEmMapLow)
         Me.tpVoltageLow.Controls.Add(Me.lblPowerMapLow)
         Me.tpVoltageLow.Controls.Add(Me.tbMapLow)
-        Me.tpVoltageLow.Location = New System.Drawing.Point(4, 29)
+        Me.tpVoltageLow.Location = New System.Drawing.Point(4, 22)
+        Me.tpVoltageLow.Margin = New System.Windows.Forms.Padding(2, 2, 2, 2)
         Me.tpVoltageLow.Name = "tpVoltageLow"
-        Me.tpVoltageLow.Padding = New System.Windows.Forms.Padding(3)
-        Me.tpVoltageLow.Size = New System.Drawing.Size(743, 346)
+        Me.tpVoltageLow.Padding = New System.Windows.Forms.Padding(2, 2, 2, 2)
+        Me.tpVoltageLow.Size = New System.Drawing.Size(493, 220)
         Me.tpVoltageLow.TabIndex = 0
         Me.tpVoltageLow.Text = "Voltage Level Low"
         Me.tpVoltageLow.UseVisualStyleBackColor = true
@@ -933,10 +873,11 @@ Partial Class ElectricMotorForm
         Me.tpVoltageHigh.Controls.Add(Me.btnBrowseEmMapHi)
         Me.tpVoltageHigh.Controls.Add(Me.lblPowerMapHi)
         Me.tpVoltageHigh.Controls.Add(Me.tbMapHi)
-        Me.tpVoltageHigh.Location = New System.Drawing.Point(4, 29)
+        Me.tpVoltageHigh.Location = New System.Drawing.Point(4, 22)
+        Me.tpVoltageHigh.Margin = New System.Windows.Forms.Padding(2, 2, 2, 2)
         Me.tpVoltageHigh.Name = "tpVoltageHigh"
-        Me.tpVoltageHigh.Padding = New System.Windows.Forms.Padding(3)
-        Me.tpVoltageHigh.Size = New System.Drawing.Size(743, 346)
+        Me.tpVoltageHigh.Padding = New System.Windows.Forms.Padding(2, 2, 2, 2)
+        Me.tpVoltageHigh.Size = New System.Drawing.Size(493, 220)
         Me.tpVoltageHigh.TabIndex = 1
         Me.tpVoltageHigh.Text = "Voltage Level High"
         Me.tpVoltageHigh.UseVisualStyleBackColor = true
@@ -946,38 +887,34 @@ Partial Class ElectricMotorForm
         Me.Panel5.Controls.Add(Me.Label1)
         Me.Panel5.Controls.Add(Me.Label2)
         Me.Panel5.Controls.Add(Me.tbOvlSpeedHi)
-        Me.Panel5.Location = New System.Drawing.Point(339, 231)
-        Me.Panel5.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.Panel5.Location = New System.Drawing.Point(226, 150)
         Me.Panel5.Name = "Panel5"
-        Me.Panel5.Size = New System.Drawing.Size(392, 46)
+        Me.Panel5.Size = New System.Drawing.Size(261, 30)
         Me.Panel5.TabIndex = 55
         '
         'Label1
         '
         Me.Label1.AutoSize = true
-        Me.Label1.Location = New System.Drawing.Point(4, 11)
-        Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.Label1.Location = New System.Drawing.Point(3, 7)
         Me.Label1.Name = "Label1"
-        Me.Label1.Size = New System.Drawing.Size(216, 20)
+        Me.Label1.Size = New System.Drawing.Size(148, 13)
         Me.Label1.TabIndex = 0
         Me.Label1.Text = "Test Speed Overload Torque:"
         '
         'Label2
         '
         Me.Label2.AutoSize = true
-        Me.Label2.Location = New System.Drawing.Point(344, 11)
-        Me.Label2.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.Label2.Location = New System.Drawing.Point(229, 7)
         Me.Label2.Name = "Label2"
-        Me.Label2.Size = New System.Drawing.Size(44, 20)
+        Me.Label2.Size = New System.Drawing.Size(30, 13)
         Me.Label2.TabIndex = 24
         Me.Label2.Text = "[rpm]"
         '
         'tbOvlSpeedHi
         '
-        Me.tbOvlSpeedHi.Location = New System.Drawing.Point(266, 8)
-        Me.tbOvlSpeedHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbOvlSpeedHi.Location = New System.Drawing.Point(177, 5)
         Me.tbOvlSpeedHi.Name = "tbOvlSpeedHi"
-        Me.tbOvlSpeedHi.Size = New System.Drawing.Size(72, 26)
+        Me.tbOvlSpeedHi.Size = New System.Drawing.Size(49, 20)
         Me.tbOvlSpeedHi.TabIndex = 3
         '
         'Panel7
@@ -985,38 +922,34 @@ Partial Class ElectricMotorForm
         Me.Panel7.Controls.Add(Me.Label3)
         Me.Panel7.Controls.Add(Me.Label4)
         Me.Panel7.Controls.Add(Me.tbOverloadTqHi)
-        Me.Panel7.Location = New System.Drawing.Point(7, 231)
-        Me.Panel7.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.Panel7.Location = New System.Drawing.Point(5, 150)
         Me.Panel7.Name = "Panel7"
-        Me.Panel7.Size = New System.Drawing.Size(332, 46)
+        Me.Panel7.Size = New System.Drawing.Size(221, 30)
         Me.Panel7.TabIndex = 53
         '
         'Label3
         '
         Me.Label3.AutoSize = true
-        Me.Label3.Location = New System.Drawing.Point(4, 11)
-        Me.Label3.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.Label3.Location = New System.Drawing.Point(3, 7)
         Me.Label3.Name = "Label3"
-        Me.Label3.Size = New System.Drawing.Size(130, 20)
+        Me.Label3.Size = New System.Drawing.Size(90, 13)
         Me.Label3.TabIndex = 0
         Me.Label3.Text = "Overload Torque:"
         '
         'Label4
         '
         Me.Label4.AutoSize = true
-        Me.Label4.Location = New System.Drawing.Point(273, 12)
-        Me.Label4.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.Label4.Location = New System.Drawing.Point(182, 8)
         Me.Label4.Name = "Label4"
-        Me.Label4.Size = New System.Drawing.Size(41, 20)
+        Me.Label4.Size = New System.Drawing.Size(29, 13)
         Me.Label4.TabIndex = 24
         Me.Label4.Text = "[Nm]"
         '
         'tbOverloadTqHi
         '
-        Me.tbOverloadTqHi.Location = New System.Drawing.Point(190, 8)
-        Me.tbOverloadTqHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbOverloadTqHi.Location = New System.Drawing.Point(127, 5)
         Me.tbOverloadTqHi.Name = "tbOverloadTqHi"
-        Me.tbOverloadTqHi.Size = New System.Drawing.Size(72, 26)
+        Me.tbOverloadTqHi.Size = New System.Drawing.Size(49, 20)
         Me.tbOverloadTqHi.TabIndex = 3
         '
         'Panel8
@@ -1024,38 +957,34 @@ Partial Class ElectricMotorForm
         Me.Panel8.Controls.Add(Me.Label5)
         Me.Panel8.Controls.Add(Me.Label6)
         Me.Panel8.Controls.Add(Me.tbRatedSpeedHi)
-        Me.Panel8.Location = New System.Drawing.Point(339, 184)
-        Me.Panel8.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.Panel8.Location = New System.Drawing.Point(226, 120)
         Me.Panel8.Name = "Panel8"
-        Me.Panel8.Size = New System.Drawing.Size(392, 46)
+        Me.Panel8.Size = New System.Drawing.Size(261, 30)
         Me.Panel8.TabIndex = 54
         '
         'Label5
         '
         Me.Label5.AutoSize = true
-        Me.Label5.Location = New System.Drawing.Point(4, 11)
-        Me.Label5.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.Label5.Location = New System.Drawing.Point(3, 7)
         Me.Label5.Name = "Label5"
-        Me.Label5.Size = New System.Drawing.Size(234, 20)
+        Me.Label5.Size = New System.Drawing.Size(158, 13)
         Me.Label5.TabIndex = 0
         Me.Label5.Text = "Test Speed Continuous Torque:"
         '
         'Label6
         '
         Me.Label6.AutoSize = true
-        Me.Label6.Location = New System.Drawing.Point(344, 11)
-        Me.Label6.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.Label6.Location = New System.Drawing.Point(229, 7)
         Me.Label6.Name = "Label6"
-        Me.Label6.Size = New System.Drawing.Size(44, 20)
+        Me.Label6.Size = New System.Drawing.Size(30, 13)
         Me.Label6.TabIndex = 24
         Me.Label6.Text = "[rpm]"
         '
         'tbRatedSpeedHi
         '
-        Me.tbRatedSpeedHi.Location = New System.Drawing.Point(266, 8)
-        Me.tbRatedSpeedHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbRatedSpeedHi.Location = New System.Drawing.Point(177, 5)
         Me.tbRatedSpeedHi.Name = "tbRatedSpeedHi"
-        Me.tbRatedSpeedHi.Size = New System.Drawing.Size(72, 26)
+        Me.tbRatedSpeedHi.Size = New System.Drawing.Size(49, 20)
         Me.tbRatedSpeedHi.TabIndex = 3
         '
         'Panel9
@@ -1063,38 +992,34 @@ Partial Class ElectricMotorForm
         Me.Panel9.Controls.Add(Me.Label7)
         Me.Panel9.Controls.Add(Me.Label8)
         Me.Panel9.Controls.Add(Me.tbOvlTimeHi)
-        Me.Panel9.Location = New System.Drawing.Point(7, 279)
-        Me.Panel9.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.Panel9.Location = New System.Drawing.Point(5, 181)
         Me.Panel9.Name = "Panel9"
-        Me.Panel9.Size = New System.Drawing.Size(332, 46)
+        Me.Panel9.Size = New System.Drawing.Size(221, 30)
         Me.Panel9.TabIndex = 51
         '
         'Label7
         '
         Me.Label7.AutoSize = true
-        Me.Label7.Location = New System.Drawing.Point(4, 11)
-        Me.Label7.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.Label7.Location = New System.Drawing.Point(3, 7)
         Me.Label7.Name = "Label7"
-        Me.Label7.Size = New System.Drawing.Size(141, 20)
+        Me.Label7.Size = New System.Drawing.Size(96, 13)
         Me.Label7.TabIndex = 0
         Me.Label7.Text = "Overload Duration:"
         '
         'Label8
         '
         Me.Label8.AutoSize = true
-        Me.Label8.Location = New System.Drawing.Point(270, 11)
-        Me.Label8.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.Label8.Location = New System.Drawing.Point(180, 7)
         Me.Label8.Name = "Label8"
-        Me.Label8.Size = New System.Drawing.Size(25, 20)
+        Me.Label8.Size = New System.Drawing.Size(18, 13)
         Me.Label8.TabIndex = 24
         Me.Label8.Text = "[s]"
         '
         'tbOvlTimeHi
         '
-        Me.tbOvlTimeHi.Location = New System.Drawing.Point(190, 8)
-        Me.tbOvlTimeHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbOvlTimeHi.Location = New System.Drawing.Point(127, 5)
         Me.tbOvlTimeHi.Name = "tbOvlTimeHi"
-        Me.tbOvlTimeHi.Size = New System.Drawing.Size(72, 26)
+        Me.tbOvlTimeHi.Size = New System.Drawing.Size(49, 20)
         Me.tbOvlTimeHi.TabIndex = 3
         '
         'Panel10
@@ -1102,47 +1027,43 @@ Partial Class ElectricMotorForm
         Me.Panel10.Controls.Add(Me.Label9)
         Me.Panel10.Controls.Add(Me.Label10)
         Me.Panel10.Controls.Add(Me.tbContTqHi)
-        Me.Panel10.Location = New System.Drawing.Point(7, 184)
-        Me.Panel10.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.Panel10.Location = New System.Drawing.Point(5, 120)
         Me.Panel10.Name = "Panel10"
-        Me.Panel10.Size = New System.Drawing.Size(332, 46)
+        Me.Panel10.Size = New System.Drawing.Size(221, 30)
         Me.Panel10.TabIndex = 52
         '
         'Label9
         '
         Me.Label9.AutoSize = true
-        Me.Label9.Location = New System.Drawing.Point(4, 11)
-        Me.Label9.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.Label9.Location = New System.Drawing.Point(3, 7)
         Me.Label9.Name = "Label9"
-        Me.Label9.Size = New System.Drawing.Size(148, 20)
+        Me.Label9.Size = New System.Drawing.Size(100, 13)
         Me.Label9.TabIndex = 0
         Me.Label9.Text = "Continuous Torque:"
         '
         'Label10
         '
         Me.Label10.AutoSize = true
-        Me.Label10.Location = New System.Drawing.Point(273, 12)
-        Me.Label10.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
+        Me.Label10.Location = New System.Drawing.Point(182, 8)
         Me.Label10.Name = "Label10"
-        Me.Label10.Size = New System.Drawing.Size(41, 20)
+        Me.Label10.Size = New System.Drawing.Size(29, 13)
         Me.Label10.TabIndex = 24
         Me.Label10.Text = "[Nm]"
         '
         'tbContTqHi
         '
-        Me.tbContTqHi.Location = New System.Drawing.Point(190, 8)
-        Me.tbContTqHi.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
+        Me.tbContTqHi.Location = New System.Drawing.Point(127, 5)
         Me.tbContTqHi.Name = "tbContTqHi"
-        Me.tbContTqHi.Size = New System.Drawing.Size(72, 26)
+        Me.tbContTqHi.Size = New System.Drawing.Size(49, 20)
         Me.tbContTqHi.TabIndex = 3
         '
         'ElectricMotorForm
         '
         Me.AcceptButton = Me.ButOK
-        Me.AutoScaleDimensions = New System.Drawing.SizeF(9!, 20!)
+        Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!)
         Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
         Me.CancelButton = Me.ButCancel
-        Me.ClientSize = New System.Drawing.Size(1412, 720)
+        Me.ClientSize = New System.Drawing.Size(941, 468)
         Me.Controls.Add(Me.tcVoltageLevels)
         Me.Controls.Add(Me.Panel3)
         Me.Controls.Add(Me.PicBox)
@@ -1161,7 +1082,6 @@ Partial Class ElectricMotorForm
         Me.Controls.Add(Me.btnBrowseDragCurve)
         Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
         Me.Icon = CType(resources.GetObject("$this.Icon"),System.Drawing.Icon)
-        Me.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
         Me.MaximizeBox = false
         Me.Name = "ElectricMotorForm"
         Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
diff --git a/VECTO/GUI/ElectricMotorForm.vb b/VECTO/GUI/ElectricMotorForm.vb
index 409b1c430aa3006be4d98f3421ee14ff33812b55..702d9efabbd26e02377a1053014d5f9a50b1ed11 100644
--- a/VECTO/GUI/ElectricMotorForm.vb
+++ b/VECTO/GUI/ElectricMotorForm.vb
@@ -573,12 +573,17 @@ Public Class ElectricMotorForm
             OpenFiles(FileRepl(tbDragTorque.Text, GetPath(_emFile)))
         End If
     End Sub
-
-    Private Sub btnBrowseEmMapLow_Click(sender As Object, e As EventArgs) Handles btnBrowseEmMapLow.Click
+    
+    Private Sub btnBrowseMaxTorqueLow_Click(sender As Object, e As EventArgs) Handles btnBrowseMaxTorqueLow.Click
         If ElectricMachineMaxTorqueFileBrowser.OpenDialog(FileRepl(tbMaxTorqueLow.Text, GetPath(_emFile))) Then _
             tbMaxTorqueLow.Text = GetFilenameWithoutDirectory(ElectricMachineMaxTorqueFileBrowser.Files(0), GetPath(_emFile))
     End Sub
 
+    Private Sub btnBrowseEmMapLow_Click(sender As Object, e As EventArgs) Handles btnBrowseEmMapLow.Click
+        If ElectricMachineEfficiencyMapFileBrowser.OpenDialog(FileRepl(tbMapLow.Text, GetPath(_emFile))) Then _
+            tbMapLow.Text = GetFilenameWithoutDirectory(ElectricMachineEfficiencyMapFileBrowser.Files(0), GetPath(_emFile))
+    End Sub
+    
     Private Sub btnEmMapOpenLow_Click(sender As Object, e As EventArgs) Handles btnEmMapOpenLow.Click
         Dim theFile As String
 
@@ -590,4 +595,16 @@ Public Class ElectricMotorForm
             OpenFiles(FileRepl(tbMapLow.Text, GetPath(_emFile)))
         End If
     End Sub
+
+    Private Sub btnMaxTorqueCurveOpenLow_Click(sender As Object, e As EventArgs) Handles btnMaxTorqueCurveOpenLow.Click
+        Dim theFile As String
+
+        theFile = FileRepl(tbMaxTorqueLow.Text, GetPath(_emFile))
+
+        If theFile <> NoFile AndAlso File.Exists(theFile) Then
+            OpenFiles(FileRepl(tbMaxTorqueLow.Text, GetPath(_emFile)), theFile)
+        Else
+            OpenFiles(FileRepl(tbMaxTorqueLow.Text, GetPath(_emFile)))
+        End If
+    End Sub
 End Class
diff --git a/VECTO/GUI/IEPCForm.Designer.vb b/VECTO/GUI/IEPCForm.Designer.vb
new file mode 100644
index 0000000000000000000000000000000000000000..bb117b7b7befd624dc211180d236dfbf2936de05
--- /dev/null
+++ b/VECTO/GUI/IEPCForm.Designer.vb
@@ -0,0 +1,1522 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
+Partial Class IEPCForm
+	Inherits System.Windows.Forms.Form
+
+	'Form overrides dispose to clean up the component list.
+	<System.Diagnostics.DebuggerNonUserCode()>
+	Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+		Try
+			If disposing AndAlso components IsNot Nothing Then
+				components.Dispose()
+			End If
+		Finally
+			MyBase.Dispose(disposing)
+		End Try
+	End Sub
+
+	'Required by the Windows Form Designer
+	Private components As System.ComponentModel.IContainer
+
+	'NOTE: The following procedure is required by the Windows Form Designer
+	'It can be modified using the Windows Form Designer.  
+	'Do not modify it using the code editor.
+	<System.Diagnostics.DebuggerStepThrough()>
+	Private Sub InitializeComponent()
+        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(IEPCForm))
+        Me.btFLCurveFile1 = New System.Windows.Forms.Button()
+        Me.tbThermalOverload = New System.Windows.Forms.TextBox()
+        Me.Label52 = New System.Windows.Forms.Label()
+        Me.Label48 = New System.Windows.Forms.Label()
+        Me.tbNumberOfDesignTypeWheelMotor = New System.Windows.Forms.TextBox()
+        Me.Label51 = New System.Windows.Forms.Label()
+        Me.tbInertia = New System.Windows.Forms.TextBox()
+        Me.Label49 = New System.Windows.Forms.Label()
+        Me.tbModel = New System.Windows.Forms.TextBox()
+        Me.tcVoltageLevels = New System.Windows.Forms.TabControl()
+        Me.tpFirstVoltageLevel = New System.Windows.Forms.TabPage()
+        Me.TableLayoutPanel7 = New System.Windows.Forms.TableLayoutPanel()
+        Me.Label44 = New System.Windows.Forms.Label()
+        Me.tbFLCurve1 = New System.Windows.Forms.TextBox()
+        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
+        Me.Label11 = New System.Windows.Forms.Label()
+        Me.Label4 = New System.Windows.Forms.Label()
+        Me.Label13 = New System.Windows.Forms.Label()
+        Me.Label43 = New System.Windows.Forms.Label()
+        Me.Label37 = New System.Windows.Forms.Label()
+        Me.tbOverloadTime1 = New System.Windows.Forms.TextBox()
+        Me.tbVoltage1 = New System.Windows.Forms.TextBox()
+        Me.Label39 = New System.Windows.Forms.Label()
+        Me.Label1 = New System.Windows.Forms.Label()
+        Me.tbContinousTorque1 = New System.Windows.Forms.TextBox()
+        Me.tbContinousTorqueSpeed1 = New System.Windows.Forms.TextBox()
+        Me.Label15 = New System.Windows.Forms.Label()
+        Me.Label42 = New System.Windows.Forms.Label()
+        Me.Label14 = New System.Windows.Forms.Label()
+        Me.tboverloadTorqueSpeed1 = New System.Windows.Forms.TextBox()
+        Me.Label41 = New System.Windows.Forms.Label()
+        Me.tbOverloadTorque1 = New System.Windows.Forms.TextBox()
+        Me.Label12 = New System.Windows.Forms.Label()
+        Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+        Me.TableLayoutPanel6 = New System.Windows.Forms.TableLayoutPanel()
+        Me.Label47 = New System.Windows.Forms.Label()
+        Me.lvPowerMap1 = New System.Windows.Forms.ListView()
+        Me.ColumnHeader13 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+        Me.ColumnHeader14 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+        Me.tpVoltageLevel = New System.Windows.Forms.TabPage()
+        Me.GroupBox4 = New System.Windows.Forms.GroupBox()
+        Me.TableLayoutPanel9 = New System.Windows.Forms.TableLayoutPanel()
+        Me.Label31 = New System.Windows.Forms.Label()
+        Me.lvPowerMap2 = New System.Windows.Forms.ListView()
+        Me.ColumnHeader6 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+        Me.ColumnHeader7 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+        Me.TableLayoutPanel5 = New System.Windows.Forms.TableLayoutPanel()
+        Me.tbFLCurve2 = New System.Windows.Forms.TextBox()
+        Me.btFLCurveFile2 = New System.Windows.Forms.Button()
+        Me.Label28 = New System.Windows.Forms.Label()
+        Me.TableLayoutPanel4 = New System.Windows.Forms.TableLayoutPanel()
+        Me.Label17 = New System.Windows.Forms.Label()
+        Me.Label18 = New System.Windows.Forms.Label()
+        Me.Label26 = New System.Windows.Forms.Label()
+        Me.Label19 = New System.Windows.Forms.Label()
+        Me.tbOverloadTime2 = New System.Windows.Forms.TextBox()
+        Me.Label24 = New System.Windows.Forms.Label()
+        Me.tbVoltage2 = New System.Windows.Forms.TextBox()
+        Me.Label20 = New System.Windows.Forms.Label()
+        Me.Label21 = New System.Windows.Forms.Label()
+        Me.tbContinousTorque2 = New System.Windows.Forms.TextBox()
+        Me.tbContinousTorqueSpeed2 = New System.Windows.Forms.TextBox()
+        Me.Label27 = New System.Windows.Forms.Label()
+        Me.Label23 = New System.Windows.Forms.Label()
+        Me.tbOverloadTorqueSpeed2 = New System.Windows.Forms.TextBox()
+        Me.Label25 = New System.Windows.Forms.Label()
+        Me.Label22 = New System.Windows.Forms.Label()
+        Me.tbOverloadTorque2 = New System.Windows.Forms.TextBox()
+        Me.Label16 = New System.Windows.Forms.Label()
+        Me.TableLayoutPanel2 = New System.Windows.Forms.TableLayoutPanel()
+        Me.Label6 = New System.Windows.Forms.Label()
+        Me.Label5 = New System.Windows.Forms.Label()
+        Me.cbDifferentialIncluded = New System.Windows.Forms.CheckBox()
+        Me.Label2 = New System.Windows.Forms.Label()
+        Me.Label7 = New System.Windows.Forms.Label()
+        Me.Label10 = New System.Windows.Forms.Label()
+        Me.Label3 = New System.Windows.Forms.Label()
+        Me.cbDesignTypeWheelMotor = New System.Windows.Forms.CheckBox()
+        Me.Label8 = New System.Windows.Forms.Label()
+        Me.Label9 = New System.Windows.Forms.Label()
+        Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+        Me.TableLayoutPanel3 = New System.Windows.Forms.TableLayoutPanel()
+        Me.lvGear = New System.Windows.Forms.ListView()
+        Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+        Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+        Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+        Me.FlowLayoutPanel2 = New System.Windows.Forms.FlowLayoutPanel()
+        Me.btAddGear = New System.Windows.Forms.Button()
+        Me.btRemoveGear = New System.Windows.Forms.Button()
+        Me.Label30 = New System.Windows.Forms.Label()
+        Me.GroupBox3 = New System.Windows.Forms.GroupBox()
+        Me.TableLayoutPanel8 = New System.Windows.Forms.TableLayoutPanel()
+        Me.lvDragCurve = New System.Windows.Forms.ListView()
+        Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+        Me.ColumnHeader5 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+        Me.Label29 = New System.Windows.Forms.Label()
+        Me.FlowLayoutPanel3 = New System.Windows.Forms.FlowLayoutPanel()
+        Me.btAddDragCurve = New System.Windows.Forms.Button()
+        Me.btRemoveDragCurve = New System.Windows.Forms.Button()
+        Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
+        Me.ToolStripBtNew = New System.Windows.Forms.ToolStripButton()
+        Me.ToolStripBtOpen = New System.Windows.Forms.ToolStripButton()
+        Me.ToolStripBtSave = New System.Windows.Forms.ToolStripButton()
+        Me.ToolStripBtSaveAs = New System.Windows.Forms.ToolStripButton()
+        Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator()
+        Me.ToolStripBtSendTo = New System.Windows.Forms.ToolStripButton()
+        Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
+        Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton()
+        Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+        Me.lblTitle = New System.Windows.Forms.Label()
+        Me.ButCancel = New System.Windows.Forms.Button()
+        Me.ButOK = New System.Windows.Forms.Button()
+        Me.tcVoltageLevels.SuspendLayout
+        Me.tpFirstVoltageLevel.SuspendLayout
+        Me.TableLayoutPanel7.SuspendLayout
+        Me.TableLayoutPanel1.SuspendLayout
+        Me.GroupBox2.SuspendLayout
+        Me.TableLayoutPanel6.SuspendLayout
+        Me.tpVoltageLevel.SuspendLayout
+        Me.GroupBox4.SuspendLayout
+        Me.TableLayoutPanel9.SuspendLayout
+        Me.TableLayoutPanel5.SuspendLayout
+        Me.TableLayoutPanel4.SuspendLayout
+        Me.TableLayoutPanel2.SuspendLayout
+        Me.GroupBox1.SuspendLayout
+        Me.TableLayoutPanel3.SuspendLayout
+        Me.FlowLayoutPanel2.SuspendLayout
+        Me.GroupBox3.SuspendLayout
+        Me.TableLayoutPanel8.SuspendLayout
+        Me.FlowLayoutPanel3.SuspendLayout
+        Me.ToolStrip1.SuspendLayout
+        CType(Me.PictureBox1,System.ComponentModel.ISupportInitialize).BeginInit
+        Me.SuspendLayout
+        '
+        'btFLCurveFile1
+        '
+        Me.btFLCurveFile1.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.btFLCurveFile1.Image = CType(resources.GetObject("btFLCurveFile1.Image"),System.Drawing.Image)
+        Me.btFLCurveFile1.Location = New System.Drawing.Point(295, 24)
+        Me.btFLCurveFile1.Name = "btFLCurveFile1"
+        Me.btFLCurveFile1.Size = New System.Drawing.Size(24, 24)
+        Me.btFLCurveFile1.TabIndex = 29
+        Me.btFLCurveFile1.UseVisualStyleBackColor = true
+        '
+        'tbThermalOverload
+        '
+        Me.tbThermalOverload.Anchor = System.Windows.Forms.AnchorStyles.Left
+        Me.tbThermalOverload.Location = New System.Drawing.Point(666, 32)
+        Me.tbThermalOverload.Name = "tbThermalOverload"
+        Me.tbThermalOverload.Size = New System.Drawing.Size(57, 20)
+        Me.tbThermalOverload.TabIndex = 51
+        '
+        'Label52
+        '
+        Me.Label52.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label52.AutoSize = true
+        Me.Label52.Location = New System.Drawing.Point(517, 29)
+        Me.Label52.Name = "Label52"
+        Me.Label52.Size = New System.Drawing.Size(143, 26)
+        Me.Label52.TabIndex = 50
+        Me.Label52.Text = "Thermal Overload Recovery Factor"
+        '
+        'Label48
+        '
+        Me.Label48.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label48.AutoSize = true
+        Me.Label48.Location = New System.Drawing.Point(176, 35)
+        Me.Label48.Name = "Label48"
+        Me.Label48.Size = New System.Drawing.Size(207, 13)
+        Me.Label48.TabIndex = 48
+        Me.Label48.Text = "Nr of Design Type Wheel Motor Measured"
+        '
+        'tbNumberOfDesignTypeWheelMotor
+        '
+        Me.tbNumberOfDesignTypeWheelMotor.Anchor = System.Windows.Forms.AnchorStyles.Left
+        Me.tbNumberOfDesignTypeWheelMotor.Enabled = false
+        Me.tbNumberOfDesignTypeWheelMotor.Location = New System.Drawing.Point(389, 32)
+        Me.tbNumberOfDesignTypeWheelMotor.Name = "tbNumberOfDesignTypeWheelMotor"
+        Me.tbNumberOfDesignTypeWheelMotor.Size = New System.Drawing.Size(57, 20)
+        Me.tbNumberOfDesignTypeWheelMotor.TabIndex = 49
+        '
+        'Label51
+        '
+        Me.Label51.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label51.AutoSize = true
+        Me.Label51.Location = New System.Drawing.Point(13, 35)
+        Me.Label51.Name = "Label51"
+        Me.Label51.Size = New System.Drawing.Size(36, 13)
+        Me.Label51.TabIndex = 45
+        Me.Label51.Text = "Inertia"
+        '
+        'tbInertia
+        '
+        Me.tbInertia.Anchor = System.Windows.Forms.AnchorStyles.Left
+        Me.tbInertia.Location = New System.Drawing.Point(55, 32)
+        Me.tbInertia.Name = "tbInertia"
+        Me.tbInertia.Size = New System.Drawing.Size(57, 20)
+        Me.tbInertia.TabIndex = 46
+        '
+        'Label49
+        '
+        Me.Label49.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label49.AutoSize = true
+        Me.Label49.Location = New System.Drawing.Point(13, 7)
+        Me.Label49.Name = "Label49"
+        Me.Label49.Size = New System.Drawing.Size(36, 13)
+        Me.Label49.TabIndex = 43
+        Me.Label49.Text = "Model"
+        '
+        'tbModel
+        '
+        Me.tbModel.Anchor = System.Windows.Forms.AnchorStyles.Left
+        Me.tbModel.Location = New System.Drawing.Point(55, 3)
+        Me.tbModel.Name = "tbModel"
+        Me.tbModel.Size = New System.Drawing.Size(86, 20)
+        Me.tbModel.TabIndex = 44
+        '
+        'tcVoltageLevels
+        '
+        Me.tcVoltageLevels.Anchor = System.Windows.Forms.AnchorStyles.Top
+        Me.tcVoltageLevels.Controls.Add(Me.tpFirstVoltageLevel)
+        Me.tcVoltageLevels.Controls.Add(Me.tpVoltageLevel)
+        Me.tcVoltageLevels.Location = New System.Drawing.Point(14, 184)
+        Me.tcVoltageLevels.Name = "tcVoltageLevels"
+        Me.tcVoltageLevels.SelectedIndex = 0
+        Me.tcVoltageLevels.Size = New System.Drawing.Size(517, 368)
+        Me.tcVoltageLevels.TabIndex = 41
+        '
+        'tpFirstVoltageLevel
+        '
+        Me.tpFirstVoltageLevel.Controls.Add(Me.TableLayoutPanel7)
+        Me.tpFirstVoltageLevel.Controls.Add(Me.TableLayoutPanel1)
+        Me.tpFirstVoltageLevel.Controls.Add(Me.GroupBox2)
+        Me.tpFirstVoltageLevel.Location = New System.Drawing.Point(4, 22)
+        Me.tpFirstVoltageLevel.Name = "tpFirstVoltageLevel"
+        Me.tpFirstVoltageLevel.Padding = New System.Windows.Forms.Padding(3)
+        Me.tpFirstVoltageLevel.Size = New System.Drawing.Size(509, 342)
+        Me.tpFirstVoltageLevel.TabIndex = 0
+        Me.tpFirstVoltageLevel.Text = "First Voltage Level"
+        Me.tpFirstVoltageLevel.UseVisualStyleBackColor = true
+        '
+        'TableLayoutPanel7
+        '
+        Me.TableLayoutPanel7.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.TableLayoutPanel7.ColumnCount = 2
+        Me.TableLayoutPanel7.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 292!))
+        Me.TableLayoutPanel7.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 31!))
+        Me.TableLayoutPanel7.Controls.Add(Me.Label44, 0, 0)
+        Me.TableLayoutPanel7.Controls.Add(Me.btFLCurveFile1, 1, 1)
+        Me.TableLayoutPanel7.Controls.Add(Me.tbFLCurve1, 0, 1)
+        Me.TableLayoutPanel7.Location = New System.Drawing.Point(6, 91)
+        Me.TableLayoutPanel7.Name = "TableLayoutPanel7"
+        Me.TableLayoutPanel7.RowCount = 2
+        Me.TableLayoutPanel7.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 35.71429!))
+        Me.TableLayoutPanel7.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 64.28571!))
+        Me.TableLayoutPanel7.Size = New System.Drawing.Size(323, 54)
+        Me.TableLayoutPanel7.TabIndex = 53
+        '
+        'Label44
+        '
+        Me.Label44.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles)
+        Me.Label44.AutoSize = true
+        Me.Label44.Location = New System.Drawing.Point(3, 6)
+        Me.Label44.Name = "Label44"
+        Me.Label44.Size = New System.Drawing.Size(125, 13)
+        Me.Label44.TabIndex = 59
+        Me.Label44.Text = "Full Load Curve (.viepcp)"
+        '
+        'tbFLCurve1
+        '
+        Me.tbFLCurve1.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbFLCurve1.Location = New System.Drawing.Point(3, 26)
+        Me.tbFLCurve1.Name = "tbFLCurve1"
+        Me.tbFLCurve1.Size = New System.Drawing.Size(286, 20)
+        Me.tbFLCurve1.TabIndex = 60
+        '
+        'TableLayoutPanel1
+        '
+        Me.TableLayoutPanel1.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.TableLayoutPanel1.ColumnCount = 6
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 140!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 65!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 40!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 140!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 65!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 46!))
+        Me.TableLayoutPanel1.Controls.Add(Me.Label11, 2, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label4, 2, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label13, 5, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label43, 3, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label37, 0, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbOverloadTime1, 4, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbVoltage1, 1, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label39, 0, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label1, 0, 2)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbContinousTorque1, 1, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbContinousTorqueSpeed1, 1, 2)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label15, 2, 2)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label42, 3, 2)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label14, 5, 2)
+        Me.TableLayoutPanel1.Controls.Add(Me.tboverloadTorqueSpeed1, 4, 2)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label41, 3, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbOverloadTorque1, 4, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label12, 5, 1)
+        Me.TableLayoutPanel1.Location = New System.Drawing.Point(6, 6)
+        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+        Me.TableLayoutPanel1.RowCount = 3
+        Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 27!))
+        Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 27!))
+        Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 27!))
+        Me.TableLayoutPanel1.Size = New System.Drawing.Size(496, 82)
+        Me.TableLayoutPanel1.TabIndex = 61
+        '
+        'Label11
+        '
+        Me.Label11.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label11.AutoSize = true
+        Me.Label11.Location = New System.Drawing.Point(210, 34)
+        Me.Label11.Name = "Label11"
+        Me.Label11.Size = New System.Drawing.Size(29, 13)
+        Me.Label11.TabIndex = 63
+        Me.Label11.Text = "[Nm]"
+        '
+        'Label4
+        '
+        Me.Label4.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label4.AutoSize = true
+        Me.Label4.Location = New System.Drawing.Point(215, 7)
+        Me.Label4.Name = "Label4"
+        Me.Label4.Size = New System.Drawing.Size(20, 13)
+        Me.Label4.TabIndex = 62
+        Me.Label4.Text = "[V]"
+        '
+        'Label13
+        '
+        Me.Label13.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label13.AutoSize = true
+        Me.Label13.Location = New System.Drawing.Point(458, 7)
+        Me.Label13.Name = "Label13"
+        Me.Label13.Size = New System.Drawing.Size(30, 13)
+        Me.Label13.TabIndex = 65
+        Me.Label13.Text = "[sec]"
+        '
+        'Label43
+        '
+        Me.Label43.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label43.AutoSize = true
+        Me.Label43.Location = New System.Drawing.Point(306, 7)
+        Me.Label43.Name = "Label43"
+        Me.Label43.Size = New System.Drawing.Size(76, 13)
+        Me.Label43.TabIndex = 11
+        Me.Label43.Text = "Overload Time"
+        '
+        'Label37
+        '
+        Me.Label37.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label37.AutoSize = true
+        Me.Label37.Location = New System.Drawing.Point(94, 7)
+        Me.Label37.Name = "Label37"
+        Me.Label37.Size = New System.Drawing.Size(43, 13)
+        Me.Label37.TabIndex = 1
+        Me.Label37.Text = "Voltage"
+        '
+        'tbOverloadTime1
+        '
+        Me.tbOverloadTime1.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbOverloadTime1.Location = New System.Drawing.Point(389, 3)
+        Me.tbOverloadTime1.Name = "tbOverloadTime1"
+        Me.tbOverloadTime1.Size = New System.Drawing.Size(57, 20)
+        Me.tbOverloadTime1.TabIndex = 12
+        '
+        'tbVoltage1
+        '
+        Me.tbVoltage1.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbVoltage1.Location = New System.Drawing.Point(144, 3)
+        Me.tbVoltage1.Name = "tbVoltage1"
+        Me.tbVoltage1.Size = New System.Drawing.Size(57, 20)
+        Me.tbVoltage1.TabIndex = 2
+        '
+        'Label39
+        '
+        Me.Label39.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label39.AutoSize = true
+        Me.Label39.Location = New System.Drawing.Point(40, 34)
+        Me.Label39.Name = "Label39"
+        Me.Label39.Size = New System.Drawing.Size(97, 13)
+        Me.Label39.TabIndex = 3
+        Me.Label39.Text = "Continuous Torque"
+        '
+        'Label1
+        '
+        Me.Label1.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label1.AutoSize = true
+        Me.Label1.Location = New System.Drawing.Point(6, 61)
+        Me.Label1.Name = "Label1"
+        Me.Label1.Size = New System.Drawing.Size(131, 13)
+        Me.Label1.TabIndex = 6
+        Me.Label1.Text = "Continuous Torque Speed"
+        '
+        'tbContinousTorque1
+        '
+        Me.tbContinousTorque1.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbContinousTorque1.Location = New System.Drawing.Point(144, 30)
+        Me.tbContinousTorque1.Name = "tbContinousTorque1"
+        Me.tbContinousTorque1.Size = New System.Drawing.Size(57, 20)
+        Me.tbContinousTorque1.TabIndex = 4
+        '
+        'tbContinousTorqueSpeed1
+        '
+        Me.tbContinousTorqueSpeed1.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbContinousTorqueSpeed1.Location = New System.Drawing.Point(144, 58)
+        Me.tbContinousTorqueSpeed1.Name = "tbContinousTorqueSpeed1"
+        Me.tbContinousTorqueSpeed1.Size = New System.Drawing.Size(57, 20)
+        Me.tbContinousTorqueSpeed1.TabIndex = 6
+        '
+        'Label15
+        '
+        Me.Label15.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label15.AutoSize = true
+        Me.Label15.Location = New System.Drawing.Point(210, 61)
+        Me.Label15.Name = "Label15"
+        Me.Label15.Size = New System.Drawing.Size(30, 13)
+        Me.Label15.TabIndex = 67
+        Me.Label15.Text = "[rpm]"
+        '
+        'Label42
+        '
+        Me.Label42.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label42.AutoSize = true
+        Me.Label42.Location = New System.Drawing.Point(261, 61)
+        Me.Label42.Name = "Label42"
+        Me.Label42.Size = New System.Drawing.Size(121, 13)
+        Me.Label42.TabIndex = 9
+        Me.Label42.Text = "Overload Torque Speed"
+        '
+        'Label14
+        '
+        Me.Label14.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label14.AutoSize = true
+        Me.Label14.Location = New System.Drawing.Point(458, 61)
+        Me.Label14.Name = "Label14"
+        Me.Label14.Size = New System.Drawing.Size(30, 13)
+        Me.Label14.TabIndex = 66
+        Me.Label14.Text = "[rpm]"
+        '
+        'tboverloadTorqueSpeed1
+        '
+        Me.tboverloadTorqueSpeed1.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tboverloadTorqueSpeed1.Location = New System.Drawing.Point(389, 58)
+        Me.tboverloadTorqueSpeed1.Name = "tboverloadTorqueSpeed1"
+        Me.tboverloadTorqueSpeed1.Size = New System.Drawing.Size(57, 20)
+        Me.tboverloadTorqueSpeed1.TabIndex = 10
+        '
+        'Label41
+        '
+        Me.Label41.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label41.AutoSize = true
+        Me.Label41.Location = New System.Drawing.Point(295, 34)
+        Me.Label41.Name = "Label41"
+        Me.Label41.Size = New System.Drawing.Size(87, 13)
+        Me.Label41.TabIndex = 7
+        Me.Label41.Text = "Overload Torque"
+        '
+        'tbOverloadTorque1
+        '
+        Me.tbOverloadTorque1.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbOverloadTorque1.Location = New System.Drawing.Point(389, 30)
+        Me.tbOverloadTorque1.Name = "tbOverloadTorque1"
+        Me.tbOverloadTorque1.Size = New System.Drawing.Size(57, 20)
+        Me.tbOverloadTorque1.TabIndex = 8
+        '
+        'Label12
+        '
+        Me.Label12.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label12.AutoSize = true
+        Me.Label12.Location = New System.Drawing.Point(458, 34)
+        Me.Label12.Name = "Label12"
+        Me.Label12.Size = New System.Drawing.Size(29, 13)
+        Me.Label12.TabIndex = 64
+        Me.Label12.Text = "[Nm]"
+        '
+        'GroupBox2
+        '
+        Me.GroupBox2.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.GroupBox2.Controls.Add(Me.TableLayoutPanel6)
+        Me.GroupBox2.Location = New System.Drawing.Point(6, 151)
+        Me.GroupBox2.Name = "GroupBox2"
+        Me.GroupBox2.Size = New System.Drawing.Size(315, 162)
+        Me.GroupBox2.TabIndex = 60
+        Me.GroupBox2.TabStop = false
+        Me.GroupBox2.Text = "Power Map Per Gear"
+        '
+        'TableLayoutPanel6
+        '
+        Me.TableLayoutPanel6.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.TableLayoutPanel6.ColumnCount = 2
+        Me.TableLayoutPanel6.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 129!))
+        Me.TableLayoutPanel6.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 169!))
+        Me.TableLayoutPanel6.Controls.Add(Me.Label47, 1, 1)
+        Me.TableLayoutPanel6.Controls.Add(Me.lvPowerMap1, 0, 0)
+        Me.TableLayoutPanel6.Location = New System.Drawing.Point(6, 13)
+        Me.TableLayoutPanel6.Name = "TableLayoutPanel6"
+        Me.TableLayoutPanel6.RowCount = 2
+        Me.TableLayoutPanel6.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 88.81119!))
+        Me.TableLayoutPanel6.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 11.18881!))
+        Me.TableLayoutPanel6.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20!))
+        Me.TableLayoutPanel6.Size = New System.Drawing.Size(298, 143)
+        Me.TableLayoutPanel6.TabIndex = 53
+        '
+        'Label47
+        '
+        Me.Label47.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.Label47.AutoSize = true
+        Me.Label47.Location = New System.Drawing.Point(189, 126)
+        Me.Label47.Name = "Label47"
+        Me.Label47.Size = New System.Drawing.Size(106, 13)
+        Me.Label47.TabIndex = 6
+        Me.Label47.Text = "(Double-Click to Edit)"
+        '
+        'lvPowerMap1
+        '
+        Me.lvPowerMap1.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.lvPowerMap1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader13, Me.ColumnHeader14})
+        Me.TableLayoutPanel6.SetColumnSpan(Me.lvPowerMap1, 2)
+        Me.lvPowerMap1.FullRowSelect = true
+        Me.lvPowerMap1.GridLines = true
+        Me.lvPowerMap1.HideSelection = false
+        Me.lvPowerMap1.Location = New System.Drawing.Point(3, 3)
+        Me.lvPowerMap1.MultiSelect = false
+        Me.lvPowerMap1.Name = "lvPowerMap1"
+        Me.lvPowerMap1.Size = New System.Drawing.Size(292, 120)
+        Me.lvPowerMap1.TabIndex = 7
+        Me.lvPowerMap1.TabStop = false
+        Me.lvPowerMap1.UseCompatibleStateImageBehavior = false
+        Me.lvPowerMap1.View = System.Windows.Forms.View.Details
+        '
+        'ColumnHeader13
+        '
+        Me.ColumnHeader13.Text = "Gear #"
+        Me.ColumnHeader13.Width = 59
+        '
+        'ColumnHeader14
+        '
+        Me.ColumnHeader14.Text = "Power Map Filename"
+        Me.ColumnHeader14.Width = 223
+        '
+        'tpVoltageLevel
+        '
+        Me.tpVoltageLevel.Controls.Add(Me.GroupBox4)
+        Me.tpVoltageLevel.Controls.Add(Me.TableLayoutPanel5)
+        Me.tpVoltageLevel.Controls.Add(Me.TableLayoutPanel4)
+        Me.tpVoltageLevel.Location = New System.Drawing.Point(4, 22)
+        Me.tpVoltageLevel.Name = "tpVoltageLevel"
+        Me.tpVoltageLevel.Padding = New System.Windows.Forms.Padding(3)
+        Me.tpVoltageLevel.Size = New System.Drawing.Size(509, 342)
+        Me.tpVoltageLevel.TabIndex = 1
+        Me.tpVoltageLevel.Text = "Secondary Voltage Level"
+        Me.tpVoltageLevel.UseVisualStyleBackColor = true
+        '
+        'GroupBox4
+        '
+        Me.GroupBox4.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.GroupBox4.Controls.Add(Me.TableLayoutPanel9)
+        Me.GroupBox4.Location = New System.Drawing.Point(6, 149)
+        Me.GroupBox4.Name = "GroupBox4"
+        Me.GroupBox4.Size = New System.Drawing.Size(329, 184)
+        Me.GroupBox4.TabIndex = 64
+        Me.GroupBox4.TabStop = false
+        Me.GroupBox4.Text = "Power Map Per Gear"
+        '
+        'TableLayoutPanel9
+        '
+        Me.TableLayoutPanel9.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.TableLayoutPanel9.ColumnCount = 2
+        Me.TableLayoutPanel9.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 129!))
+        Me.TableLayoutPanel9.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 164!))
+        Me.TableLayoutPanel9.Controls.Add(Me.Label31, 1, 1)
+        Me.TableLayoutPanel9.Controls.Add(Me.lvPowerMap2, 0, 0)
+        Me.TableLayoutPanel9.Location = New System.Drawing.Point(9, 18)
+        Me.TableLayoutPanel9.Name = "TableLayoutPanel9"
+        Me.TableLayoutPanel9.RowCount = 2
+        Me.TableLayoutPanel9.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 88.125!))
+        Me.TableLayoutPanel9.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 11.875!))
+        Me.TableLayoutPanel9.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20!))
+        Me.TableLayoutPanel9.Size = New System.Drawing.Size(293, 160)
+        Me.TableLayoutPanel9.TabIndex = 53
+        '
+        'Label31
+        '
+        Me.Label31.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.Label31.AutoSize = true
+        Me.Label31.Location = New System.Drawing.Point(184, 141)
+        Me.Label31.Name = "Label31"
+        Me.Label31.Size = New System.Drawing.Size(106, 13)
+        Me.Label31.TabIndex = 6
+        Me.Label31.Text = "(Double-Click to Edit)"
+        '
+        'lvPowerMap2
+        '
+        Me.lvPowerMap2.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.lvPowerMap2.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader6, Me.ColumnHeader7})
+        Me.TableLayoutPanel9.SetColumnSpan(Me.lvPowerMap2, 2)
+        Me.lvPowerMap2.FullRowSelect = true
+        Me.lvPowerMap2.GridLines = true
+        Me.lvPowerMap2.HideSelection = false
+        Me.lvPowerMap2.Location = New System.Drawing.Point(3, 3)
+        Me.lvPowerMap2.MultiSelect = false
+        Me.lvPowerMap2.Name = "lvPowerMap2"
+        Me.lvPowerMap2.Size = New System.Drawing.Size(287, 135)
+        Me.lvPowerMap2.TabIndex = 7
+        Me.lvPowerMap2.TabStop = false
+        Me.lvPowerMap2.UseCompatibleStateImageBehavior = false
+        Me.lvPowerMap2.View = System.Windows.Forms.View.Details
+        '
+        'ColumnHeader6
+        '
+        Me.ColumnHeader6.Text = "Gear #"
+        Me.ColumnHeader6.Width = 59
+        '
+        'ColumnHeader7
+        '
+        Me.ColumnHeader7.Text = "Power Map Filename"
+        Me.ColumnHeader7.Width = 223
+        '
+        'TableLayoutPanel5
+        '
+        Me.TableLayoutPanel5.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.TableLayoutPanel5.ColumnCount = 2
+        Me.TableLayoutPanel5.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 297!))
+        Me.TableLayoutPanel5.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 67!))
+        Me.TableLayoutPanel5.Controls.Add(Me.tbFLCurve2, 0, 1)
+        Me.TableLayoutPanel5.Controls.Add(Me.btFLCurveFile2, 1, 1)
+        Me.TableLayoutPanel5.Controls.Add(Me.Label28, 0, 0)
+        Me.TableLayoutPanel5.Location = New System.Drawing.Point(7, 94)
+        Me.TableLayoutPanel5.Name = "TableLayoutPanel5"
+        Me.TableLayoutPanel5.RowCount = 2
+        Me.TableLayoutPanel5.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20!))
+        Me.TableLayoutPanel5.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25!))
+        Me.TableLayoutPanel5.Size = New System.Drawing.Size(329, 49)
+        Me.TableLayoutPanel5.TabIndex = 63
+        '
+        'tbFLCurve2
+        '
+        Me.tbFLCurve2.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbFLCurve2.Location = New System.Drawing.Point(3, 24)
+        Me.tbFLCurve2.Name = "tbFLCurve2"
+        Me.tbFLCurve2.Size = New System.Drawing.Size(291, 20)
+        Me.tbFLCurve2.TabIndex = 57
+        '
+        'btFLCurveFile2
+        '
+        Me.btFLCurveFile2.Image = CType(resources.GetObject("btFLCurveFile2.Image"),System.Drawing.Image)
+        Me.btFLCurveFile2.Location = New System.Drawing.Point(300, 23)
+        Me.btFLCurveFile2.Name = "btFLCurveFile2"
+        Me.btFLCurveFile2.Size = New System.Drawing.Size(24, 23)
+        Me.btFLCurveFile2.TabIndex = 29
+        Me.btFLCurveFile2.UseVisualStyleBackColor = true
+        '
+        'Label28
+        '
+        Me.Label28.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left),System.Windows.Forms.AnchorStyles)
+        Me.Label28.AutoSize = true
+        Me.Label28.Location = New System.Drawing.Point(3, 7)
+        Me.Label28.Name = "Label28"
+        Me.Label28.Size = New System.Drawing.Size(125, 13)
+        Me.Label28.TabIndex = 59
+        Me.Label28.Text = "Full Load Curve (.viepcp)"
+        '
+        'TableLayoutPanel4
+        '
+        Me.TableLayoutPanel4.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.TableLayoutPanel4.ColumnCount = 6
+        Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 140!))
+        Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 65!))
+        Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 40!))
+        Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 140!))
+        Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 65!))
+        Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 46!))
+        Me.TableLayoutPanel4.Controls.Add(Me.Label17, 2, 1)
+        Me.TableLayoutPanel4.Controls.Add(Me.Label18, 2, 0)
+        Me.TableLayoutPanel4.Controls.Add(Me.Label26, 5, 0)
+        Me.TableLayoutPanel4.Controls.Add(Me.Label19, 0, 0)
+        Me.TableLayoutPanel4.Controls.Add(Me.tbOverloadTime2, 4, 0)
+        Me.TableLayoutPanel4.Controls.Add(Me.Label24, 3, 0)
+        Me.TableLayoutPanel4.Controls.Add(Me.tbVoltage2, 1, 0)
+        Me.TableLayoutPanel4.Controls.Add(Me.Label20, 0, 1)
+        Me.TableLayoutPanel4.Controls.Add(Me.Label21, 0, 2)
+        Me.TableLayoutPanel4.Controls.Add(Me.tbContinousTorque2, 1, 1)
+        Me.TableLayoutPanel4.Controls.Add(Me.tbContinousTorqueSpeed2, 1, 2)
+        Me.TableLayoutPanel4.Controls.Add(Me.Label27, 2, 2)
+        Me.TableLayoutPanel4.Controls.Add(Me.Label23, 3, 2)
+        Me.TableLayoutPanel4.Controls.Add(Me.tbOverloadTorqueSpeed2, 4, 2)
+        Me.TableLayoutPanel4.Controls.Add(Me.Label25, 5, 2)
+        Me.TableLayoutPanel4.Controls.Add(Me.Label22, 3, 1)
+        Me.TableLayoutPanel4.Controls.Add(Me.tbOverloadTorque2, 4, 1)
+        Me.TableLayoutPanel4.Controls.Add(Me.Label16, 5, 1)
+        Me.TableLayoutPanel4.Location = New System.Drawing.Point(6, 6)
+        Me.TableLayoutPanel4.Name = "TableLayoutPanel4"
+        Me.TableLayoutPanel4.RowCount = 3
+        Me.TableLayoutPanel4.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 27!))
+        Me.TableLayoutPanel4.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 27!))
+        Me.TableLayoutPanel4.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 27!))
+        Me.TableLayoutPanel4.Size = New System.Drawing.Size(496, 82)
+        Me.TableLayoutPanel4.TabIndex = 62
+        '
+        'Label17
+        '
+        Me.Label17.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label17.AutoSize = true
+        Me.Label17.Location = New System.Drawing.Point(210, 34)
+        Me.Label17.Name = "Label17"
+        Me.Label17.Size = New System.Drawing.Size(29, 13)
+        Me.Label17.TabIndex = 63
+        Me.Label17.Text = "[Nm]"
+        '
+        'Label18
+        '
+        Me.Label18.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label18.AutoSize = true
+        Me.Label18.Location = New System.Drawing.Point(215, 7)
+        Me.Label18.Name = "Label18"
+        Me.Label18.Size = New System.Drawing.Size(20, 13)
+        Me.Label18.TabIndex = 62
+        Me.Label18.Text = "[V]"
+        '
+        'Label26
+        '
+        Me.Label26.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label26.AutoSize = true
+        Me.Label26.Location = New System.Drawing.Point(458, 7)
+        Me.Label26.Name = "Label26"
+        Me.Label26.Size = New System.Drawing.Size(30, 13)
+        Me.Label26.TabIndex = 65
+        Me.Label26.Text = "[sec]"
+        '
+        'Label19
+        '
+        Me.Label19.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label19.AutoSize = true
+        Me.Label19.Location = New System.Drawing.Point(94, 7)
+        Me.Label19.Name = "Label19"
+        Me.Label19.Size = New System.Drawing.Size(43, 13)
+        Me.Label19.TabIndex = 1
+        Me.Label19.Text = "Voltage"
+        '
+        'tbOverloadTime2
+        '
+        Me.tbOverloadTime2.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbOverloadTime2.Location = New System.Drawing.Point(389, 3)
+        Me.tbOverloadTime2.Name = "tbOverloadTime2"
+        Me.tbOverloadTime2.Size = New System.Drawing.Size(57, 20)
+        Me.tbOverloadTime2.TabIndex = 12
+        '
+        'Label24
+        '
+        Me.Label24.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label24.AutoSize = true
+        Me.Label24.Location = New System.Drawing.Point(306, 7)
+        Me.Label24.Name = "Label24"
+        Me.Label24.Size = New System.Drawing.Size(76, 13)
+        Me.Label24.TabIndex = 11
+        Me.Label24.Text = "Overload Time"
+        '
+        'tbVoltage2
+        '
+        Me.tbVoltage2.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbVoltage2.Location = New System.Drawing.Point(144, 3)
+        Me.tbVoltage2.Name = "tbVoltage2"
+        Me.tbVoltage2.Size = New System.Drawing.Size(57, 20)
+        Me.tbVoltage2.TabIndex = 2
+        '
+        'Label20
+        '
+        Me.Label20.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label20.AutoSize = true
+        Me.Label20.Location = New System.Drawing.Point(40, 34)
+        Me.Label20.Name = "Label20"
+        Me.Label20.Size = New System.Drawing.Size(97, 13)
+        Me.Label20.TabIndex = 3
+        Me.Label20.Text = "Continuous Torque"
+        '
+        'Label21
+        '
+        Me.Label21.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label21.AutoSize = true
+        Me.Label21.Location = New System.Drawing.Point(6, 61)
+        Me.Label21.Name = "Label21"
+        Me.Label21.Size = New System.Drawing.Size(131, 13)
+        Me.Label21.TabIndex = 6
+        Me.Label21.Text = "Continuous Torque Speed"
+        '
+        'tbContinousTorque2
+        '
+        Me.tbContinousTorque2.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbContinousTorque2.Location = New System.Drawing.Point(144, 30)
+        Me.tbContinousTorque2.Name = "tbContinousTorque2"
+        Me.tbContinousTorque2.Size = New System.Drawing.Size(57, 20)
+        Me.tbContinousTorque2.TabIndex = 4
+        '
+        'tbContinousTorqueSpeed2
+        '
+        Me.tbContinousTorqueSpeed2.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbContinousTorqueSpeed2.Location = New System.Drawing.Point(144, 58)
+        Me.tbContinousTorqueSpeed2.Name = "tbContinousTorqueSpeed2"
+        Me.tbContinousTorqueSpeed2.Size = New System.Drawing.Size(57, 20)
+        Me.tbContinousTorqueSpeed2.TabIndex = 6
+        '
+        'Label27
+        '
+        Me.Label27.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label27.AutoSize = true
+        Me.Label27.Location = New System.Drawing.Point(210, 61)
+        Me.Label27.Name = "Label27"
+        Me.Label27.Size = New System.Drawing.Size(30, 13)
+        Me.Label27.TabIndex = 67
+        Me.Label27.Text = "[rpm]"
+        '
+        'Label23
+        '
+        Me.Label23.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label23.AutoSize = true
+        Me.Label23.Location = New System.Drawing.Point(261, 61)
+        Me.Label23.Name = "Label23"
+        Me.Label23.Size = New System.Drawing.Size(121, 13)
+        Me.Label23.TabIndex = 9
+        Me.Label23.Text = "Overload Torque Speed"
+        '
+        'tbOverloadTorqueSpeed2
+        '
+        Me.tbOverloadTorqueSpeed2.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbOverloadTorqueSpeed2.Location = New System.Drawing.Point(389, 58)
+        Me.tbOverloadTorqueSpeed2.Name = "tbOverloadTorqueSpeed2"
+        Me.tbOverloadTorqueSpeed2.Size = New System.Drawing.Size(57, 20)
+        Me.tbOverloadTorqueSpeed2.TabIndex = 10
+        '
+        'Label25
+        '
+        Me.Label25.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label25.AutoSize = true
+        Me.Label25.Location = New System.Drawing.Point(458, 61)
+        Me.Label25.Name = "Label25"
+        Me.Label25.Size = New System.Drawing.Size(30, 13)
+        Me.Label25.TabIndex = 66
+        Me.Label25.Text = "[rpm]"
+        '
+        'Label22
+        '
+        Me.Label22.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label22.AutoSize = true
+        Me.Label22.Location = New System.Drawing.Point(295, 34)
+        Me.Label22.Name = "Label22"
+        Me.Label22.Size = New System.Drawing.Size(87, 13)
+        Me.Label22.TabIndex = 7
+        Me.Label22.Text = "Overload Torque"
+        '
+        'tbOverloadTorque2
+        '
+        Me.tbOverloadTorque2.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbOverloadTorque2.Location = New System.Drawing.Point(389, 30)
+        Me.tbOverloadTorque2.Name = "tbOverloadTorque2"
+        Me.tbOverloadTorque2.Size = New System.Drawing.Size(57, 20)
+        Me.tbOverloadTorque2.TabIndex = 8
+        '
+        'Label16
+        '
+        Me.Label16.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label16.AutoSize = true
+        Me.Label16.Location = New System.Drawing.Point(458, 34)
+        Me.Label16.Name = "Label16"
+        Me.Label16.Size = New System.Drawing.Size(29, 13)
+        Me.Label16.TabIndex = 64
+        Me.Label16.Text = "[Nm]"
+        '
+        'TableLayoutPanel2
+        '
+        Me.TableLayoutPanel2.Anchor = System.Windows.Forms.AnchorStyles.Top
+        Me.TableLayoutPanel2.ColumnCount = 9
+        Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 52!))
+        Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 92!))
+        Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 27!))
+        Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 215!))
+        Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 76!))
+        Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 24!))
+        Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 177!))
+        Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 87!))
+        Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 70!))
+        Me.TableLayoutPanel2.Controls.Add(Me.Label6, 2, 1)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label5, 2, 0)
+        Me.TableLayoutPanel2.Controls.Add(Me.tbModel, 1, 0)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label49, 0, 0)
+        Me.TableLayoutPanel2.Controls.Add(Me.tbInertia, 1, 1)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label51, 0, 1)
+        Me.TableLayoutPanel2.Controls.Add(Me.cbDifferentialIncluded, 7, 0)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label2, 6, 0)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label7, 8, 0)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label52, 6, 1)
+        Me.TableLayoutPanel2.Controls.Add(Me.tbThermalOverload, 7, 1)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label10, 8, 1)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label3, 3, 0)
+        Me.TableLayoutPanel2.Controls.Add(Me.cbDesignTypeWheelMotor, 4, 0)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label8, 5, 0)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label48, 3, 1)
+        Me.TableLayoutPanel2.Controls.Add(Me.tbNumberOfDesignTypeWheelMotor, 4, 1)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label9, 5, 1)
+        Me.TableLayoutPanel2.Location = New System.Drawing.Point(12, 98)
+        Me.TableLayoutPanel2.Name = "TableLayoutPanel2"
+        Me.TableLayoutPanel2.RowCount = 2
+        Me.TableLayoutPanel2.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 27!))
+        Me.TableLayoutPanel2.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 27!))
+        Me.TableLayoutPanel2.Size = New System.Drawing.Size(820, 57)
+        Me.TableLayoutPanel2.TabIndex = 52
+        '
+        'Label6
+        '
+        Me.Label6.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label6.AutoSize = true
+        Me.Label6.Location = New System.Drawing.Point(149, 35)
+        Me.Label6.Name = "Label6"
+        Me.Label6.Size = New System.Drawing.Size(16, 13)
+        Me.Label6.TabIndex = 63
+        Me.Label6.Text = "[-]"
+        '
+        'Label5
+        '
+        Me.Label5.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label5.AutoSize = true
+        Me.Label5.Location = New System.Drawing.Point(149, 7)
+        Me.Label5.Name = "Label5"
+        Me.Label5.Size = New System.Drawing.Size(16, 13)
+        Me.Label5.TabIndex = 63
+        Me.Label5.Text = "[-]"
+        '
+        'cbDifferentialIncluded
+        '
+        Me.cbDifferentialIncluded.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.cbDifferentialIncluded.AutoSize = true
+        Me.cbDifferentialIncluded.Location = New System.Drawing.Point(699, 6)
+        Me.cbDifferentialIncluded.Name = "cbDifferentialIncluded"
+        Me.cbDifferentialIncluded.Size = New System.Drawing.Size(15, 14)
+        Me.cbDifferentialIncluded.TabIndex = 47
+        Me.cbDifferentialIncluded.UseVisualStyleBackColor = true
+        '
+        'Label2
+        '
+        Me.Label2.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label2.AutoSize = true
+        Me.Label2.Location = New System.Drawing.Point(559, 7)
+        Me.Label2.Name = "Label2"
+        Me.Label2.Size = New System.Drawing.Size(101, 13)
+        Me.Label2.TabIndex = 53
+        Me.Label2.Text = "Differential Included"
+        '
+        'Label7
+        '
+        Me.Label7.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label7.AutoSize = true
+        Me.Label7.Location = New System.Drawing.Point(777, 7)
+        Me.Label7.Name = "Label7"
+        Me.Label7.Size = New System.Drawing.Size(16, 13)
+        Me.Label7.TabIndex = 68
+        Me.Label7.Text = "[-]"
+        '
+        'Label10
+        '
+        Me.Label10.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label10.AutoSize = true
+        Me.Label10.Location = New System.Drawing.Point(777, 35)
+        Me.Label10.Name = "Label10"
+        Me.Label10.Size = New System.Drawing.Size(16, 13)
+        Me.Label10.TabIndex = 67
+        Me.Label10.Text = "[-]"
+        '
+        'Label3
+        '
+        Me.Label3.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label3.AutoSize = true
+        Me.Label3.Location = New System.Drawing.Point(202, 7)
+        Me.Label3.Name = "Label3"
+        Me.Label3.Size = New System.Drawing.Size(181, 13)
+        Me.Label3.TabIndex = 54
+        Me.Label3.Text = "Design Type Wheel Motor Measured"
+        '
+        'cbDesignTypeWheelMotor
+        '
+        Me.cbDesignTypeWheelMotor.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.cbDesignTypeWheelMotor.AutoSize = true
+        Me.cbDesignTypeWheelMotor.Location = New System.Drawing.Point(416, 6)
+        Me.cbDesignTypeWheelMotor.Name = "cbDesignTypeWheelMotor"
+        Me.cbDesignTypeWheelMotor.Size = New System.Drawing.Size(15, 14)
+        Me.cbDesignTypeWheelMotor.TabIndex = 53
+        Me.cbDesignTypeWheelMotor.UseVisualStyleBackColor = true
+        '
+        'Label8
+        '
+        Me.Label8.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label8.AutoSize = true
+        Me.Label8.Location = New System.Drawing.Point(466, 7)
+        Me.Label8.Name = "Label8"
+        Me.Label8.Size = New System.Drawing.Size(16, 13)
+        Me.Label8.TabIndex = 65
+        Me.Label8.Text = "[-]"
+        '
+        'Label9
+        '
+        Me.Label9.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label9.AutoSize = true
+        Me.Label9.Location = New System.Drawing.Point(466, 35)
+        Me.Label9.Name = "Label9"
+        Me.Label9.Size = New System.Drawing.Size(16, 13)
+        Me.Label9.TabIndex = 66
+        Me.Label9.Text = "[-]"
+        '
+        'GroupBox1
+        '
+        Me.GroupBox1.Anchor = System.Windows.Forms.AnchorStyles.Top
+        Me.GroupBox1.Controls.Add(Me.TableLayoutPanel3)
+        Me.GroupBox1.Location = New System.Drawing.Point(538, 171)
+        Me.GroupBox1.Name = "GroupBox1"
+        Me.GroupBox1.Size = New System.Drawing.Size(314, 187)
+        Me.GroupBox1.TabIndex = 61
+        Me.GroupBox1.TabStop = false
+        Me.GroupBox1.Text = "Gears"
+        '
+        'TableLayoutPanel3
+        '
+        Me.TableLayoutPanel3.ColumnCount = 2
+        Me.TableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 199!))
+        Me.TableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 160!))
+        Me.TableLayoutPanel3.Controls.Add(Me.lvGear, 0, 0)
+        Me.TableLayoutPanel3.Controls.Add(Me.FlowLayoutPanel2, 0, 1)
+        Me.TableLayoutPanel3.Controls.Add(Me.Label30, 1, 1)
+        Me.TableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Top
+        Me.TableLayoutPanel3.Location = New System.Drawing.Point(3, 16)
+        Me.TableLayoutPanel3.Name = "TableLayoutPanel3"
+        Me.TableLayoutPanel3.RowCount = 2
+        Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 77.5!))
+        Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 22.5!))
+        Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20!))
+        Me.TableLayoutPanel3.Size = New System.Drawing.Size(308, 160)
+        Me.TableLayoutPanel3.TabIndex = 53
+        '
+        'lvGear
+        '
+        Me.lvGear.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.lvGear.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3})
+        Me.TableLayoutPanel3.SetColumnSpan(Me.lvGear, 2)
+        Me.lvGear.FullRowSelect = true
+        Me.lvGear.GridLines = true
+        Me.lvGear.HideSelection = false
+        Me.lvGear.Location = New System.Drawing.Point(3, 3)
+        Me.lvGear.MultiSelect = false
+        Me.lvGear.Name = "lvGear"
+        Me.lvGear.Size = New System.Drawing.Size(353, 118)
+        Me.lvGear.TabIndex = 7
+        Me.lvGear.TabStop = false
+        Me.lvGear.UseCompatibleStateImageBehavior = false
+        Me.lvGear.View = System.Windows.Forms.View.Details
+        '
+        'ColumnHeader1
+        '
+        Me.ColumnHeader1.Text = "Ratio"
+        Me.ColumnHeader1.Width = 59
+        '
+        'ColumnHeader2
+        '
+        Me.ColumnHeader2.Text = "Max Out Shaft Speed"
+        Me.ColumnHeader2.Width = 120
+        '
+        'ColumnHeader3
+        '
+        Me.ColumnHeader3.Text = "Max Out Shaft Speed"
+        Me.ColumnHeader3.Width = 120
+        '
+        'FlowLayoutPanel2
+        '
+        Me.FlowLayoutPanel2.Controls.Add(Me.btAddGear)
+        Me.FlowLayoutPanel2.Controls.Add(Me.btRemoveGear)
+        Me.FlowLayoutPanel2.Location = New System.Drawing.Point(3, 127)
+        Me.FlowLayoutPanel2.Name = "FlowLayoutPanel2"
+        Me.FlowLayoutPanel2.Size = New System.Drawing.Size(61, 30)
+        Me.FlowLayoutPanel2.TabIndex = 54
+        '
+        'btAddGear
+        '
+        Me.btAddGear.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon
+        Me.btAddGear.Location = New System.Drawing.Point(3, 3)
+        Me.btAddGear.Name = "btAddGear"
+        Me.btAddGear.Size = New System.Drawing.Size(24, 24)
+        Me.btAddGear.TabIndex = 4
+        Me.btAddGear.UseVisualStyleBackColor = true
+        '
+        'btRemoveGear
+        '
+        Me.btRemoveGear.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon
+        Me.btRemoveGear.Location = New System.Drawing.Point(33, 3)
+        Me.btRemoveGear.Name = "btRemoveGear"
+        Me.btRemoveGear.Size = New System.Drawing.Size(24, 24)
+        Me.btRemoveGear.TabIndex = 5
+        Me.btRemoveGear.UseVisualStyleBackColor = true
+        '
+        'Label30
+        '
+        Me.Label30.AutoSize = true
+        Me.Label30.Location = New System.Drawing.Point(202, 124)
+        Me.Label30.Name = "Label30"
+        Me.Label30.Size = New System.Drawing.Size(106, 13)
+        Me.Label30.TabIndex = 55
+        Me.Label30.Text = "(Double-Click to Edit)"
+        '
+        'GroupBox3
+        '
+        Me.GroupBox3.Anchor = System.Windows.Forms.AnchorStyles.Top
+        Me.GroupBox3.Controls.Add(Me.TableLayoutPanel8)
+        Me.GroupBox3.Location = New System.Drawing.Point(538, 366)
+        Me.GroupBox3.Name = "GroupBox3"
+        Me.GroupBox3.Size = New System.Drawing.Size(314, 184)
+        Me.GroupBox3.TabIndex = 62
+        Me.GroupBox3.TabStop = false
+        Me.GroupBox3.Text = "Drag Curves"
+        '
+        'TableLayoutPanel8
+        '
+        Me.TableLayoutPanel8.ColumnCount = 2
+        Me.TableLayoutPanel8.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 199!))
+        Me.TableLayoutPanel8.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 160!))
+        Me.TableLayoutPanel8.Controls.Add(Me.lvDragCurve, 0, 0)
+        Me.TableLayoutPanel8.Controls.Add(Me.Label29, 0, 1)
+        Me.TableLayoutPanel8.Controls.Add(Me.FlowLayoutPanel3, 0, 1)
+        Me.TableLayoutPanel8.Dock = System.Windows.Forms.DockStyle.Top
+        Me.TableLayoutPanel8.Location = New System.Drawing.Point(3, 16)
+        Me.TableLayoutPanel8.Name = "TableLayoutPanel8"
+        Me.TableLayoutPanel8.RowCount = 2
+        Me.TableLayoutPanel8.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 77.5!))
+        Me.TableLayoutPanel8.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 22.5!))
+        Me.TableLayoutPanel8.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20!))
+        Me.TableLayoutPanel8.Size = New System.Drawing.Size(308, 160)
+        Me.TableLayoutPanel8.TabIndex = 53
+        '
+        'lvDragCurve
+        '
+        Me.lvDragCurve.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.lvDragCurve.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader4, Me.ColumnHeader5})
+        Me.TableLayoutPanel8.SetColumnSpan(Me.lvDragCurve, 2)
+        Me.lvDragCurve.FullRowSelect = true
+        Me.lvDragCurve.GridLines = true
+        Me.lvDragCurve.HideSelection = false
+        Me.lvDragCurve.Location = New System.Drawing.Point(3, 3)
+        Me.lvDragCurve.MultiSelect = false
+        Me.lvDragCurve.Name = "lvDragCurve"
+        Me.lvDragCurve.Size = New System.Drawing.Size(353, 118)
+        Me.lvDragCurve.TabIndex = 7
+        Me.lvDragCurve.TabStop = false
+        Me.lvDragCurve.UseCompatibleStateImageBehavior = false
+        Me.lvDragCurve.View = System.Windows.Forms.View.Details
+        '
+        'ColumnHeader4
+        '
+        Me.ColumnHeader4.Text = "Gear #"
+        Me.ColumnHeader4.Width = 59
+        '
+        'ColumnHeader5
+        '
+        Me.ColumnHeader5.Text = "Drag Curve Filename"
+        Me.ColumnHeader5.Width = 240
+        '
+        'Label29
+        '
+        Me.Label29.AutoSize = true
+        Me.Label29.Location = New System.Drawing.Point(202, 124)
+        Me.Label29.Name = "Label29"
+        Me.Label29.Size = New System.Drawing.Size(106, 13)
+        Me.Label29.TabIndex = 55
+        Me.Label29.Text = "(Double-Click to Edit)"
+        '
+        'FlowLayoutPanel3
+        '
+        Me.FlowLayoutPanel3.Controls.Add(Me.btAddDragCurve)
+        Me.FlowLayoutPanel3.Controls.Add(Me.btRemoveDragCurve)
+        Me.FlowLayoutPanel3.Location = New System.Drawing.Point(3, 127)
+        Me.FlowLayoutPanel3.Name = "FlowLayoutPanel3"
+        Me.FlowLayoutPanel3.Size = New System.Drawing.Size(61, 30)
+        Me.FlowLayoutPanel3.TabIndex = 54
+        '
+        'btAddDragCurve
+        '
+        Me.btAddDragCurve.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon
+        Me.btAddDragCurve.Location = New System.Drawing.Point(3, 3)
+        Me.btAddDragCurve.Name = "btAddDragCurve"
+        Me.btAddDragCurve.Size = New System.Drawing.Size(24, 24)
+        Me.btAddDragCurve.TabIndex = 4
+        Me.btAddDragCurve.UseVisualStyleBackColor = true
+        '
+        'btRemoveDragCurve
+        '
+        Me.btRemoveDragCurve.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon
+        Me.btRemoveDragCurve.Location = New System.Drawing.Point(33, 3)
+        Me.btRemoveDragCurve.Name = "btRemoveDragCurve"
+        Me.btRemoveDragCurve.Size = New System.Drawing.Size(24, 24)
+        Me.btRemoveDragCurve.TabIndex = 5
+        Me.btRemoveDragCurve.UseVisualStyleBackColor = true
+        '
+        'ToolStrip1
+        '
+        Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
+        Me.ToolStrip1.ImageScalingSize = New System.Drawing.Size(24, 24)
+        Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator3, Me.ToolStripBtSendTo, Me.ToolStripSeparator1, Me.ToolStripButton1})
+        Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
+        Me.ToolStrip1.Name = "ToolStrip1"
+        Me.ToolStrip1.Size = New System.Drawing.Size(864, 31)
+        Me.ToolStrip1.TabIndex = 63
+        Me.ToolStrip1.Text = "ToolStrip1"
+        '
+        'ToolStripBtNew
+        '
+        Me.ToolStripBtNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+        Me.ToolStripBtNew.Image = Global.TUGraz.VECTO.My.Resources.Resources.blue_document_icon
+        Me.ToolStripBtNew.ImageTransparentColor = System.Drawing.Color.Magenta
+        Me.ToolStripBtNew.Name = "ToolStripBtNew"
+        Me.ToolStripBtNew.Size = New System.Drawing.Size(28, 28)
+        Me.ToolStripBtNew.Text = "ToolStripButton1"
+        Me.ToolStripBtNew.ToolTipText = "New"
+        '
+        'ToolStripBtOpen
+        '
+        Me.ToolStripBtOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+        Me.ToolStripBtOpen.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
+        Me.ToolStripBtOpen.ImageTransparentColor = System.Drawing.Color.Magenta
+        Me.ToolStripBtOpen.Name = "ToolStripBtOpen"
+        Me.ToolStripBtOpen.Size = New System.Drawing.Size(28, 28)
+        Me.ToolStripBtOpen.Text = "ToolStripButton1"
+        Me.ToolStripBtOpen.ToolTipText = "Open..."
+        '
+        'ToolStripBtSave
+        '
+        Me.ToolStripBtSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+        Me.ToolStripBtSave.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_document_save_icon
+        Me.ToolStripBtSave.ImageTransparentColor = System.Drawing.Color.Magenta
+        Me.ToolStripBtSave.Name = "ToolStripBtSave"
+        Me.ToolStripBtSave.Size = New System.Drawing.Size(28, 28)
+        Me.ToolStripBtSave.Text = "ToolStripButton1"
+        Me.ToolStripBtSave.ToolTipText = "Save"
+        '
+        'ToolStripBtSaveAs
+        '
+        Me.ToolStripBtSaveAs.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+        Me.ToolStripBtSaveAs.Image = Global.TUGraz.VECTO.My.Resources.Resources.Actions_document_save_as_icon
+        Me.ToolStripBtSaveAs.ImageTransparentColor = System.Drawing.Color.Magenta
+        Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs"
+        Me.ToolStripBtSaveAs.Size = New System.Drawing.Size(28, 28)
+        Me.ToolStripBtSaveAs.Text = "ToolStripButton1"
+        Me.ToolStripBtSaveAs.ToolTipText = "Save As..."
+        '
+        'ToolStripSeparator3
+        '
+        Me.ToolStripSeparator3.Name = "ToolStripSeparator3"
+        Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 31)
+        '
+        'ToolStripBtSendTo
+        '
+        Me.ToolStripBtSendTo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+        Me.ToolStripBtSendTo.Image = Global.TUGraz.VECTO.My.Resources.Resources.export_icon
+        Me.ToolStripBtSendTo.ImageTransparentColor = System.Drawing.Color.Magenta
+        Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo"
+        Me.ToolStripBtSendTo.Size = New System.Drawing.Size(28, 28)
+        Me.ToolStripBtSendTo.Text = "Send to Job Editor"
+        Me.ToolStripBtSendTo.ToolTipText = "Send to Job Editor"
+        '
+        'ToolStripSeparator1
+        '
+        Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
+        Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 31)
+        '
+        'ToolStripButton1
+        '
+        Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+        Me.ToolStripButton1.Image = Global.TUGraz.VECTO.My.Resources.Resources.Help_icon
+        Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
+        Me.ToolStripButton1.Name = "ToolStripButton1"
+        Me.ToolStripButton1.Size = New System.Drawing.Size(28, 28)
+        Me.ToolStripButton1.Text = "Help"
+        '
+        'PictureBox1
+        '
+        Me.PictureBox1.BackColor = System.Drawing.Color.White
+        Me.PictureBox1.Dock = System.Windows.Forms.DockStyle.Top
+        Me.PictureBox1.Image = Global.TUGraz.VECTO.My.Resources.Resources.VECTO_Mainform
+        Me.PictureBox1.Location = New System.Drawing.Point(0, 31)
+        Me.PictureBox1.Name = "PictureBox1"
+        Me.PictureBox1.Size = New System.Drawing.Size(864, 40)
+        Me.PictureBox1.TabIndex = 64
+        Me.PictureBox1.TabStop = false
+        '
+        'lblTitle
+        '
+        Me.lblTitle.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.lblTitle.AutoSize = true
+        Me.lblTitle.BackColor = System.Drawing.Color.White
+        Me.lblTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 18!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        Me.lblTitle.Location = New System.Drawing.Point(114, 37)
+        Me.lblTitle.Name = "lblTitle"
+        Me.lblTitle.Size = New System.Drawing.Size(68, 29)
+        Me.lblTitle.TabIndex = 65
+        Me.lblTitle.Text = "IEPC"
+        '
+        'ButCancel
+        '
+        Me.ButCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.ButCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.ButCancel.Location = New System.Drawing.Point(777, 563)
+        Me.ButCancel.Name = "ButCancel"
+        Me.ButCancel.Size = New System.Drawing.Size(75, 23)
+        Me.ButCancel.TabIndex = 67
+        Me.ButCancel.Text = "Cancel"
+        Me.ButCancel.UseVisualStyleBackColor = true
+        '
+        'ButOK
+        '
+        Me.ButOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.ButOK.Location = New System.Drawing.Point(696, 563)
+        Me.ButOK.Name = "ButOK"
+        Me.ButOK.Size = New System.Drawing.Size(75, 23)
+        Me.ButOK.TabIndex = 66
+        Me.ButOK.Text = "Save"
+        Me.ButOK.UseVisualStyleBackColor = true
+        '
+        'IEPCForm
+        '
+        Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!)
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.ClientSize = New System.Drawing.Size(864, 598)
+        Me.Controls.Add(Me.ButCancel)
+        Me.Controls.Add(Me.ButOK)
+        Me.Controls.Add(Me.lblTitle)
+        Me.Controls.Add(Me.PictureBox1)
+        Me.Controls.Add(Me.ToolStrip1)
+        Me.Controls.Add(Me.GroupBox3)
+        Me.Controls.Add(Me.GroupBox1)
+        Me.Controls.Add(Me.TableLayoutPanel2)
+        Me.Controls.Add(Me.tcVoltageLevels)
+        Me.Name = "IEPCForm"
+        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+        Me.Text = "IEPC Editor"
+        Me.tcVoltageLevels.ResumeLayout(false)
+        Me.tpFirstVoltageLevel.ResumeLayout(false)
+        Me.TableLayoutPanel7.ResumeLayout(false)
+        Me.TableLayoutPanel7.PerformLayout
+        Me.TableLayoutPanel1.ResumeLayout(false)
+        Me.TableLayoutPanel1.PerformLayout
+        Me.GroupBox2.ResumeLayout(false)
+        Me.TableLayoutPanel6.ResumeLayout(false)
+        Me.TableLayoutPanel6.PerformLayout
+        Me.tpVoltageLevel.ResumeLayout(false)
+        Me.GroupBox4.ResumeLayout(false)
+        Me.TableLayoutPanel9.ResumeLayout(false)
+        Me.TableLayoutPanel9.PerformLayout
+        Me.TableLayoutPanel5.ResumeLayout(false)
+        Me.TableLayoutPanel5.PerformLayout
+        Me.TableLayoutPanel4.ResumeLayout(false)
+        Me.TableLayoutPanel4.PerformLayout
+        Me.TableLayoutPanel2.ResumeLayout(false)
+        Me.TableLayoutPanel2.PerformLayout
+        Me.GroupBox1.ResumeLayout(false)
+        Me.TableLayoutPanel3.ResumeLayout(false)
+        Me.TableLayoutPanel3.PerformLayout
+        Me.FlowLayoutPanel2.ResumeLayout(false)
+        Me.GroupBox3.ResumeLayout(false)
+        Me.TableLayoutPanel8.ResumeLayout(false)
+        Me.TableLayoutPanel8.PerformLayout
+        Me.FlowLayoutPanel3.ResumeLayout(false)
+        Me.ToolStrip1.ResumeLayout(false)
+        Me.ToolStrip1.PerformLayout
+        CType(Me.PictureBox1,System.ComponentModel.ISupportInitialize).EndInit
+        Me.ResumeLayout(false)
+        Me.PerformLayout
+
+End Sub
+	Friend WithEvents btFLCurveFile1 As Button
+	Friend WithEvents tbThermalOverload As TextBox
+	Friend WithEvents Label52 As Label
+	Friend WithEvents Label48 As Label
+	Friend WithEvents tbNumberOfDesignTypeWheelMotor As TextBox
+	Friend WithEvents Label51 As Label
+	Friend WithEvents tbInertia As TextBox
+	Friend WithEvents Label49 As Label
+	Friend WithEvents tbModel As TextBox
+	Friend WithEvents tcVoltageLevels As TabControl
+	Friend WithEvents tpFirstVoltageLevel As TabPage
+	Friend WithEvents GroupBox2 As GroupBox
+	Friend WithEvents lvPowerMap1 As ListView
+	Friend WithEvents ColumnHeader13 As ColumnHeader
+	Friend WithEvents ColumnHeader14 As ColumnHeader
+	Friend WithEvents Label47 As Label
+	Friend WithEvents Label44 As Label
+	Friend WithEvents Label43 As Label
+	Friend WithEvents tbOverloadTime1 As TextBox
+	Friend WithEvents Label42 As Label
+	Friend WithEvents tboverloadTorqueSpeed1 As TextBox
+	Friend WithEvents Label41 As Label
+	Friend WithEvents tbOverloadTorque1 As TextBox
+	Friend WithEvents tbContinousTorqueSpeed1 As TextBox
+	Friend WithEvents Label39 As Label
+	Friend WithEvents tbContinousTorque1 As TextBox
+	Friend WithEvents Label37 As Label
+	Friend WithEvents tbVoltage1 As TextBox
+	Friend WithEvents tpVoltageLevel As TabPage
+	Friend WithEvents TableLayoutPanel1 As TableLayoutPanel
+	Friend WithEvents Label1 As Label
+	Friend WithEvents TableLayoutPanel2 As TableLayoutPanel
+	Friend WithEvents Label2 As Label
+	Friend WithEvents cbDesignTypeWheelMotor As CheckBox
+	Friend WithEvents cbDifferentialIncluded As CheckBox
+	Friend WithEvents Label3 As Label
+	Friend WithEvents Label4 As Label
+	Friend WithEvents Label5 As Label
+	Friend WithEvents Label6 As Label
+	Friend WithEvents Label10 As Label
+	Friend WithEvents Label9 As Label
+	Friend WithEvents Label8 As Label
+	Friend WithEvents Label12 As Label
+	Friend WithEvents Label11 As Label
+	Friend WithEvents Label14 As Label
+	Friend WithEvents Label13 As Label
+	Friend WithEvents Label15 As Label
+	Friend WithEvents TableLayoutPanel4 As TableLayoutPanel
+	Friend WithEvents Label16 As Label
+	Friend WithEvents Label17 As Label
+	Friend WithEvents Label18 As Label
+	Friend WithEvents Label19 As Label
+	Friend WithEvents tbVoltage2 As TextBox
+	Friend WithEvents Label20 As Label
+	Friend WithEvents Label21 As Label
+	Friend WithEvents tbContinousTorque2 As TextBox
+	Friend WithEvents tbContinousTorqueSpeed2 As TextBox
+	Friend WithEvents tbOverloadTorque2 As TextBox
+	Friend WithEvents tbOverloadTorqueSpeed2 As TextBox
+	Friend WithEvents tbOverloadTime2 As TextBox
+	Friend WithEvents Label22 As Label
+	Friend WithEvents Label23 As Label
+	Friend WithEvents Label24 As Label
+	Friend WithEvents Label25 As Label
+	Friend WithEvents Label26 As Label
+	Friend WithEvents Label27 As Label
+	Friend WithEvents TableLayoutPanel5 As TableLayoutPanel
+	Friend WithEvents tbFLCurve2 As TextBox
+	Friend WithEvents btFLCurveFile2 As Button
+	Friend WithEvents Label28 As Label
+	Friend WithEvents TableLayoutPanel6 As TableLayoutPanel
+	Friend WithEvents TableLayoutPanel7 As TableLayoutPanel
+	Friend WithEvents tbFLCurve1 As TextBox
+	Friend WithEvents GroupBox1 As GroupBox
+	Friend WithEvents TableLayoutPanel3 As TableLayoutPanel
+	Friend WithEvents FlowLayoutPanel2 As FlowLayoutPanel
+	Friend WithEvents btAddGear As Button
+	Friend WithEvents btRemoveGear As Button
+	Friend WithEvents lvGear As ListView
+	Friend WithEvents ColumnHeader1 As ColumnHeader
+	Friend WithEvents ColumnHeader2 As ColumnHeader
+	Friend WithEvents ColumnHeader3 As ColumnHeader
+	Friend WithEvents Label30 As Label
+	Friend WithEvents GroupBox3 As GroupBox
+	Friend WithEvents TableLayoutPanel8 As TableLayoutPanel
+	Friend WithEvents lvDragCurve As ListView
+	Friend WithEvents ColumnHeader4 As ColumnHeader
+	Friend WithEvents ColumnHeader5 As ColumnHeader
+	Friend WithEvents Label29 As Label
+	Friend WithEvents FlowLayoutPanel3 As FlowLayoutPanel
+	Friend WithEvents btAddDragCurve As Button
+	Friend WithEvents btRemoveDragCurve As Button
+	Friend WithEvents GroupBox4 As GroupBox
+	Friend WithEvents TableLayoutPanel9 As TableLayoutPanel
+	Friend WithEvents Label31 As Label
+	Friend WithEvents lvPowerMap2 As ListView
+	Friend WithEvents ColumnHeader6 As ColumnHeader
+	Friend WithEvents ColumnHeader7 As ColumnHeader
+	Friend WithEvents Label7 As Label
+    Friend WithEvents ToolStrip1 As ToolStrip
+    Friend WithEvents ToolStripBtNew As ToolStripButton
+    Friend WithEvents ToolStripBtOpen As ToolStripButton
+    Friend WithEvents ToolStripBtSave As ToolStripButton
+    Friend WithEvents ToolStripBtSaveAs As ToolStripButton
+    Friend WithEvents ToolStripSeparator3 As ToolStripSeparator
+    Friend WithEvents ToolStripBtSendTo As ToolStripButton
+    Friend WithEvents ToolStripSeparator1 As ToolStripSeparator
+    Friend WithEvents ToolStripButton1 As ToolStripButton
+    Friend WithEvents PictureBox1 As PictureBox
+    Friend WithEvents lblTitle As Label
+    Friend WithEvents ButCancel As Button
+    Friend WithEvents ButOK As Button
+End Class
diff --git a/VECTO/GUI/IEPCForm.resx b/VECTO/GUI/IEPCForm.resx
new file mode 100644
index 0000000000000000000000000000000000000000..e6cfa50aa61f13229c536197fb01814c1de7d8f1
--- /dev/null
+++ b/VECTO/GUI/IEPCForm.resx
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="btFLCurveFile1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAtVJREFUOE+FkmtIk2EYhhc6zU1zyjyAlZn5Q0QS6k/EMDDSQiuzkmxM5wpEA00S
+        zTzbsozQEDUyVKjQbejUPGQSyyjUmofysFRKU/M859J5qORu77s1KX/0wPXju7/vvp4X3o/RVsHv7pDy
+        0VklwIfaCPTXCzHQEPkXn5pEUDWJNH31kRGMf4eUocvF7GAShlqjQZ6H3qZjYUICQGliVfscvc+EGmNt
+        c0hhY/kONpYMrC/cwowqiYowchcYNaKRoa7mDDyfcuFRYpdnrBsEv7S3KT8XCTkUkq/3xGOj9xrQn0Cp
+        qQrGvnJ7uJTuwK58G4VJ8GMhh25eV29Ccp0yDmvd8SZBV7UA7sW2R5wfWsO+0ApO2ewMKlibE2N11siM
+        GCt6SL7YEQtdZxxUShECq7wQ9MQLZKnTfbbcqpQJuwxLDRWsTN+EbiobuslsLBsh+eybK3j/WgBfmQeq
+        1RKcqPalAgexlYIIrNMtQAVLE1lYGs/Cd8JYJrR6SK5ovoCzjTzI1VLE9gjgVsiBYza7jJvHAhGwkpkG
+        gfZrJhZHM6D5QtBf4ed0yKSnENLEg0L3AlHKIBxq2Ik9BRy4FNrA4bFBYJlgbhCQgno4DeqhNMwPpuFb
+        TyICan3waqUF0coAHGtxpwJvuSPcJBwqYBUzwby8TUEF84OpmFOlYnYghR69XcLHUdl+RLX7I6TVc4uA
+        W8aCZZy5hhnO8KECUpzuu4Gpj8lU0FgShuIHgeAVucK/0d0k8KzgwjGXje0xZiPMS/oyGVIgxcme65jo
+        MvyBNUWhqMw/j7ryi+Dlu+KwfDcVcNNYEOfx6E2Ypq0iVKN6GYNxZRLG3iVSQXnOcRSk+EGadxK1j4Jx
+        IMsZPhXOsE+2QnPZOcPmP9MtD+d0SMPkXTVCDLdeRadciPjIg7H6V3sNXzAYtrEMjmW0udxCZFZmjLZO
+        eyX/NDkNOcG9FD9vY/yfYTB+A9kMOLKC3dXwAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="btFLCurveFile2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAtVJREFUOE+FkmtIk2EYhhc6zU1zyjyAlZn5Q0QS6k/EMDDSQiuzkmxM5wpEA00S
+        zTzbsozQEDUyVKjQbejUPGQSyyjUmofysFRKU/M859J5qORu77s1KX/0wPXju7/vvp4X3o/RVsHv7pDy
+        0VklwIfaCPTXCzHQEPkXn5pEUDWJNH31kRGMf4eUocvF7GAShlqjQZ6H3qZjYUICQGliVfscvc+EGmNt
+        c0hhY/kONpYMrC/cwowqiYowchcYNaKRoa7mDDyfcuFRYpdnrBsEv7S3KT8XCTkUkq/3xGOj9xrQn0Cp
+        qQrGvnJ7uJTuwK58G4VJ8GMhh25eV29Ccp0yDmvd8SZBV7UA7sW2R5wfWsO+0ApO2ewMKlibE2N11siM
+        GCt6SL7YEQtdZxxUShECq7wQ9MQLZKnTfbbcqpQJuwxLDRWsTN+EbiobuslsLBsh+eybK3j/WgBfmQeq
+        1RKcqPalAgexlYIIrNMtQAVLE1lYGs/Cd8JYJrR6SK5ovoCzjTzI1VLE9gjgVsiBYza7jJvHAhGwkpkG
+        gfZrJhZHM6D5QtBf4ed0yKSnENLEg0L3AlHKIBxq2Ik9BRy4FNrA4bFBYJlgbhCQgno4DeqhNMwPpuFb
+        TyICan3waqUF0coAHGtxpwJvuSPcJBwqYBUzwby8TUEF84OpmFOlYnYghR69XcLHUdl+RLX7I6TVc4uA
+        W8aCZZy5hhnO8KECUpzuu4Gpj8lU0FgShuIHgeAVucK/0d0k8KzgwjGXje0xZiPMS/oyGVIgxcme65jo
+        MvyBNUWhqMw/j7ryi+Dlu+KwfDcVcNNYEOfx6E2Ypq0iVKN6GYNxZRLG3iVSQXnOcRSk+EGadxK1j4Jx
+        IMsZPhXOsE+2QnPZOcPmP9MtD+d0SMPkXTVCDLdeRadciPjIg7H6V3sNXzAYtrEMjmW0udxCZFZmjLZO
+        eyX/NDkNOcG9FD9vY/yfYTB+A9kMOLKC3dXwAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>25</value>
+  </metadata>
+</root>
\ No newline at end of file
diff --git a/VECTO/GUI/IEPCForm.vb b/VECTO/GUI/IEPCForm.vb
new file mode 100644
index 0000000000000000000000000000000000000000..e8d14ab7db27955c7a2e6c0817caf6ae4ab72c97
--- /dev/null
+++ b/VECTO/GUI/IEPCForm.vb
@@ -0,0 +1,644 @@
+Imports System.IO
+Imports TUGraz.VectoCommon.InputData
+Imports TUGraz.VectoCommon.Utils
+Imports TUGraz.VectoCore.InputData.FileIO.JSON
+
+
+Public Class IEPCForm
+
+    Public JobDir As String = ""
+    Private _iepcFilePath as String = ""
+    Private _powerMapDlg As IEPCInputDialog
+    Private _dragCurveDlg As IEPCInputDialog
+    Private _gearDlg As IEPCGearInputDialog
+    Private _flcFilePath1 as String
+    Private _flcFilePath2 as String
+    Private _changed as Boolean
+    
+    Private Sub IEPCForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+        _powerMapDlg = New IEPCInputDialog(IEPCDialogType.PowerMapDialog)
+        _dragCurveDlg = New IEPCInputDialog(IEPCDialogType.DragCurveDialog)
+        _gearDlg = New IEPCGearInputDialog()
+    End Sub
+
+    Public Sub ReadIEPCFile(file As String)
+        Dim inputData = JSONInputDataFactory.ReadIEPCEngineeringInputData(file, True)
+
+        tbModel.Text = inputData.Model
+        tbInertia.Text = inputData.Inertia.ToGUIFormat()
+        cbDifferentialIncluded.Checked = inputData.DifferentialIncluded
+        cbDesignTypeWheelMotor.Checked = inputData.DesignTypeWheelMotor
+        tbNumberOfDesignTypeWheelMotor.Text = inputData.NrOfDesignTypeWheelMotorMeasured.Value.ToGUIFormat()
+        tbThermalOverload.Text = inputData.OverloadRecoveryFactor.ToGUIFormat()
+
+        Dim voltageLevel = inputData.VoltageLevels.First()
+        SetFirstVoltageLevel(voltageLevel)
+        voltageLevel = inputData.VoltageLevels.Last()
+        SetSecondaryVoltageLevel(voltageLevel)
+        SetGearEntries(inputData.Gears)
+        SetDragEntries(inputData.DragCurves)
+        _iepcFilePath = file
+
+    End Sub
+
+    Private Sub SetFirstVoltageLevel(voltageLevel As IElectricMotorVoltageLevel)
+        tbVoltage1.Text = voltageLevel.VoltageLevel.ToGUIFormat()
+        tbContinousTorque1.Text = voltageLevel.ContinuousTorque.ToGUIFormat()
+        tbContinousTorqueSpeed1.Text = voltageLevel.ContinuousTorqueSpeed.AsRPM.ToGUIFormat()
+        tbOverloadTime1.Text = voltageLevel.OverloadTime.ToGUIFormat()
+        tbOverloadTorque1.Text = voltageLevel.OverloadTorque.ToGUIFormat()
+        tboverloadTorqueSpeed1.Text = voltageLevel.OverloadTestSpeed.AsRPM.ToGUIFormat()
+        tbFLCurve1.Text = voltageLevel.FullLoadCurve.Source
+        SetPowerMapEntries(_lvPowerMap1, voltageLevel.PowerMap)
+    End Sub
+
+    Private Sub SetSecondaryVoltageLevel(voltageLevel As IElectricMotorVoltageLevel)
+        tbVoltage2.Text = voltageLevel.VoltageLevel.ToGUIFormat()
+        tbContinousTorque2.Text = voltageLevel.ContinuousTorque.ToGUIFormat()
+        tbContinousTorqueSpeed2.Text = voltageLevel.ContinuousTorqueSpeed.AsRPM.ToGUIFormat()
+        tbOverloadTime2.Text = voltageLevel.OverloadTime.ToGUIFormat()
+        tbOverloadTorque2.Text = voltageLevel.OverloadTorque.ToGUIFormat()
+        tbOverloadTorqueSpeed2.Text = voltageLevel.OverloadTestSpeed.AsRPM.ToGUIFormat()
+        tbFLCurve2.Text = voltageLevel.FullLoadCurve.Source
+        SetPowerMapEntries(_lvPowerMap2, voltageLevel.PowerMap)
+    End Sub
+
+    Private Sub SetGearEntries(entries As IList(Of IGearEntry))
+        For Each entry As IGearEntry In entries
+            Dim listEntry = CreateListViewItem(entry.Ratio, entry.MaxOutputShaftTorque, entry.MaxOutputShaftSpeed)
+            _lvGear.Items.Add(listEntry)
+        Next
+    End Sub
+
+    Private Sub SetDragEntries(entries As IList(Of IDragCurve))
+        For Each entry As IDragCurve In entries
+            Dim listEntry = CreateListViewItem(entry.Gear.Value, entry.DragCurve.Source)
+            _lvDragCurve.Items.Add(listEntry)
+        Next
+    End Sub
+
+    Private Sub SetPowerMapEntries(powerMapListView As ListView, entries As IList(Of IElectricMotorPowerMap))
+
+        For Each entry As IElectricMotorPowerMap In entries
+            Dim listEntry = CreateListViewItem(entry.Gear, entry.PowerMap.Source)
+            powerMapListView.Items.Add(listEntry)
+        Next
+
+    End Sub
+
+    Private Function CreateListViewItem(axleNumber As Integer, filepath As String) As ListViewItem
+
+        Dim retVal As New ListViewItem
+        retVal.SubItems(0).Text = axleNumber.ToGUIFormat()
+        retVal.SubItems.Add(filepath)
+        Return retVal
+
+    End Function
+
+    Private Function CreateListViewItem(ratio As Double, outputShaftTorque As NewtonMeter, outputShaftSpeed As PerSecond) As ListViewItem
+
+        Dim retVal As New ListViewItem
+        retVal.SubItems(0).Text = ratio.ToGUIFormat()
+        retVal.SubItems.Add(outputShaftTorque?.ToGUIFormat())
+        retVal.SubItems.Add(outputShaftSpeed?.ToGUIFormat())
+        Return retVal
+
+    End Function
+
+    Private Function CreateListViewItem(ratio As Double, outputShaftTorque As Double?, outputShaftSpeed As Double?) As ListViewItem
+
+        Dim retVal As New ListViewItem
+        retVal.SubItems(0).Text = ratio.ToGUIFormat()
+        If outputShaftSpeed.HasValue Then
+            retVal.SubItems.Add(outputShaftTorque.Value.ToGUIFormat())
+        End If
+        If outputShaftSpeed.HasValue Then
+            retVal.SubItems.Add(outputShaftSpeed.Value.ToGUIFormat())
+        End If
+        Return retVal
+
+    End Function
+
+    Private Sub btAddDragCurve_Click(sender As Object, e As EventArgs) Handles btAddDragCurve.Click
+        AddListViewItem(_dragCurveDlg, _lvDragCurve)
+    End Sub
+
+    Private Sub AddListViewItem(dialog As IEPCInputDialog, listView As ListView)
+
+        If (dialog.ShowDialog() = DialogResult.OK) Then
+            Dim gear = Convert.ToInt32(dialog.tbGear.Text)
+            Dim filePath = dialog.tbInputFile.Text
+            listView.Items.Add(CreateListViewItem(gear, filePath))
+            
+            dialog.Clear()
+        End If
+    End Sub
+
+    Private Sub btRemoveDragCurve_Click(sender As Object, e As EventArgs) Handles btRemoveDragCurve.Click
+        RemoveListEntry(_lvDragCurve)
+    End Sub
+    
+    Private Sub btRemoveGear_Click(sender As Object, e As EventArgs) Handles btRemoveGear.Click
+        RemoveListEntry(_lvGear)
+        RemoveListEntry(_lvPowerMap1)
+        RemoveListEntry(_lvPowerMap2)
+    End Sub
+
+    Private Sub RemoveListEntry(listView As ListView)
+        If listView.Items.Count = 0 Then
+            Exit Sub
+        Else
+            listView.Items(listView.Items.Count - 1).Remove()
+        End If
+    End Sub
+
+    Private Sub btAddGear_Click(sender As Object, e As EventArgs) Handles btAddGear.Click
+
+        If (_gearDlg.ShowDialog() = DialogResult.OK) Then
+            Dim ratio = Convert.ToDouble(_gearDlg.tbRatio.Text)
+            Dim outputShaftTorque As Double?
+            Dim outputShaftSpeed As Double?
+            If _gearDlg.tbMaxOutShaftTorque.Text.Length > 0 Then
+                outputShaftTorque = Convert.ToDouble(_gearDlg.tbMaxOutShaftTorque.Text)
+            End If
+            If _gearDlg.tbMaxOutShaftSpeed.Text.Length > 0 Then
+                outputShaftSpeed = Convert.ToDouble(_gearDlg.tbMaxOutShaftSpeed.Text)
+            End If
+            Dim entry = CreateListViewItem(ratio, outputShaftTorque, outputShaftSpeed)
+            _lvGear.Items.Add(entry)
+            AddPowerMapEntry(lvPowerMap1, _lvGear.Items.Count)
+            AddPowerMapEntry(lvPowerMap2, _lvGear.Items.Count)
+            _gearDlg.Clear()
+        End If
+
+    End Sub
+
+    Private Sub AddPowerMapEntry(powerMapListView As ListView, gearIndex As Integer)
+        Dim retVal As New ListViewItem
+        retVal.SubItems(0).Text = gearIndex.ToString()
+        powerMapListView.Items.Add(retVal)
+    End Sub
+
+
+
+    Private Sub lvGear_DoubleClick(sender As Object, e As EventArgs) Handles lvGear.DoubleClick
+
+        If lvGear.SelectedItems.Count = 0 Then Exit Sub
+
+        Dim entry As ListViewItem = lvGear.SelectedItems(0)
+
+        _gearDlg.tbRatio.Text = entry.SubItems(0).Text
+        _gearDlg.tbMaxOutShaftSpeed.Text = entry.SubItems(1).Text
+        _gearDlg.tbMaxOutShaftTorque.Text = entry.SubItems(2).Text
+        _gearDlg.tbRatio.Focus()
+
+        If _gearDlg.ShowDialog() = DialogResult.OK Then
+            entry.SubItems(0).Text = _gearDlg.tbRatio.Text
+            entry.SubItems(1).Text = _gearDlg.tbMaxOutShaftSpeed.Text
+            entry.SubItems(2).Text = _gearDlg.tbMaxOutShaftTorque.Text
+        End If
+
+    End Sub
+
+    Private Sub lvDragCurve_DoubleClick(sender As Object, e As EventArgs) Handles lvDragCurve.DoubleClick
+        EditEntry(_dragCurveDlg, lvDragCurve)
+    End Sub
+
+    Private Sub lvPowerMap1_DoubleClick(sender As Object, e As EventArgs) Handles lvPowerMap1.DoubleClick
+        EditEntry(_powerMapDlg, lvPowerMap1)
+    End Sub
+
+    Private Sub lvPowerMap2_DoubleClick(sender As Object, e As EventArgs) Handles lvPowerMap2.DoubleClick
+        EditEntry(_powerMapDlg, lvPowerMap2)
+    End Sub
+
+    Private Sub EditEntry(dialog As IEPCInputDialog, listView As ListView)
+
+        If listView.SelectedItems.Count = 0 Then Exit Sub
+
+        Dim entry As ListViewItem = listView.SelectedItems(0)
+        dialog.tbGear.Text = entry.SubItems(0).Text
+        If entry.SubItems.Count = 2 Then
+            dialog.tbInputFile.Text = entry.SubItems(1).Text
+        End If
+        dialog.tbGear.Focus()
+
+        If dialog.ShowDialog() = DialogResult.OK Then
+            entry.SubItems(0).Text = dialog.tbGear.Text
+            entry.SubItems(1).Text = dialog.tbInputFile.Text
+        End If
+
+    End Sub
+
+    Private Sub btFLCurveFile1_Click(sender As Object, e As EventArgs) Handles btFLCurveFile1.Click
+        If IEPCFLCFileBrowser.OpenDialog(FileRepl(tbFLCurve1.Text, GetPath(_flcFilePath1))) Then
+            tbFLCurve1.Text = GetFilenameWithoutDirectory(IEPCFLCFileBrowser.Files(0), GetPath(_flcFilePath1))
+        End If
+    End Sub
+
+    Private Sub btFLCurveFile2_Click(sender As Object, e As EventArgs) Handles btFLCurveFile2.Click
+        If IEPCFLCFileBrowser.OpenDialog(FileRepl(tbFLCurve2.Text, GetPath(_flcFilePath2))) Then
+            tbFLCurve2.Text = GetFilenameWithoutDirectory(IEPCFLCFileBrowser.Files(0), GetPath(_flcFilePath2))
+        End If
+    End Sub
+
+    Private Sub ToolStripBtNew_Click(sender As Object, e As EventArgs) Handles ToolStripBtNew.Click
+        NewIEPC()
+    End Sub
+
+    Private Sub ToolStripBtOpen_Click(sender As Object, e As EventArgs) Handles ToolStripBtOpen.Click
+        If IEPCFileBrowser.OpenDialog(_iepcFilePath) Then
+            Try
+                ReadIEPCFile(IEPCFileBrowser.Files(0))
+            Catch ex As Exception
+                MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error loading Engine File")
+            End Try
+        End If
+    End Sub
+    
+    #Region "Toolbar"
+
+    Private Sub NewIEPC()
+        tbModel.Text = ""
+        tbInertia.Text = ""
+        cbDifferentialIncluded.Checked = False
+        cbDifferentialIncluded.Checked = False
+        tbNumberOfDesignTypeWheelMotor.Text = ""
+        tbThermalOverload.Text = ""
+
+        tbVoltage1.Text = ""
+        tbContinousTorque1.Text = ""
+        tbContinousTorqueSpeed1.Text = ""
+        tbOverloadTime1.Text = ""
+        tbOverloadTorque1.Text = ""
+        tboverloadTorqueSpeed1.Text = ""
+        tbFLCurve1.Text = ""
+        _flcFilePath1 = ""
+        RemoveAllListViewItems(lvPowerMap1)
+        
+        tbVoltage2.Text = ""
+        tbContinousTorque2.Text = ""
+        tbContinousTorqueSpeed2.Text = ""
+        tbOverloadTime2.Text = ""
+        tbOverloadTorque2.Text = ""
+        tboverloadTorqueSpeed2.Text = ""
+        tbFLCurve2.Text = ""
+        _flcFilePath2 = ""
+        RemoveAllListViewItems(lvPowerMap2)
+        
+        RemoveAllListViewItems(lvDragCurve)
+        RemoveAllListViewItems(lvGear)
+
+        _changed = False
+    End Sub
+
+    Private Sub RemoveAllListViewItems(listView As ListView)
+        If listView.Items.Count = 0 Then
+            Exit Sub
+        Else
+            For Each listItem As ListViewItem In listView.Items
+                listItem.Remove()
+            Next
+        End If
+    End Sub
+
+    Private Sub ToolStripBtSave_Click(sender As Object, e As EventArgs) Handles ToolStripBtSave.Click
+        SaveOrSaveAs(False)
+    End Sub
+
+    Private Sub ToolStripBtSaveAs_Click(sender As Object, e As EventArgs) Handles ToolStripBtSaveAs.Click
+        SaveOrSaveAs(True)
+    End Sub
+
+    Private Sub ToolStripBtSendTo_Click(sender As Object, e As EventArgs) Handles ToolStripBtSendTo.Click
+        If ChangeCheckCancel() Then Exit Sub
+
+        If _iepcFilePath = "" Then
+            If MsgBox("Save file now?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
+                If Not SaveOrSaveAs(True) Then Exit Sub
+            Else
+                Exit Sub
+            End If
+        End If
+
+        If Not VectoJobForm.Visible Then
+            JobDir = ""
+            VectoJobForm.Show()
+            VectoJobForm.VectoNew()
+        Else
+            VectoJobForm.WindowState = FormWindowState.Normal
+        End If
+
+        VectoJobForm.TbENG.Text = GetFilenameWithoutDirectory(_iepcFilePath, JobDir)
+    End Sub
+
+    Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
+        If File.Exists(Path.Combine(MyAppPath, "User Manual\help.html")) Then
+            Dim defaultBrowserPath As String = BrowserUtils.GetDefaultBrowserPath()
+            Process.Start(defaultBrowserPath,
+                          $"""file://{Path.Combine(MyAppPath, "User Manual\help.html#iepc-editor")}""")
+        Else
+            MsgBox("User Manual not found!", MsgBoxStyle.Critical)
+        End If
+    End Sub
+    
+    Private Function SaveOrSaveAs(ByVal saveAs As Boolean) As Boolean
+        If _iepcFilePath = "" Or saveAs Then
+            
+            If IEPCFileBrowser.SaveDialog(_iepcFilePath) Then
+                _iepcFilePath = IEPCFileBrowser.Files(0)
+            Else
+                Return False
+            End If
+        End If
+        Return SaveIEPCToFile(_iepcFilePath)
+    End Function
+    
+    Private Function ValidateData() As IEPCInputData
+
+        If ValidateModel() = False Then Return Nothing
+        If ValidateInertia() = False Then Return Nothing
+        If ValidateNrDesignTypeWheelMotorMeasured() = False Then Return Nothing
+        If ValidateOverloadRecoveryFactor() = False Then Return Nothing
+
+        If ValidateVoltage(tbVoltage1) = False Then Return Nothing
+        If ValidateContinuousTorque(tbContinousTorque1) = False Then Return Nothing
+        If ValidateContinuousTorqueSpeed(tbContinousTorqueSpeed1) = False Then Return Nothing
+        If ValidateOverloadTime(tbOverloadTime1) = False Then Return Nothing
+        If ValidateOverloadTorque(tbOverloadTorque1) = False Then Return Nothing
+        If ValidateOverloadTorqueSpeed(tboverloadTorqueSpeed1) = False Then Return Nothing
+        
+        If ValidateVoltage(tbVoltage2) = False Then Return Nothing
+        If ValidateContinuousTorque(tbContinousTorque2) = False Then Return Nothing
+        If ValidateContinuousTorqueSpeed(tbContinousTorqueSpeed2) = False Then Return Nothing
+        If ValidateOverloadTime(tbOverloadTime2) = False Then Return Nothing
+        If ValidateOverloadTorque(tbOverloadTorque2) = False Then Return Nothing
+        If ValidateOverloadTorqueSpeed(tboverloadTorqueSpeed2) = False Then Return Nothing
+
+        If ValidateAmountOfEntries() = False Then Return Nothing
+        If ValidateFullLoadCurve1() = False Then Return Nothing
+        If ValidateFullLoadCurve2() = False Then Return Nothing
+
+        If ValidatePowerMapEntries(_lvPowerMap1) = False Then Return Nothing
+        If ValidatePowerMapEntries(_lvPowerMap2) = False Then Return Nothing
+
+        Return Nothing
+    End Function
+    
+    Private Function SaveIEPCToFile(ByVal file As String) As Boolean
+        Dim iepc = New IEPCInputData 
+
+        iepc.SetCommonEntries(tbModel.Text, tbInertia.Text, cbDesignTypeWheelMotor.Checked, 
+                              tbNumberOfDesignTypeWheelMotor.Text, cbDifferentialIncluded.Checked,
+                              tbThermalOverload.Text)
+        
+        iepc.SetVoltageLevelEntries(tbVoltage1.Text, tbContinousTorque1.Text, tbContinousTorqueSpeed1.Text,
+                                    tbOverloadTime1.Text, tbOverloadTorque1.Text, tboverloadTorqueSpeed1.Text, 
+                                    tbFLCurve1.Text, lvPowerMap1)
+
+        iepc.SetVoltageLevelEntries(tbVoltage2.Text, tbContinousTorque2.Text, tbContinousTorqueSpeed2.Text,
+                                    tbOverloadTime2.Text, tbOverloadTorque2.Text, tboverloadTorqueSpeed2.Text, 
+                                    tbFLCurve2.Text, lvPowerMap2)
+
+        iepc.SetGearsEntries(lvGear)
+        iepc.SetDragCurveEntries(lvDragCurve)
+
+
+        If Not iepc.SaveFile(file) Then
+            MsgBox("Cannot save to " & file, MsgBoxStyle.Critical)
+            Return False
+        End If
+        
+        _changed = False
+
+        Return True
+    End Function
+
+    Private Sub ShowErrorMessageBox(variableName As string, textbox As TextBox)
+        If Not variableName = Nothing Then
+            MsgBox($"Invalid input for {variableName}")
+            textbox.Focus()
+            Return
+        End If
+    End Sub
+
+    Private Sub ShowErrorMessageBox(variableName As string)
+        If Not variableName = Nothing Then
+            MsgBox($"Invalid input for {variableName}")
+            Return
+        End If
+    End Sub
+    
+#End Region
+
+
+    Private Function ChangeCheckCancel() As Boolean
+
+        If _changed Then
+            Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel)
+                Case MsgBoxResult.Yes
+                    'Return Not SaveOrSaveAs(False)
+                Case MsgBoxResult.Cancel
+                    Return True
+                Case Else
+                    _changed = False
+                    Return False
+            End Select
+        Else
+            Return False
+        End If
+
+    End Function
+
+
+    Private Sub ButOK_Click(sender As Object, e As EventArgs) Handles ButOK.Click
+        'ValidateData()
+        SaveOrSaveAs(true)
+
+    End Sub
+
+    Private Sub ButCancel_Click(sender As Object, e As EventArgs) Handles ButCancel.Click
+        Close()
+        _changed = False
+    End Sub
+
+
+    #Region "Validate Input"
+     
+    Private Function ValidateModel() As Boolean
+        If String.IsNullOrEmpty(tbModel.Text) Then
+            ShowErrorMessageBox("Model", tbModel)
+            Return False
+        End If
+        Return True
+    End Function
+    
+    Private Function ValidateInertia() As Boolean
+        If Not ValidDoubleValue(tbInertia.Text) Then
+            ShowErrorMessageBox("Inertia", tbInertia)
+            Return False
+        End If
+        Return True
+    End Function
+
+    Private Function ValidateNrDesignTypeWheelMotorMeasured() As Boolean 
+        If Not cbDesignTypeWheelMotor.Checked AND Not ValidDoubleValue(tbNumberOfDesignTypeWheelMotor.Text) Then
+            ShowErrorMessageBox("Nr of Design Type Wheel Motor Measured", tbNumberOfDesignTypeWheelMotor)
+            Return False
+        End If
+        Return True
+    End Function
+
+    Private Function ValidateOverloadRecoveryFactor() As Boolean
+        If Not ValidDoubleValue(tbThermalOverload.Text) Then
+            ShowErrorMessageBox("Thermal Overload Recovery Factor", tbThermalOverload)
+            Return False
+        End If
+        Return True
+    End Function
+
+    Private Function ValidateVoltage(tb As TextBox) As Boolean
+        If Not ValidDoubleValue(tb.Text) Then
+            ShowErrorMessageBox("Voltage", tb)
+            Return False
+        End If
+        Return True
+    End Function
+
+    Private Function ValidateContinuousTorque(tb As TextBox) As Boolean
+        If Not ValidDoubleValue(tb.Text) Then
+            ShowErrorMessageBox("Continuous Torque", tb)
+            Return False
+        End If
+        Return True
+    End Function
+
+    Private Function ValidateContinuousTorqueSpeed(tb As TextBox) As Boolean
+        If Not ValidDoubleValue(tb.Text) Then
+            ShowErrorMessageBox("Continuous Torque", tb)
+            Return False
+        End If
+        Return True
+    End Function
+
+    Private Function ValidateOverloadTime(tb As TextBox) As Boolean
+        If Not ValidDoubleValue(tb.Text) Then
+            ShowErrorMessageBox("Overload Time", tb)
+            Return False
+        End If
+        Return True
+    End Function
+
+    Private Function ValidateOverloadTorque(tb As TextBox) As Boolean
+        If Not ValidDoubleValue(tb.Text) Then
+            ShowErrorMessageBox("Overload Torque", tb)
+            Return False
+        End If
+        Return True
+    End Function
+
+    Private Function ValidateOverloadTorqueSpeed(tb As TextBox) As Boolean
+        If Not ValidDoubleValue(tb.Text) Then
+            ShowErrorMessageBox("Overload Torque Speed", tb)
+            Return False
+        End If
+        Return True
+    End Function
+    
+    Private Function ValidateAmountOfEntries() As Boolean
+        If _lvGear.Items.Count = 0 Then
+            ShowErrorMessageBox("Invalid input no Gear given")
+            Return False
+        End If
+
+        If Not _lvPowerMap1.Items.Count = _lvGear.Items.Count Then
+            ShowErrorMessageBox("Invalid number of Power Map entries at First Voltage Level")
+            Return False
+        End If
+        
+        If Not _lvPowerMap2.Items.Count = _lvGear.Items.Count Then
+            ShowErrorMessageBox("Invalid number of Power Map entries at Secondary Voltage Level")
+            Return False
+        End If
+
+        If _lvDragCurve.Items.Count = 0 
+            ShowErrorMessageBox("Invalid input no Drag Curve given")
+            Return False
+        End If
+
+        If Not _lvDragCurve.Items.Count = _lvGear.Items.Count And _lvDragCurve.Items.Count > 1
+            ShowErrorMessageBox("Invalid numbers of Drag Curves given")
+            Return False
+        End If
+
+        Return True
+    End Function
+
+    Private Function ValidateFullLoadCurve1() As Boolean
+        If Not File.Exists(tbFLCurve1.Text) Then
+            ShowErrorMessageBox("Invalid input no valid file path given", tbFLCurve1)
+            Return False
+        End If
+		
+        Dim fileExtension = new FileInfo(tbFLCurve1.Text).Extension
+        If Not IEPCFLCFileBrowser.Extensions.First() = fileExtension Then
+            ShowErrorMessageBox($"The Selected Full Load Curve file(.{IEPCFLCFileBrowser.Extensions.First()}) has the wrong extension",
+                                tbFLCurve1)
+            Return False		
+        End If
+        Return True
+    End Function
+
+    Private Function ValidateFullLoadCurve2() As Boolean
+        If Not File.Exists(tbFLCurve2.Text) Then
+            ShowErrorMessageBox("Invalid input no valid file path given", tbFLCurve2)
+            Return False
+        End If
+		
+        Dim fileExtension = new FileInfo(tbFLCurve2.Text).Extension
+        If Not IEPCFLCFileBrowser.Extensions.First() = fileExtension Then
+            ShowErrorMessageBox($"The Selected Full Load Curve file(.{IEPCFLCFileBrowser.Extensions.First()}) has the wrong file extension",
+                                tbFLCurve2)
+            Return False		
+        End If
+        Return True
+    End Function
+
+    Private Function ValidatePowerMapEntries(powerMap as ListView) As Boolean
+
+        For Each entry As ListViewItem In powerMap.Items
+            If entry.SubItems.Count = 1 Then
+                MsgBox("Invalid input missing Power Map files")
+                Return false
+            End If
+
+            If entry.SubItems.Count = 2 Then
+                Dim fileExtension = new FileInfo(entry.SubItems(1).Text).Extension
+                If Not IEPCPowerMapFileBrowser.Extensions.First() = fileExtension
+                    ShowErrorMessageBox($"The Selected Full Load Curve file(.{IEPCPowerMapFileBrowser.Extensions.First()}) has the wrong file extension")
+                    Return false
+                End If
+            End If
+        Next
+        Return True
+
+    End Function
+
+
+    
+    Private Function ValidDoubleValue(value As string) As Boolean
+        If String.IsNullOrEmpty(value)
+            Return false
+        End If
+        Return IsNumeric(value)
+    End Function
+   
+#End Region
+
+    Private Sub cbDesignTypeWheelMotor_CheckedChanged(sender As Object, e As EventArgs) Handles cbDesignTypeWheelMotor.CheckedChanged
+        tbNumberOfDesignTypeWheelMotor.Enabled = cbDesignTypeWheelMotor.Checked
+        If tbNumberOfDesignTypeWheelMotor.Enabled = False Then _
+            tbNumberOfDesignTypeWheelMotor.Text = ""
+    End Sub
+    
+End Class
\ No newline at end of file
diff --git a/VECTO/GUI/IEPCGearInputDialog.Designer.vb b/VECTO/GUI/IEPCGearInputDialog.Designer.vb
new file mode 100644
index 0000000000000000000000000000000000000000..e1720da1c426b5dc760dedea234b59004ad3a296
--- /dev/null
+++ b/VECTO/GUI/IEPCGearInputDialog.Designer.vb
@@ -0,0 +1,226 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class IEPCGearInputDialog
+	Inherits System.Windows.Forms.Form
+
+	'Form overrides dispose to clean up the component list.
+	<System.Diagnostics.DebuggerNonUserCode()> _
+	Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+		Try
+			If disposing AndAlso components IsNot Nothing Then
+				components.Dispose()
+			End If
+		Finally
+			MyBase.Dispose(disposing)
+		End Try
+	End Sub
+
+	'Required by the Windows Form Designer
+	Private components As System.ComponentModel.IContainer
+
+	'NOTE: The following procedure is required by the Windows Form Designer
+	'It can be modified using the Windows Form Designer.  
+	'Do not modify it using the code editor.
+	<System.Diagnostics.DebuggerStepThrough()> _
+	Private Sub InitializeComponent()
+        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
+        Me.Label5 = New System.Windows.Forms.Label()
+        Me.Label4 = New System.Windows.Forms.Label()
+        Me.Label6 = New System.Windows.Forms.Label()
+        Me.tbRatio = New System.Windows.Forms.TextBox()
+        Me.tbMaxOutShaftTorque = New System.Windows.Forms.TextBox()
+        Me.tbMaxOutShaftSpeed = New System.Windows.Forms.TextBox()
+        Me.Label3 = New System.Windows.Forms.Label()
+        Me.Label1 = New System.Windows.Forms.Label()
+        Me.Label2 = New System.Windows.Forms.Label()
+        Me.TableLayoutPanel5 = New System.Windows.Forms.TableLayoutPanel()
+        Me.btnOk = New System.Windows.Forms.Button()
+        Me.btnCancel = New System.Windows.Forms.Button()
+        Me.TableLayoutPanel1.SuspendLayout
+        Me.TableLayoutPanel5.SuspendLayout
+        Me.SuspendLayout
+        '
+        'TableLayoutPanel1
+        '
+        Me.TableLayoutPanel1.ColumnCount = 6
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 25!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 85!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 38!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 25!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20!))
+        Me.TableLayoutPanel1.Controls.Add(Me.Label5, 3, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label4, 3, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label6, 3, 2)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbRatio, 2, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbMaxOutShaftTorque, 2, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbMaxOutShaftSpeed, 2, 2)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label3, 1, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label1, 1, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label2, 1, 2)
+        Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top
+        Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
+        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+        Me.TableLayoutPanel1.RowCount = 3
+        Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30!))
+        Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30!))
+        Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30!))
+        Me.TableLayoutPanel1.Size = New System.Drawing.Size(295, 91)
+        Me.TableLayoutPanel1.TabIndex = 0
+        '
+        'Label5
+        '
+        Me.Label5.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label5.AutoSize = true
+        Me.Label5.Location = New System.Drawing.Point(241, 8)
+        Me.Label5.Name = "Label5"
+        Me.Label5.Size = New System.Drawing.Size(16, 13)
+        Me.Label5.TabIndex = 64
+        Me.Label5.Text = "[-]"
+        '
+        'Label4
+        '
+        Me.Label4.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label4.AutoSize = true
+        Me.Label4.Location = New System.Drawing.Point(234, 38)
+        Me.Label4.Name = "Label4"
+        Me.Label4.Size = New System.Drawing.Size(29, 13)
+        Me.Label4.TabIndex = 64
+        Me.Label4.Text = "[Nm]"
+        '
+        'Label6
+        '
+        Me.Label6.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label6.AutoSize = true
+        Me.Label6.Location = New System.Drawing.Point(234, 69)
+        Me.Label6.Name = "Label6"
+        Me.Label6.Size = New System.Drawing.Size(30, 13)
+        Me.Label6.TabIndex = 65
+        Me.Label6.Text = "[rpm]"
+        '
+        'tbRatio
+        '
+        Me.tbRatio.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbRatio.Location = New System.Drawing.Point(149, 5)
+        Me.tbRatio.Name = "tbRatio"
+        Me.tbRatio.Size = New System.Drawing.Size(77, 20)
+        Me.tbRatio.TabIndex = 8
+        Me.tbRatio.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
+        '
+        'tbMaxOutShaftTorque
+        '
+        Me.tbMaxOutShaftTorque.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbMaxOutShaftTorque.Location = New System.Drawing.Point(149, 35)
+        Me.tbMaxOutShaftTorque.Name = "tbMaxOutShaftTorque"
+        Me.tbMaxOutShaftTorque.Size = New System.Drawing.Size(77, 20)
+        Me.tbMaxOutShaftTorque.TabIndex = 8
+        Me.tbMaxOutShaftTorque.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
+        '
+        'tbMaxOutShaftSpeed
+        '
+        Me.tbMaxOutShaftSpeed.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbMaxOutShaftSpeed.Location = New System.Drawing.Point(149, 65)
+        Me.tbMaxOutShaftSpeed.Name = "tbMaxOutShaftSpeed"
+        Me.tbMaxOutShaftSpeed.Size = New System.Drawing.Size(77, 20)
+        Me.tbMaxOutShaftSpeed.TabIndex = 8
+        Me.tbMaxOutShaftSpeed.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
+        '
+        'Label3
+        '
+        Me.Label3.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label3.AutoSize = true
+        Me.Label3.Location = New System.Drawing.Point(113, 8)
+        Me.Label3.Margin = New System.Windows.Forms.Padding(0)
+        Me.Label3.Name = "Label3"
+        Me.Label3.Size = New System.Drawing.Size(32, 13)
+        Me.Label3.TabIndex = 9
+        Me.Label3.Text = "Ratio"
+        '
+        'Label1
+        '
+        Me.Label1.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label1.AutoSize = true
+        Me.Label1.Location = New System.Drawing.Point(41, 38)
+        Me.Label1.Margin = New System.Windows.Forms.Padding(0)
+        Me.Label1.Name = "Label1"
+        Me.Label1.Size = New System.Drawing.Size(104, 13)
+        Me.Label1.TabIndex = 9
+        Me.Label1.Text = "Max out shaft torque"
+        '
+        'Label2
+        '
+        Me.Label2.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label2.AutoSize = true
+        Me.Label2.Location = New System.Drawing.Point(42, 69)
+        Me.Label2.Margin = New System.Windows.Forms.Padding(0)
+        Me.Label2.Name = "Label2"
+        Me.Label2.Size = New System.Drawing.Size(103, 13)
+        Me.Label2.TabIndex = 9
+        Me.Label2.Text = "Max out shaft speed"
+        '
+        'TableLayoutPanel5
+        '
+        Me.TableLayoutPanel5.ColumnCount = 2
+        Me.TableLayoutPanel5.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50!))
+        Me.TableLayoutPanel5.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50!))
+        Me.TableLayoutPanel5.Controls.Add(Me.btnOk, 0, 0)
+        Me.TableLayoutPanel5.Controls.Add(Me.btnCancel, 1, 0)
+        Me.TableLayoutPanel5.Location = New System.Drawing.Point(147, 106)
+        Me.TableLayoutPanel5.Name = "TableLayoutPanel5"
+        Me.TableLayoutPanel5.RowCount = 1
+        Me.TableLayoutPanel5.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50!))
+        Me.TableLayoutPanel5.Size = New System.Drawing.Size(148, 29)
+        Me.TableLayoutPanel5.TabIndex = 5
+        '
+        'btnOk
+        '
+        Me.btnOk.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.btnOk.Location = New System.Drawing.Point(3, 3)
+        Me.btnOk.Name = "btnOk"
+        Me.btnOk.Size = New System.Drawing.Size(67, 23)
+        Me.btnOk.TabIndex = 0
+        Me.btnOk.Text = "OK"
+        '
+        'btnCancel
+        '
+        Me.btnCancel.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.btnCancel.Location = New System.Drawing.Point(77, 3)
+        Me.btnCancel.Name = "btnCancel"
+        Me.btnCancel.Size = New System.Drawing.Size(67, 23)
+        Me.btnCancel.TabIndex = 1
+        Me.btnCancel.Text = "Cancel"
+        '
+        'IEPCGearInputDialog
+        '
+        Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!)
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.ClientSize = New System.Drawing.Size(295, 140)
+        Me.Controls.Add(Me.TableLayoutPanel5)
+        Me.Controls.Add(Me.TableLayoutPanel1)
+        Me.MaximizeBox = false
+        Me.MinimizeBox = false
+        Me.Name = "IEPCGearInputDialog"
+        Me.ShowInTaskbar = false
+        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+        Me.Text = "IEPCGearInputDialog"
+        Me.TableLayoutPanel1.ResumeLayout(false)
+        Me.TableLayoutPanel1.PerformLayout
+        Me.TableLayoutPanel5.ResumeLayout(false)
+        Me.ResumeLayout(false)
+
+End Sub
+
+	Friend WithEvents TableLayoutPanel1 As TableLayoutPanel
+	Friend WithEvents Label1 As Label
+	Friend WithEvents tbMaxOutShaftTorque As TextBox
+	Friend WithEvents Label2 As Label
+	Friend WithEvents tbMaxOutShaftSpeed As TextBox
+	Friend WithEvents Label3 As Label
+	Friend WithEvents tbRatio As TextBox
+	Friend WithEvents Label4 As Label
+	Friend WithEvents Label6 As Label
+	Friend WithEvents Label5 As Label
+	Friend WithEvents TableLayoutPanel5 As TableLayoutPanel
+	Friend WithEvents btnOk As Button
+	Friend WithEvents btnCancel As Button
+End Class
diff --git a/VECTO/GUI/IEPCGearInputDialog.resx b/VECTO/GUI/IEPCGearInputDialog.resx
new file mode 100644
index 0000000000000000000000000000000000000000..1af7de150c99c12dd67a509fe57c10d63e4eeb04
--- /dev/null
+++ b/VECTO/GUI/IEPCGearInputDialog.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/VECTO/GUI/IEPCGearInputDialog.vb b/VECTO/GUI/IEPCGearInputDialog.vb
new file mode 100644
index 0000000000000000000000000000000000000000..a665f8c913121e03ac7aade686f5f00fb153f51c
--- /dev/null
+++ b/VECTO/GUI/IEPCGearInputDialog.vb
@@ -0,0 +1,41 @@
+Public Class IEPCGearInputDialog
+	Public Sub Clear()
+		_tbRatio.Text = ""
+		_tbMaxOutShaftSpeed.Text = ""
+		_tbMaxOutShaftTorque.Text = ""
+		_tbRatio.Focus()
+	End Sub
+
+	Private Sub btnOk_Click(sender As Object, e As EventArgs) Handles btnOk.Click
+		If Not IsNumeric(_tbRatio.Text) Then
+			MsgBox("Invalid input for Gear")
+			_tbRatio.Focus()
+			Return
+		End If
+
+		If tbMaxOutShaftTorque.Text.Length > 0 And Not IsNumeric(_tbMaxOutShaftTorque.Text) Then
+			MsgBox("Invalid input for Max Out Shaft Torque")
+			_tbMaxOutShaftTorque.Focus()
+			Return
+		End If
+
+		If _tbMaxOutShaftSpeed.Text.Length > 0 And Not IsNumeric(_tbMaxOutShaftSpeed.Text) Then
+			MsgBox("Invalid input for Max Out Shaft Speed")
+			_tbMaxOutShaftSpeed.Focus()
+			Return
+		End If
+
+		DialogResult = DialogResult.OK
+		Close()
+	End Sub
+
+	Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
+		DialogResult = DialogResult.Cancel
+		Close()
+		Clear()
+	End Sub
+
+	Private Sub IEPCGearInputDialog_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+		_tbRatio.Focus()
+	End Sub
+End Class
\ No newline at end of file
diff --git a/VECTO/GUI/IEPCInputDialog.Designer.vb b/VECTO/GUI/IEPCInputDialog.Designer.vb
new file mode 100644
index 0000000000000000000000000000000000000000..23ea47bfbce34d5258fd12cf6541bbc51b277819
--- /dev/null
+++ b/VECTO/GUI/IEPCInputDialog.Designer.vb
@@ -0,0 +1,191 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
+Partial Class IEPCInputDialog
+	Inherits System.Windows.Forms.Form
+
+	'Form overrides dispose to clean up the component list.
+	<System.Diagnostics.DebuggerNonUserCode()>
+	Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+		Try
+			If disposing AndAlso components IsNot Nothing Then
+				components.Dispose()
+			End If
+		Finally
+			MyBase.Dispose(disposing)
+		End Try
+	End Sub
+
+	'Required by the Windows Form Designer
+	Private components As System.ComponentModel.IContainer
+
+	'NOTE: The following procedure is required by the Windows Form Designer
+	'It can be modified using the Windows Form Designer.  
+	'Do not modify it using the code editor.
+	<System.Diagnostics.DebuggerStepThrough()>
+	Private Sub InitializeComponent()
+		Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(IEPCInputDialog))
+		Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
+		Me.btnOk = New System.Windows.Forms.Button()
+		Me.btnCancel = New System.Windows.Forms.Button()
+		Me.TableLayoutPanel3 = New System.Windows.Forms.TableLayoutPanel()
+		Me.TableLayoutPanel5 = New System.Windows.Forms.TableLayoutPanel()
+		Me.btAddFilePath = New System.Windows.Forms.Button()
+		Me.tbInputFile = New System.Windows.Forms.TextBox()
+		Me.TableLayoutPanel4 = New System.Windows.Forms.TableLayoutPanel()
+		Me.Label3 = New System.Windows.Forms.Label()
+		Me.tbGear = New System.Windows.Forms.TextBox()
+		Me.TableLayoutPanel1.SuspendLayout()
+		Me.TableLayoutPanel3.SuspendLayout()
+		Me.TableLayoutPanel5.SuspendLayout()
+		Me.TableLayoutPanel4.SuspendLayout()
+		Me.SuspendLayout()
+		'
+		'TableLayoutPanel1
+		'
+		Me.TableLayoutPanel1.ColumnCount = 2
+		Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+		Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+		Me.TableLayoutPanel1.Controls.Add(Me.btnOk, 0, 0)
+		Me.TableLayoutPanel1.Controls.Add(Me.btnCancel, 1, 0)
+		Me.TableLayoutPanel1.Location = New System.Drawing.Point(356, 57)
+		Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+		Me.TableLayoutPanel1.RowCount = 1
+		Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+		Me.TableLayoutPanel1.Size = New System.Drawing.Size(148, 29)
+		Me.TableLayoutPanel1.TabIndex = 4
+		'
+		'btnOk
+		'
+		Me.btnOk.Anchor = System.Windows.Forms.AnchorStyles.None
+		Me.btnOk.Location = New System.Drawing.Point(3, 3)
+		Me.btnOk.Name = "btnOk"
+		Me.btnOk.Size = New System.Drawing.Size(67, 23)
+		Me.btnOk.TabIndex = 0
+		Me.btnOk.Text = "OK"
+		'
+		'btnCancel
+		'
+		Me.btnCancel.Anchor = System.Windows.Forms.AnchorStyles.None
+		Me.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
+		Me.btnCancel.Location = New System.Drawing.Point(77, 3)
+		Me.btnCancel.Name = "btnCancel"
+		Me.btnCancel.Size = New System.Drawing.Size(67, 23)
+		Me.btnCancel.TabIndex = 1
+		Me.btnCancel.Text = "Cancel"
+		'
+		'TableLayoutPanel3
+		'
+		Me.TableLayoutPanel3.ColumnCount = 2
+		Me.TableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 28.3906!))
+		Me.TableLayoutPanel3.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 71.60941!))
+		Me.TableLayoutPanel3.Controls.Add(Me.TableLayoutPanel5, 1, 0)
+		Me.TableLayoutPanel3.Controls.Add(Me.TableLayoutPanel4, 0, 0)
+		Me.TableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Top
+		Me.TableLayoutPanel3.Location = New System.Drawing.Point(0, 0)
+		Me.TableLayoutPanel3.Name = "TableLayoutPanel3"
+		Me.TableLayoutPanel3.RowCount = 1
+		Me.TableLayoutPanel3.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+		Me.TableLayoutPanel3.Size = New System.Drawing.Size(509, 49)
+		Me.TableLayoutPanel3.TabIndex = 7
+		'
+		'TableLayoutPanel5
+		'
+		Me.TableLayoutPanel5.Anchor = System.Windows.Forms.AnchorStyles.None
+		Me.TableLayoutPanel5.ColumnCount = 2
+		Me.TableLayoutPanel5.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 316.0!))
+		Me.TableLayoutPanel5.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 40.0!))
+		Me.TableLayoutPanel5.Controls.Add(Me.btAddFilePath, 1, 0)
+		Me.TableLayoutPanel5.Controls.Add(Me.tbInputFile, 0, 0)
+		Me.TableLayoutPanel5.Location = New System.Drawing.Point(148, 5)
+		Me.TableLayoutPanel5.Name = "TableLayoutPanel5"
+		Me.TableLayoutPanel5.RowCount = 1
+		Me.TableLayoutPanel5.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
+		Me.TableLayoutPanel5.Size = New System.Drawing.Size(356, 39)
+		Me.TableLayoutPanel5.TabIndex = 8
+		'
+		'btAddFilePath
+		'
+		Me.btAddFilePath.Anchor = System.Windows.Forms.AnchorStyles.None
+		Me.btAddFilePath.Image = CType(resources.GetObject("btAddFilePath.Image"), System.Drawing.Image)
+		Me.btAddFilePath.Location = New System.Drawing.Point(324, 6)
+		Me.btAddFilePath.Name = "btAddFilePath"
+		Me.btAddFilePath.Size = New System.Drawing.Size(24, 26)
+		Me.btAddFilePath.TabIndex = 30
+		Me.btAddFilePath.UseVisualStyleBackColor = True
+		'
+		'tbInputFile
+		'
+		Me.tbInputFile.Anchor = CType((System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+		Me.tbInputFile.Location = New System.Drawing.Point(3, 9)
+		Me.tbInputFile.Name = "tbInputFile"
+		Me.tbInputFile.Size = New System.Drawing.Size(310, 20)
+		Me.tbInputFile.TabIndex = 0
+		'
+		'TableLayoutPanel4
+		'
+		Me.TableLayoutPanel4.Anchor = System.Windows.Forms.AnchorStyles.None
+		Me.TableLayoutPanel4.ColumnCount = 2
+		Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 32.8!))
+		Me.TableLayoutPanel4.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67.2!))
+		Me.TableLayoutPanel4.Controls.Add(Me.Label3, 0, 0)
+		Me.TableLayoutPanel4.Controls.Add(Me.tbGear, 1, 0)
+		Me.TableLayoutPanel4.Location = New System.Drawing.Point(9, 10)
+		Me.TableLayoutPanel4.Name = "TableLayoutPanel4"
+		Me.TableLayoutPanel4.RowCount = 1
+		Me.TableLayoutPanel4.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
+		Me.TableLayoutPanel4.Size = New System.Drawing.Size(125, 28)
+		Me.TableLayoutPanel4.TabIndex = 10
+		'
+		'Label3
+		'
+		Me.Label3.Anchor = System.Windows.Forms.AnchorStyles.None
+		Me.Label3.AutoSize = True
+		Me.Label3.Location = New System.Drawing.Point(5, 7)
+		Me.Label3.Name = "Label3"
+		Me.Label3.Size = New System.Drawing.Size(30, 13)
+		Me.Label3.TabIndex = 9
+		Me.Label3.Text = "Gear"
+		'
+		'tbGear
+		'
+		Me.tbGear.Anchor = System.Windows.Forms.AnchorStyles.None
+		Me.tbGear.Location = New System.Drawing.Point(44, 4)
+		Me.tbGear.Name = "tbGear"
+		Me.tbGear.Size = New System.Drawing.Size(77, 20)
+		Me.tbGear.TabIndex = 8
+		Me.tbGear.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
+		'
+		'IEPCInputDialog
+		'
+		Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+		Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+		Me.ClientSize = New System.Drawing.Size(509, 98)
+		Me.Controls.Add(Me.TableLayoutPanel1)
+		Me.Controls.Add(Me.TableLayoutPanel3)
+		Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
+		Me.MaximizeBox = False
+		Me.MinimizeBox = False
+		Me.Name = "IEPCInputDialog"
+		Me.ShowInTaskbar = False
+		Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
+		Me.Text = "IEPCInputDialog"
+		Me.TableLayoutPanel1.ResumeLayout(False)
+		Me.TableLayoutPanel3.ResumeLayout(False)
+		Me.TableLayoutPanel5.ResumeLayout(False)
+		Me.TableLayoutPanel5.PerformLayout()
+		Me.TableLayoutPanel4.ResumeLayout(False)
+		Me.TableLayoutPanel4.PerformLayout()
+		Me.ResumeLayout(False)
+
+	End Sub
+
+	Friend WithEvents TableLayoutPanel1 As TableLayoutPanel
+	Friend WithEvents btnOk As Button
+	Friend WithEvents btnCancel As Button
+	Friend WithEvents TableLayoutPanel3 As TableLayoutPanel
+	Friend WithEvents TableLayoutPanel4 As TableLayoutPanel
+	Friend WithEvents Label3 As Label
+	Friend WithEvents tbGear As TextBox
+	Friend WithEvents TableLayoutPanel5 As TableLayoutPanel
+	Friend WithEvents tbInputFile As TextBox
+	Friend WithEvents btAddFilePath As Button
+End Class
diff --git a/VECTO/GUI/IEPCInputDialog.resx b/VECTO/GUI/IEPCInputDialog.resx
new file mode 100644
index 0000000000000000000000000000000000000000..d7df802e6a121253252b1d61a2a6a094ca6be3eb
--- /dev/null
+++ b/VECTO/GUI/IEPCInputDialog.resx
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="btAddFilePath.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAtVJREFUOE+FkmtIk2EYhhc6zU1zyjyAlZn5Q0QS6k/EMDDSQiuzkmxM5wpEA00S
+        zTzbsozQEDUyVKjQbejUPGQSyyjUmofysFRKU/M859J5qORu77s1KX/0wPXju7/vvp4X3o/RVsHv7pDy
+        0VklwIfaCPTXCzHQEPkXn5pEUDWJNH31kRGMf4eUocvF7GAShlqjQZ6H3qZjYUICQGliVfscvc+EGmNt
+        c0hhY/kONpYMrC/cwowqiYowchcYNaKRoa7mDDyfcuFRYpdnrBsEv7S3KT8XCTkUkq/3xGOj9xrQn0Cp
+        qQrGvnJ7uJTuwK58G4VJ8GMhh25eV29Ccp0yDmvd8SZBV7UA7sW2R5wfWsO+0ApO2ewMKlibE2N11siM
+        GCt6SL7YEQtdZxxUShECq7wQ9MQLZKnTfbbcqpQJuwxLDRWsTN+EbiobuslsLBsh+eybK3j/WgBfmQeq
+        1RKcqPalAgexlYIIrNMtQAVLE1lYGs/Cd8JYJrR6SK5ovoCzjTzI1VLE9gjgVsiBYza7jJvHAhGwkpkG
+        gfZrJhZHM6D5QtBf4ed0yKSnENLEg0L3AlHKIBxq2Ik9BRy4FNrA4bFBYJlgbhCQgno4DeqhNMwPpuFb
+        TyICan3waqUF0coAHGtxpwJvuSPcJBwqYBUzwby8TUEF84OpmFOlYnYghR69XcLHUdl+RLX7I6TVc4uA
+        W8aCZZy5hhnO8KECUpzuu4Gpj8lU0FgShuIHgeAVucK/0d0k8KzgwjGXje0xZiPMS/oyGVIgxcme65jo
+        MvyBNUWhqMw/j7ryi+Dlu+KwfDcVcNNYEOfx6E2Ypq0iVKN6GYNxZRLG3iVSQXnOcRSk+EGadxK1j4Jx
+        IMsZPhXOsE+2QnPZOcPmP9MtD+d0SMPkXTVCDLdeRadciPjIg7H6V3sNXzAYtrEMjmW0udxCZFZmjLZO
+        eyX/NDkNOcG9FD9vY/yfYTB+A9kMOLKC3dXwAAAAAElFTkSuQmCC
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/VECTO/GUI/IEPCInputDialog.vb b/VECTO/GUI/IEPCInputDialog.vb
new file mode 100644
index 0000000000000000000000000000000000000000..0a0701e69588bf6d9318519c2d0a3dd8ca32a716
--- /dev/null
+++ b/VECTO/GUI/IEPCInputDialog.vb
@@ -0,0 +1,110 @@
+Imports System.IO
+
+Public Enum IEPCDialogType
+	DragCurveDialog
+	PowerMapDialog
+End Enum
+
+Public Class IEPCInputDialog
+
+	Private ReadOnly _dialogType As IEPCDialogType
+	Private _dragCurveFilePath As String
+	Private _powerMapFilePath As String
+
+	Public Sub New(dialogType As IEPCDialogType)
+
+		' This call is required by the designer.
+		InitializeComponent()
+
+		' Add any initialization after the InitializeComponent() call.
+		SetDialogTitle(dialogType)
+		_dialogType = dialogType
+
+    End Sub
+
+	Public Sub Clear()
+		_tbGear.Text = ""
+		_tbInputFile.Text = ""
+		tbGear.Focus()
+	End Sub
+
+
+#Region "Button Handling"
+
+	Private Sub btnOk_Click(sender As Object, e As EventArgs) Handles btnOk.Click
+		Dim gear As Integer
+		If Not Integer.TryParse(tbGear.Text, gear) Then
+			MsgBox("Invalid input for Gear")
+			tbGear.Focus()
+			Return
+		End If
+
+		If gear < 0 Then
+			MsgBox("Invalid input for Gear")
+			tbGear.Focus()
+			Return
+		End If
+
+		If tbInputFile.Text.Length = 0 Then
+			MsgBox("Invalid input no file path given")
+			tbGear.Focus()
+			Return
+		End If
+
+	    If Not File.Exists(tbInputFile.Text) Then
+	        MsgBox("Invalid input no valid file path given")
+	        tbInputFile.Focus()
+			Return
+	    End If
+		
+		Dim fileExtension = new FileInfo(tbInputFile.Text).Extension
+        Select Case _dialogType
+            Case IEPCDialogType.DragCurveDialog
+				If Not IEPCDragFileBrowser.Extensions.First() = fileExtension Then
+				    MsgBox($"The Selected Drag Curve file(.{IEPCDragFileBrowser.Extensions.First()}) has the wrong file extension")
+				    Return		
+				End If
+			Case IEPCDialogType.PowerMapDialog
+			    If Not IEPCPowerMapFileBrowser.Extensions.First() = fileExtension Then
+			        MsgBox($"The Selected Power Map file(.{IEPCPowerMapFileBrowser.Extensions.First()}) has the wrong file extension")
+					Return
+			    End If
+        End Select
+
+		DialogResult = DialogResult.OK
+		Close()
+	End Sub
+
+	Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
+		DialogResult = DialogResult.Cancel
+		Close()
+		Clear()
+	End Sub
+
+	Private Sub btAddFilePath_Click(sender As Object, e As EventArgs) Handles btAddFilePath.Click
+	    Select Case _dialogType
+	        Case IEPCDialogType.DragCurveDialog
+	            SelectInputFileDialog(IEPCDragFileBrowser, _dragCurveFilePath)
+	        Case IEPCDialogType.PowerMapDialog
+	            SelectInputFileDialog(IEPCDragFileBrowser, _powerMapFilePath)
+	    End Select
+	End Sub
+
+#End Region
+
+	Private Sub SelectInputFileDialog(fileBrowser As FileBrowser, filePath As String )
+		If fileBrowser.OpenDialog(FileRepl(tbInputFile.Text, GetPath(filePath))) Then
+		    tbInputFile.Text = GetFilenameWithoutDirectory(fileBrowser.Files(0), GetPath(filePath))
+	    End If
+	End Sub
+	
+	Private Sub SetDialogTitle(dialogType As IEPCDialogType)
+		Select Case dialogType
+			Case IEPCDialogType.DragCurveDialog
+				Text = "Drag Curve"
+			Case IEPCDialogType.PowerMapDialog
+				Text = "Power Map"
+		End Select
+	End Sub
+
+End Class
\ No newline at end of file
diff --git a/VECTO/GUI/MainForm.Designer.vb b/VECTO/GUI/MainForm.Designer.vb
index 972c320b15791693c24a24b80a976d0f59d4881c..244a8330453c6e586e473f8d10978c03899618f5 100644
--- a/VECTO/GUI/MainForm.Designer.vb
+++ b/VECTO/GUI/MainForm.Designer.vb
@@ -96,8 +96,10 @@ Partial Class MainForm
         Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator()
         Me.ToolStripDrDnBtTools = New System.Windows.Forms.ToolStripDropDownButton()
         Me.GENEditorToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
+        Me.JobEditorSerialHybridVehicleToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.JobEditorParallelHybridVehicleToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.JobEditorBatteryElectricVehicleToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+        Me.JobEditorIEPC_E_VehicleToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.JobEditorEngineOnlyModeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.EPTPJobEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.VEHEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
@@ -120,7 +122,7 @@ Partial Class MainForm
         Me.OpenInGraphWindowToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
-        Me.JobEditorSerialHybridVehicleToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+        Me.JobEditorIEPC_S_VehicleToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.StatusBAR.SuspendLayout
         Me.TabControl1.SuspendLayout
         Me.TabPageGEN.SuspendLayout
@@ -373,8 +375,8 @@ Partial Class MainForm
         Me.TabPgOptions.Controls.Add(Me.PanelOptAllg)
         Me.TabPgOptions.Location = New System.Drawing.Point(4, 22)
         Me.TabPgOptions.Name = "TabPgOptions"
-        Me.TabPgOptions.Padding = New System.Windows.Forms.Padding(3, 3, 3, 3)
-        Me.TabPgOptions.Size = New System.Drawing.Size(1035, 302)
+        Me.TabPgOptions.Padding = New System.Windows.Forms.Padding(3)
+        Me.TabPgOptions.Size = New System.Drawing.Size(1034, 301)
         Me.TabPgOptions.TabIndex = 2
         Me.TabPgOptions.Text = "Options"
         Me.TabPgOptions.UseVisualStyleBackColor = true
@@ -720,7 +722,7 @@ Partial Class MainForm
         '
         'ToolStripDrDnBtTools
         '
-        Me.ToolStripDrDnBtTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.GENEditorToolStripMenuItem1, Me.JobEditorSerialHybridVehicleToolStripMenuItem, Me.JobEditorParallelHybridVehicleToolStripMenuItem, Me.JobEditorBatteryElectricVehicleToolStripMenuItem, Me.JobEditorEngineOnlyModeToolStripMenuItem, Me.EPTPJobEditorToolStripMenuItem, Me.VEHEditorToolStripMenuItem, Me.EngineEditorToolStripMenuItem, Me.GearboxEditorToolStripMenuItem, Me.GraphToolStripMenuItem, Me.ToolStripSeparator6, Me.OpenLogToolStripMenuItem, Me.SettingsToolStripMenuItem})
+        Me.ToolStripDrDnBtTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.GENEditorToolStripMenuItem1, Me.JobEditorSerialHybridVehicleToolStripMenuItem, Me.JobEditorParallelHybridVehicleToolStripMenuItem, Me.JobEditorBatteryElectricVehicleToolStripMenuItem, Me.JobEditorIEPC_E_VehicleToolStripMenuItem, Me.JobEditorIEPC_S_VehicleToolStripMenuItem, Me.JobEditorEngineOnlyModeToolStripMenuItem, Me.EPTPJobEditorToolStripMenuItem, Me.VEHEditorToolStripMenuItem, Me.EngineEditorToolStripMenuItem, Me.GearboxEditorToolStripMenuItem, Me.GraphToolStripMenuItem, Me.ToolStripSeparator6, Me.OpenLogToolStripMenuItem, Me.SettingsToolStripMenuItem})
         Me.ToolStripDrDnBtTools.Image = Global.TUGraz.VECTO.My.Resources.Resources.Misc_Tools_icon
         Me.ToolStripDrDnBtTools.ImageTransparentColor = System.Drawing.Color.Magenta
         Me.ToolStripDrDnBtTools.Name = "ToolStripDrDnBtTools"
@@ -731,80 +733,94 @@ Partial Class MainForm
         '
         Me.GENEditorToolStripMenuItem1.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO
         Me.GENEditorToolStripMenuItem1.Name = "GENEditorToolStripMenuItem1"
-        Me.GENEditorToolStripMenuItem1.Size = New System.Drawing.Size(262, 30)
+        Me.GENEditorToolStripMenuItem1.Size = New System.Drawing.Size(263, 30)
         Me.GENEditorToolStripMenuItem1.Text = "Job Editor - Conventional Vehicle"
         '
+        'JobEditorSerialHybridVehicleToolStripMenuItem
+        '
+        Me.JobEditorSerialHybridVehicleToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO
+        Me.JobEditorSerialHybridVehicleToolStripMenuItem.Name = "JobEditorSerialHybridVehicleToolStripMenuItem"
+        Me.JobEditorSerialHybridVehicleToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
+        Me.JobEditorSerialHybridVehicleToolStripMenuItem.Text = "Job Editor - Serial Hybrid Vehicle"
+        '
         'JobEditorParallelHybridVehicleToolStripMenuItem
         '
         Me.JobEditorParallelHybridVehicleToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO
         Me.JobEditorParallelHybridVehicleToolStripMenuItem.Name = "JobEditorParallelHybridVehicleToolStripMenuItem"
-        Me.JobEditorParallelHybridVehicleToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
+        Me.JobEditorParallelHybridVehicleToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
         Me.JobEditorParallelHybridVehicleToolStripMenuItem.Text = "Job Editor - Parallel Hybrid Vehicle"
         '
         'JobEditorBatteryElectricVehicleToolStripMenuItem
         '
         Me.JobEditorBatteryElectricVehicleToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO
         Me.JobEditorBatteryElectricVehicleToolStripMenuItem.Name = "JobEditorBatteryElectricVehicleToolStripMenuItem"
-        Me.JobEditorBatteryElectricVehicleToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
-        Me.JobEditorBatteryElectricVehicleToolStripMenuItem.Text = "JobEditor - Battery Electric Vehicle"
+        Me.JobEditorBatteryElectricVehicleToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
+        Me.JobEditorBatteryElectricVehicleToolStripMenuItem.Text = "Job Editor - Battery Electric Vehicle"
+        '
+        'JobEditorIEPC_E_VehicleToolStripMenuItem
+        '
+        Me.JobEditorIEPC_E_VehicleToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO
+        Me.JobEditorIEPC_E_VehicleToolStripMenuItem.Name = "JobEditorIEPC_E_VehicleToolStripMenuItem"
+        Me.JobEditorIEPC_E_VehicleToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
+        Me.JobEditorIEPC_E_VehicleToolStripMenuItem.Text = "Job Editor - IEPC-E Vehicle"
         '
         'JobEditorEngineOnlyModeToolStripMenuItem
         '
         Me.JobEditorEngineOnlyModeToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO
         Me.JobEditorEngineOnlyModeToolStripMenuItem.Name = "JobEditorEngineOnlyModeToolStripMenuItem"
-        Me.JobEditorEngineOnlyModeToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
+        Me.JobEditorEngineOnlyModeToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
         Me.JobEditorEngineOnlyModeToolStripMenuItem.Text = "Job Editor - Engine Only Mode"
         '
         'EPTPJobEditorToolStripMenuItem
         '
         Me.EPTPJobEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO
         Me.EPTPJobEditorToolStripMenuItem.Name = "EPTPJobEditorToolStripMenuItem"
-        Me.EPTPJobEditorToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
+        Me.EPTPJobEditorToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
         Me.EPTPJobEditorToolStripMenuItem.Text = "VTP Job Editor"
         '
         'VEHEditorToolStripMenuItem
         '
         Me.VEHEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VEH
         Me.VEHEditorToolStripMenuItem.Name = "VEHEditorToolStripMenuItem"
-        Me.VEHEditorToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
+        Me.VEHEditorToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
         Me.VEHEditorToolStripMenuItem.Text = "Vehicle Editor"
         '
         'EngineEditorToolStripMenuItem
         '
         Me.EngineEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_ENG
         Me.EngineEditorToolStripMenuItem.Name = "EngineEditorToolStripMenuItem"
-        Me.EngineEditorToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
+        Me.EngineEditorToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
         Me.EngineEditorToolStripMenuItem.Text = "Engine Editor"
         '
         'GearboxEditorToolStripMenuItem
         '
         Me.GearboxEditorToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_GBX
         Me.GearboxEditorToolStripMenuItem.Name = "GearboxEditorToolStripMenuItem"
-        Me.GearboxEditorToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
+        Me.GearboxEditorToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
         Me.GearboxEditorToolStripMenuItem.Text = "Gearbox Editor"
         '
         'GraphToolStripMenuItem
         '
         Me.GraphToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_Graph
         Me.GraphToolStripMenuItem.Name = "GraphToolStripMenuItem"
-        Me.GraphToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
+        Me.GraphToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
         Me.GraphToolStripMenuItem.Text = "Graph"
         '
         'ToolStripSeparator6
         '
         Me.ToolStripSeparator6.Name = "ToolStripSeparator6"
-        Me.ToolStripSeparator6.Size = New System.Drawing.Size(259, 6)
+        Me.ToolStripSeparator6.Size = New System.Drawing.Size(260, 6)
         '
         'OpenLogToolStripMenuItem
         '
         Me.OpenLogToolStripMenuItem.Name = "OpenLogToolStripMenuItem"
-        Me.OpenLogToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
+        Me.OpenLogToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
         Me.OpenLogToolStripMenuItem.Text = "Open Log"
         '
         'SettingsToolStripMenuItem
         '
         Me.SettingsToolStripMenuItem.Name = "SettingsToolStripMenuItem"
-        Me.SettingsToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
+        Me.SettingsToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
         Me.SettingsToolStripMenuItem.Text = "Settings"
         '
         'ToolStripDrDnBtInfo
@@ -882,12 +898,12 @@ Partial Class MainForm
         Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(173, 22)
         Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder"
         '
-        'JobEditorSerialHybridVehicleToolStripMenuItem
+        'JobEditorIEPC_S_VehicleToolStripMenuItem
         '
-        Me.JobEditorSerialHybridVehicleToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO
-        Me.JobEditorSerialHybridVehicleToolStripMenuItem.Name = "JobEditorSerialHybridVehicleToolStripMenuItem"
-        Me.JobEditorSerialHybridVehicleToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
-        Me.JobEditorSerialHybridVehicleToolStripMenuItem.Text = "Job Editor - Serial Hybrid Vehicle"
+        Me.JobEditorIEPC_S_VehicleToolStripMenuItem.Image = Global.TUGraz.VECTO.My.Resources.Resources.F_VECTO
+        Me.JobEditorIEPC_S_VehicleToolStripMenuItem.Name = "JobEditorIEPC_S_VehicleToolStripMenuItem"
+        Me.JobEditorIEPC_S_VehicleToolStripMenuItem.Size = New System.Drawing.Size(263, 30)
+        Me.JobEditorIEPC_S_VehicleToolStripMenuItem.Text = "Job Editor - IEPC-S Vehicle"
         '
         'MainForm
         '
@@ -1027,4 +1043,6 @@ End Sub
     Friend WithEvents JobEditorBatteryElectricVehicleToolStripMenuItem As ToolStripMenuItem
     Friend WithEvents JobEditorEngineOnlyModeToolStripMenuItem As ToolStripMenuItem
     Friend WithEvents JobEditorSerialHybridVehicleToolStripMenuItem As ToolStripMenuItem
+    Friend WithEvents JobEditorIEPC_E_VehicleToolStripMenuItem As ToolStripMenuItem
+    Friend WithEvents JobEditorIEPC_S_VehicleToolStripMenuItem As ToolStripMenuItem
 End Class
diff --git a/VECTO/GUI/MainForm.resx b/VECTO/GUI/MainForm.resx
index df927555f49bdd76bde69313c6de52fd505ff1ab..b00fb45de6f7935415bddf8185a50c0bcac9ba1c 100644
--- a/VECTO/GUI/MainForm.resx
+++ b/VECTO/GUI/MainForm.resx
@@ -223,9 +223,6 @@
   <metadata name="CmOpenFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>732, 12</value>
   </metadata>
-  <metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>850, 12</value>
-  </metadata>
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>49</value>
   </metadata>
diff --git a/VECTO/GUI/MainForm.vb b/VECTO/GUI/MainForm.vb
index 164e7ff11544f541dbb71cfb7d462c42f357a1e2..8876bddfd3508124840d8dc89dff3ccd29cb71a6 100644
--- a/VECTO/GUI/MainForm.vb
+++ b/VECTO/GUI/MainForm.vb
@@ -138,6 +138,10 @@ Public Class MainForm
         TorqueConverterShiftPolygonFileBrowser = New FileBrowser("vgbs")
         CrossWindCorrectionFileBrowser = New FileBrowser("vcdx")
         ElectricMotorFileBrowser = New FileBrowser("vem")
+        IEPCFileBrowser = New FileBrowser("viepc")
+        IEPCFLCFileBrowser = New FileBrowser("viepcp")
+        IEPCDragFileBrowser = new FileBrowser("viepcd")
+        IEPCPowerMapFileBrowser = New FileBrowser("viepco")
         REESSFileBrowser = New FileBrowser("vreess")
         EmADCLossMapFileBrowser = New FileBrowser("vtlm")
         DriverDecisionFactorVelocityDropFileBrowser = New FileBrowser("DfVelocityDrop")
@@ -198,6 +202,11 @@ Public Class MainForm
         PropulsionTorqueLimitFileBrowser.Extensions = New String() {"vtqp"}
 
         ModalResultsFileBrowser.Extensions = New String() {"vmod"}
+        
+        IEPCFileBrowser.Extensions = New String () {"viepc"}
+        IEPCFLCFileBrowser.Extensions = New String() {"viepcp"}
+        IEPCDragFileBrowser.Extensions = New String() {"viepcd"}
+        IEPCPowerMapFileBrowser.Extensions = New String() {"viepco"}
     End Sub
 
     Private Sub FB_Close()
@@ -2180,4 +2189,11 @@ lbFound:
     Private Sub JobEditorSerialHybridVehicleToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles JobEditorSerialHybridVehicleToolStripMenuItem.Click
         OpenVECTOeditor("<New>", VectoSimulationJobType.SerialHybridVehicle)
     End Sub
+    Private Sub JobEditorIEPC_E_VehicleToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles JobEditorIEPC_E_VehicleToolStripMenuItem.Click
+        OpenVECTOeditor("<New>", VectoSimulationJobType.IEPC_E)
+    End Sub
+
+    Private Sub ToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles JobEditorIEPC_S_VehicleToolStripMenuItem.Click
+        OpenVECTOeditor("<New>", VectoSimulationJobType.IEPC_S)
+    End Sub
 End Class
diff --git a/VECTO/GUI/VectoJobForm.vb b/VECTO/GUI/VectoJobForm.vb
index 50b382bc2aec489410654f71bd0162de543fa4d7..ea70ce2a89e0b49007b0870b5ddf62233a644a2a 100644
--- a/VECTO/GUI/VectoJobForm.vb
+++ b/VECTO/GUI/VectoJobForm.vb
@@ -115,6 +115,14 @@ Public Class VectoJobForm
                 GrAuxMech.Enabled = True
             Case VectoSimulationJobType.EngineOnlySimulation
                 lblTitle.Text = prefix + "Engine Only"
+            Case VectoSimulationJobType.IEPC_E
+                lblTitle.Text = prefix + "IEPC-E Vehicle"
+                gbElectricAux.Enabled = True
+                GrAuxMech.Enabled = False
+            case VectoSimulationJobType.IEPC_S
+                lblTitle.Text = prefix + "IEPC-S Vehicle"
+                gbElectricAux.Enabled = True
+                GrAuxMech.Enabled = False
         End Select
     End Sub
 
@@ -1046,6 +1054,19 @@ Public Class VectoJobForm
                 GrAuxMech.Enabled = False
                 pnShiftParams.Enabled = True
                 gbEngineStopStart.Visible = False
+            Case VectoSimulationJobType.IEPC_E
+                pnEngine.Enabled = False
+                pnGearbox.Enabled = True
+                GrAuxMech.Enabled = False
+                pnShiftParams.Enabled = True
+                gbEngineStopStart.Visible = False
+            Case VectoSimulationJobType.IEPC_S
+                pnEngine.Enabled = False
+                pnGearbox.Enabled = True
+                GrAuxMech.Enabled = False
+                pnShiftParams.Enabled = True
+                gbEngineStopStart.Visible = False
+
         End Select
     End Sub
 
diff --git a/VECTO/GUI/VehicleForm.Designer.vb b/VECTO/GUI/VehicleForm.Designer.vb
index d36b5f0f8799864a3b650c19a79575f4e6a8a629..2f8e015db1cda461df2726ff2236d1bc5c9c3d12 100644
--- a/VECTO/GUI/VehicleForm.Designer.vb
+++ b/VECTO/GUI/VehicleForm.Designer.vb
@@ -78,14 +78,14 @@ Partial Class VehicleForm
 		Me.Label6 = New System.Windows.Forms.Label()
 		Me.ButAxlRem = New System.Windows.Forms.Button()
 		Me.LvRRC = New System.Windows.Forms.ListView()
-		Me.ColumnHeader7 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
-		Me.ColumnHeader8 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
-		Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
-		Me.ColumnHeader9 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
-		Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
-		Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
-		Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
-		Me.ColumnHeader10 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader7 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader8 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader9 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader10 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
 		Me.ButAxlAdd = New System.Windows.Forms.Button()
 		Me.PnWheelDiam = New System.Windows.Forms.Panel()
 		Me.CbAxleConfig = New System.Windows.Forms.ComboBox()
@@ -136,25 +136,14 @@ Partial Class VehicleForm
 		Me.gbTankSystem = New System.Windows.Forms.GroupBox()
 		Me.cbTankSystem = New System.Windows.Forms.ComboBox()
 		Me.Label23 = New System.Windows.Forms.Label()
-		Me.tpElectricComponents = New System.Windows.Forms.TabPage()
-		Me.gbBattery = New System.Windows.Forms.GroupBox()
-		Me.lvREESSPacks = New System.Windows.Forms.ListView()
-		Me.chReessPackPack = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
-		Me.chReessPackCount = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
-		Me.chReessPackStringId = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
-		Me.btnAddReessPack = New System.Windows.Forms.Button()
-		Me.lblEditReessPack = New System.Windows.Forms.Label()
-		Me.btnRemoveReessPack = New System.Windows.Forms.Button()
-		Me.lblInitialSoCUnit = New System.Windows.Forms.Label()
-		Me.tbInitialSoC = New System.Windows.Forms.TextBox()
-		Me.lblInitialSoC = New System.Windows.Forms.Label()
+		Me.tpElectricMachine = New System.Windows.Forms.TabPage()
 		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)
-		Me.ColumnHeader12 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader11 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader12 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
 		Me.btnAddEMRatio = New System.Windows.Forms.Button()
 		Me.Label29 = New System.Windows.Forms.Label()
 		Me.btnRemoveEMRatio = New System.Windows.Forms.Button()
@@ -171,6 +160,23 @@ Partial Class VehicleForm
 		Me.btnOpenElectricMotor = New System.Windows.Forms.Button()
 		Me.btnBrowseElectricMotor = New System.Windows.Forms.Button()
 		Me.tbElectricMotor = New System.Windows.Forms.TextBox()
+		Me.tpReess = New System.Windows.Forms.TabPage()
+		Me.gbBattery = New System.Windows.Forms.GroupBox()
+		Me.lvREESSPacks = New System.Windows.Forms.ListView()
+		Me.chReessPackPack = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.chReessPackCount = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.chReessPackStringId = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.btnAddReessPack = New System.Windows.Forms.Button()
+		Me.lblEditReessPack = New System.Windows.Forms.Label()
+		Me.btnRemoveReessPack = New System.Windows.Forms.Button()
+		Me.lblInitialSoCUnit = New System.Windows.Forms.Label()
+		Me.tbInitialSoC = New System.Windows.Forms.TextBox()
+		Me.lblInitialSoC = New System.Windows.Forms.Label()
+		Me.tpIEPC = New System.Windows.Forms.TabPage()
+		Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
+		Me.btnIEPC = New System.Windows.Forms.Button()
+		Me.tbIEPCFilePath = New System.Windows.Forms.TextBox()
+		Me.btIEPCFilePath = New System.Windows.Forms.Button()
 		Me.tpGensetComponents = New System.Windows.Forms.TabPage()
 		Me.Label30 = New System.Windows.Forms.Label()
 		Me.gbGenSet = New System.Windows.Forms.GroupBox()
@@ -196,8 +202,8 @@ Partial Class VehicleForm
 		Me.tbEmTorqueLimits = New System.Windows.Forms.TextBox()
 		Me.bgVehicleTorqueLimits = New System.Windows.Forms.GroupBox()
 		Me.lvTorqueLimits = New System.Windows.Forms.ListView()
-		Me.ColumnHeader5 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
-		Me.ColumnHeader6 = CType(New System.Windows.Forms.ColumnHeader(),System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader5 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
+		Me.ColumnHeader6 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
 		Me.btAddMaxTorqueEntry = New System.Windows.Forms.Button()
 		Me.Label17 = New System.Windows.Forms.Label()
 		Me.btDelMaxTorqueEntry = New System.Windows.Forms.Button()
@@ -252,11 +258,14 @@ Partial Class VehicleForm
 		Me.gbVehicleIdlingSpeed.SuspendLayout()
 		Me.Panel1.SuspendLayout()
 		Me.gbTankSystem.SuspendLayout()
-		Me.tpElectricComponents.SuspendLayout()
-		Me.gbBattery.SuspendLayout()
+		Me.tpElectricMachine.SuspendLayout()
 		Me.gpElectricMotor.SuspendLayout()
 		Me.gbRatiosPerGear.SuspendLayout()
 		Me.pnElectricMotor.SuspendLayout()
+		Me.tpReess.SuspendLayout()
+		Me.gbBattery.SuspendLayout()
+		Me.tpIEPC.SuspendLayout()
+		Me.TableLayoutPanel1.SuspendLayout()
 		Me.tpGensetComponents.SuspendLayout()
 		Me.gbGenSet.SuspendLayout()
 		Me.pnGenSetEM.SuspendLayout()
@@ -1129,7 +1138,9 @@ Partial Class VehicleForm
 		'
 		Me.tcVehicleComponents.Controls.Add(Me.tpGeneral)
 		Me.tcVehicleComponents.Controls.Add(Me.tpPowertrain)
-		Me.tcVehicleComponents.Controls.Add(Me.tpElectricComponents)
+		Me.tcVehicleComponents.Controls.Add(Me.tpElectricMachine)
+		Me.tcVehicleComponents.Controls.Add(Me.tpReess)
+		Me.tcVehicleComponents.Controls.Add(Me.tpIEPC)
 		Me.tcVehicleComponents.Controls.Add(Me.tpGensetComponents)
 		Me.tcVehicleComponents.Controls.Add(Me.tpTorqueLimits)
 		Me.tcVehicleComponents.Controls.Add(Me.tpADAS)
@@ -1248,118 +1259,16 @@ Partial Class VehicleForm
 		Me.Label23.TabIndex = 0
 		Me.Label23.Text = "Only applicable for NG engines!"
 		'
-		'tpElectricComponents
-		'
-		Me.tpElectricComponents.Controls.Add(Me.gbBattery)
-		Me.tpElectricComponents.Controls.Add(Me.gpElectricMotor)
-		Me.tpElectricComponents.Location = New System.Drawing.Point(4, 22)
-		Me.tpElectricComponents.Name = "tpElectricComponents"
-		Me.tpElectricComponents.Padding = New System.Windows.Forms.Padding(3)
-		Me.tpElectricComponents.Size = New System.Drawing.Size(648, 374)
-		Me.tpElectricComponents.TabIndex = 4
-		Me.tpElectricComponents.Text = "Electric Powertrain Components"
-		Me.tpElectricComponents.UseVisualStyleBackColor = True
-		'
-		'gbBattery
-		'
-		Me.gbBattery.Controls.Add(Me.lvREESSPacks)
-		Me.gbBattery.Controls.Add(Me.btnAddReessPack)
-		Me.gbBattery.Controls.Add(Me.lblEditReessPack)
-		Me.gbBattery.Controls.Add(Me.btnRemoveReessPack)
-		Me.gbBattery.Controls.Add(Me.lblInitialSoCUnit)
-		Me.gbBattery.Controls.Add(Me.tbInitialSoC)
-		Me.gbBattery.Controls.Add(Me.lblInitialSoC)
-		Me.gbBattery.Location = New System.Drawing.Point(6, 175)
-		Me.gbBattery.Name = "gbBattery"
-		Me.gbBattery.Size = New System.Drawing.Size(633, 187)
-		Me.gbBattery.TabIndex = 2
-		Me.gbBattery.TabStop = False
-		Me.gbBattery.Text = "Electric Energy Storage system"
-		'
-		'lvREESSPacks
-		'
-		Me.lvREESSPacks.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
-			Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
-		Me.lvREESSPacks.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.chReessPackPack, Me.chReessPackCount, Me.chReessPackStringId})
-		Me.lvREESSPacks.FullRowSelect = True
-		Me.lvREESSPacks.GridLines = True
-		Me.lvREESSPacks.HideSelection = False
-		Me.lvREESSPacks.Location = New System.Drawing.Point(6, 45)
-		Me.lvREESSPacks.MultiSelect = False
-		Me.lvREESSPacks.Name = "lvREESSPacks"
-		Me.lvREESSPacks.Size = New System.Drawing.Size(553, 102)
-		Me.lvREESSPacks.TabIndex = 31
-		Me.lvREESSPacks.TabStop = False
-		Me.lvREESSPacks.UseCompatibleStateImageBehavior = False
-		Me.lvREESSPacks.View = System.Windows.Forms.View.Details
-		'
-		'chReessPackPack
-		'
-		Me.chReessPackPack.Text = "REESS Pack"
-		Me.chReessPackPack.Width = 350
-		'
-		'chReessPackCount
-		'
-		Me.chReessPackCount.Text = "Count"
-		Me.chReessPackCount.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
-		'
-		'chReessPackStringId
-		'
-		Me.chReessPackStringId.Text = "Stream #"
-		Me.chReessPackStringId.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
-		'
-		'btnAddReessPack
-		'
-		Me.btnAddReessPack.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon
-		Me.btnAddReessPack.Location = New System.Drawing.Point(6, 153)
-		Me.btnAddReessPack.Name = "btnAddReessPack"
-		Me.btnAddReessPack.Size = New System.Drawing.Size(24, 24)
-		Me.btnAddReessPack.TabIndex = 1
-		Me.btnAddReessPack.UseVisualStyleBackColor = True
-		'
-		'lblEditReessPack
-		'
-		Me.lblEditReessPack.AutoSize = True
-		Me.lblEditReessPack.Location = New System.Drawing.Point(452, 148)
-		Me.lblEditReessPack.Name = "lblEditReessPack"
-		Me.lblEditReessPack.Size = New System.Drawing.Size(106, 13)
-		Me.lblEditReessPack.TabIndex = 30
-		Me.lblEditReessPack.Text = "(Double-Click to Edit)"
-		'
-		'btnRemoveReessPack
-		'
-		Me.btnRemoveReessPack.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon
-		Me.btnRemoveReessPack.Location = New System.Drawing.Point(33, 153)
-		Me.btnRemoveReessPack.Name = "btnRemoveReessPack"
-		Me.btnRemoveReessPack.Size = New System.Drawing.Size(24, 24)
-		Me.btnRemoveReessPack.TabIndex = 2
-		Me.btnRemoveReessPack.UseVisualStyleBackColor = True
-		'
-		'lblInitialSoCUnit
-		'
-		Me.lblInitialSoCUnit.AutoSize = True
-		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
-		Me.lblInitialSoCUnit.Text = "[%]"
-		'
-		'tbInitialSoC
-		'
-		Me.tbInitialSoC.Location = New System.Drawing.Point(204, 19)
-		Me.tbInitialSoC.Name = "tbInitialSoC"
-		Me.tbInitialSoC.Size = New System.Drawing.Size(59, 20)
-		Me.tbInitialSoC.TabIndex = 0
-		'
-		'lblInitialSoC
+		'tpElectricMachine
 		'
-		Me.lblInitialSoC.AutoSize = True
-		Me.lblInitialSoC.Location = New System.Drawing.Point(7, 22)
-		Me.lblInitialSoC.Name = "lblInitialSoC"
-		Me.lblInitialSoC.RightToLeft = System.Windows.Forms.RightToLeft.Yes
-		Me.lblInitialSoC.Size = New System.Drawing.Size(54, 13)
-		Me.lblInitialSoC.TabIndex = 25
-		Me.lblInitialSoC.Text = "Initial SoC"
+		Me.tpElectricMachine.Controls.Add(Me.gpElectricMotor)
+		Me.tpElectricMachine.Location = New System.Drawing.Point(4, 22)
+		Me.tpElectricMachine.Name = "tpElectricMachine"
+		Me.tpElectricMachine.Padding = New System.Windows.Forms.Padding(3)
+		Me.tpElectricMachine.Size = New System.Drawing.Size(648, 374)
+		Me.tpElectricMachine.TabIndex = 6
+		Me.tpElectricMachine.Text = "Electric Machine"
+		Me.tpElectricMachine.UseVisualStyleBackColor = True
 		'
 		'gpElectricMotor
 		'
@@ -1379,7 +1288,7 @@ Partial Class VehicleForm
 		Me.gpElectricMotor.Location = New System.Drawing.Point(6, 6)
 		Me.gpElectricMotor.Name = "gpElectricMotor"
 		Me.gpElectricMotor.Size = New System.Drawing.Size(633, 163)
-		Me.gpElectricMotor.TabIndex = 0
+		Me.gpElectricMotor.TabIndex = 1
 		Me.gpElectricMotor.TabStop = False
 		Me.gpElectricMotor.Text = "Electric Machine"
 		'
@@ -1586,6 +1495,173 @@ Partial Class VehicleForm
 		Me.tbElectricMotor.Size = New System.Drawing.Size(300, 20)
 		Me.tbElectricMotor.TabIndex = 1
 		'
+		'tpReess
+		'
+		Me.tpReess.Controls.Add(Me.gbBattery)
+		Me.tpReess.Location = New System.Drawing.Point(4, 22)
+		Me.tpReess.Name = "tpReess"
+		Me.tpReess.Padding = New System.Windows.Forms.Padding(3)
+		Me.tpReess.Size = New System.Drawing.Size(648, 374)
+		Me.tpReess.TabIndex = 7
+		Me.tpReess.Text = "REESS"
+		Me.tpReess.UseVisualStyleBackColor = True
+		'
+		'gbBattery
+		'
+		Me.gbBattery.Controls.Add(Me.lvREESSPacks)
+		Me.gbBattery.Controls.Add(Me.btnAddReessPack)
+		Me.gbBattery.Controls.Add(Me.lblEditReessPack)
+		Me.gbBattery.Controls.Add(Me.btnRemoveReessPack)
+		Me.gbBattery.Controls.Add(Me.lblInitialSoCUnit)
+		Me.gbBattery.Controls.Add(Me.tbInitialSoC)
+		Me.gbBattery.Controls.Add(Me.lblInitialSoC)
+		Me.gbBattery.Location = New System.Drawing.Point(6, 6)
+		Me.gbBattery.Name = "gbBattery"
+		Me.gbBattery.Size = New System.Drawing.Size(633, 187)
+		Me.gbBattery.TabIndex = 3
+		Me.gbBattery.TabStop = False
+		Me.gbBattery.Text = "Electric Energy Storage system"
+		'
+		'lvREESSPacks
+		'
+		Me.lvREESSPacks.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
+			Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+		Me.lvREESSPacks.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.chReessPackPack, Me.chReessPackCount, Me.chReessPackStringId})
+		Me.lvREESSPacks.FullRowSelect = True
+		Me.lvREESSPacks.GridLines = True
+		Me.lvREESSPacks.HideSelection = False
+		Me.lvREESSPacks.Location = New System.Drawing.Point(6, 45)
+		Me.lvREESSPacks.MultiSelect = False
+		Me.lvREESSPacks.Name = "lvREESSPacks"
+		Me.lvREESSPacks.Size = New System.Drawing.Size(553, 102)
+		Me.lvREESSPacks.TabIndex = 31
+		Me.lvREESSPacks.TabStop = False
+		Me.lvREESSPacks.UseCompatibleStateImageBehavior = False
+		Me.lvREESSPacks.View = System.Windows.Forms.View.Details
+		'
+		'chReessPackPack
+		'
+		Me.chReessPackPack.Text = "REESS Pack"
+		Me.chReessPackPack.Width = 350
+		'
+		'chReessPackCount
+		'
+		Me.chReessPackCount.Text = "Count"
+		Me.chReessPackCount.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
+		'
+		'chReessPackStringId
+		'
+		Me.chReessPackStringId.Text = "Stream #"
+		Me.chReessPackStringId.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
+		'
+		'btnAddReessPack
+		'
+		Me.btnAddReessPack.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon
+		Me.btnAddReessPack.Location = New System.Drawing.Point(6, 153)
+		Me.btnAddReessPack.Name = "btnAddReessPack"
+		Me.btnAddReessPack.Size = New System.Drawing.Size(24, 24)
+		Me.btnAddReessPack.TabIndex = 1
+		Me.btnAddReessPack.UseVisualStyleBackColor = True
+		'
+		'lblEditReessPack
+		'
+		Me.lblEditReessPack.AutoSize = True
+		Me.lblEditReessPack.Location = New System.Drawing.Point(452, 148)
+		Me.lblEditReessPack.Name = "lblEditReessPack"
+		Me.lblEditReessPack.Size = New System.Drawing.Size(106, 13)
+		Me.lblEditReessPack.TabIndex = 30
+		Me.lblEditReessPack.Text = "(Double-Click to Edit)"
+		'
+		'btnRemoveReessPack
+		'
+		Me.btnRemoveReessPack.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon
+		Me.btnRemoveReessPack.Location = New System.Drawing.Point(33, 153)
+		Me.btnRemoveReessPack.Name = "btnRemoveReessPack"
+		Me.btnRemoveReessPack.Size = New System.Drawing.Size(24, 24)
+		Me.btnRemoveReessPack.TabIndex = 2
+		Me.btnRemoveReessPack.UseVisualStyleBackColor = True
+		'
+		'lblInitialSoCUnit
+		'
+		Me.lblInitialSoCUnit.AutoSize = True
+		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
+		Me.lblInitialSoCUnit.Text = "[%]"
+		'
+		'tbInitialSoC
+		'
+		Me.tbInitialSoC.Location = New System.Drawing.Point(204, 19)
+		Me.tbInitialSoC.Name = "tbInitialSoC"
+		Me.tbInitialSoC.Size = New System.Drawing.Size(59, 20)
+		Me.tbInitialSoC.TabIndex = 0
+		'
+		'lblInitialSoC
+		'
+		Me.lblInitialSoC.AutoSize = True
+		Me.lblInitialSoC.Location = New System.Drawing.Point(7, 22)
+		Me.lblInitialSoC.Name = "lblInitialSoC"
+		Me.lblInitialSoC.RightToLeft = System.Windows.Forms.RightToLeft.Yes
+		Me.lblInitialSoC.Size = New System.Drawing.Size(54, 13)
+		Me.lblInitialSoC.TabIndex = 25
+		Me.lblInitialSoC.Text = "Initial SoC"
+		'
+		'tpIEPC
+		'
+		Me.tpIEPC.Controls.Add(Me.TableLayoutPanel1)
+		Me.tpIEPC.Location = New System.Drawing.Point(4, 22)
+		Me.tpIEPC.Name = "tpIEPC"
+		Me.tpIEPC.Size = New System.Drawing.Size(648, 374)
+		Me.tpIEPC.TabIndex = 8
+		Me.tpIEPC.Text = "IEPC"
+		Me.tpIEPC.UseVisualStyleBackColor = True
+		'
+		'TableLayoutPanel1
+		'
+		Me.TableLayoutPanel1.ColumnCount = 3
+		Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 23.43387!))
+		Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 76.56612!))
+		Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 37.0!))
+		Me.TableLayoutPanel1.Controls.Add(Me.btnIEPC, 0, 0)
+		Me.TableLayoutPanel1.Controls.Add(Me.tbIEPCFilePath, 1, 0)
+		Me.TableLayoutPanel1.Controls.Add(Me.btIEPCFilePath, 2, 0)
+		Me.TableLayoutPanel1.Location = New System.Drawing.Point(14, 16)
+		Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+		Me.TableLayoutPanel1.RowCount = 1
+		Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 51.0!))
+		Me.TableLayoutPanel1.Size = New System.Drawing.Size(470, 41)
+		Me.TableLayoutPanel1.TabIndex = 59
+		'
+		'btnIEPC
+		'
+		Me.btnIEPC.Anchor = System.Windows.Forms.AnchorStyles.None
+		Me.btnIEPC.Location = New System.Drawing.Point(3, 10)
+		Me.btnIEPC.Name = "btnIEPC"
+		Me.btnIEPC.Size = New System.Drawing.Size(94, 21)
+		Me.btnIEPC.TabIndex = 27
+		Me.btnIEPC.Text = "IEPC"
+		Me.btnIEPC.UseVisualStyleBackColor = True
+		'
+		'tbIEPCFilePath
+		'
+		Me.tbIEPCFilePath.Anchor = System.Windows.Forms.AnchorStyles.None
+		Me.tbIEPCFilePath.Location = New System.Drawing.Point(106, 10)
+		Me.tbIEPCFilePath.Margin = New System.Windows.Forms.Padding(5, 3, 3, 3)
+		Me.tbIEPCFilePath.Name = "tbIEPCFilePath"
+		Me.tbIEPCFilePath.Size = New System.Drawing.Size(323, 20)
+		Me.tbIEPCFilePath.TabIndex = 28
+		'
+		'btIEPCFilePath
+		'
+		Me.btIEPCFilePath.Anchor = System.Windows.Forms.AnchorStyles.None
+		Me.btIEPCFilePath.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
+		Me.btIEPCFilePath.Location = New System.Drawing.Point(439, 8)
+		Me.btIEPCFilePath.Name = "btIEPCFilePath"
+		Me.btIEPCFilePath.Size = New System.Drawing.Size(24, 24)
+		Me.btIEPCFilePath.TabIndex = 58
+		Me.btIEPCFilePath.UseVisualStyleBackColor = True
+		'
 		'tpGensetComponents
 		'
 		Me.tpGensetComponents.Controls.Add(Me.Label30)
@@ -2240,15 +2316,19 @@ Partial Class VehicleForm
 		Me.Panel1.PerformLayout()
 		Me.gbTankSystem.ResumeLayout(False)
 		Me.gbTankSystem.PerformLayout()
-		Me.tpElectricComponents.ResumeLayout(False)
-		Me.gbBattery.ResumeLayout(False)
-		Me.gbBattery.PerformLayout()
+		Me.tpElectricMachine.ResumeLayout(False)
 		Me.gpElectricMotor.ResumeLayout(False)
 		Me.gpElectricMotor.PerformLayout()
 		Me.gbRatiosPerGear.ResumeLayout(False)
 		Me.gbRatiosPerGear.PerformLayout()
 		Me.pnElectricMotor.ResumeLayout(False)
 		Me.pnElectricMotor.PerformLayout()
+		Me.tpReess.ResumeLayout(False)
+		Me.gbBattery.ResumeLayout(False)
+		Me.gbBattery.PerformLayout()
+		Me.tpIEPC.ResumeLayout(False)
+		Me.TableLayoutPanel1.ResumeLayout(False)
+		Me.TableLayoutPanel1.PerformLayout()
 		Me.tpGensetComponents.ResumeLayout(False)
 		Me.tpGensetComponents.PerformLayout()
 		Me.gbGenSet.ResumeLayout(False)
@@ -2274,9 +2354,9 @@ Partial Class VehicleForm
 		Me.gbPTODrive.PerformLayout()
 		Me.gbPTO.ResumeLayout(False)
 		Me.ResumeLayout(False)
-		Me.PerformLayout
+		Me.PerformLayout()
 
-End Sub
+	End Sub
 	Friend WithEvents Label1 As System.Windows.Forms.Label
 	Friend WithEvents TbMass As System.Windows.Forms.TextBox
 	Friend WithEvents Label2 As System.Windows.Forms.Label
@@ -2402,30 +2482,12 @@ End Sub
     Friend WithEvents cbTankSystem As ComboBox
     Friend WithEvents Label23 As Label
     Friend WithEvents cbAtEcoRollReleaseLockupClutch As CheckBox
-    Friend WithEvents tpElectricComponents As TabPage
-    Friend WithEvents gpElectricMotor As GroupBox
-    Friend WithEvents gbBattery As GroupBox
-    Friend WithEvents tbEmADCLossMap As TextBox
-    Friend WithEvents lblEmADCLossmap As Label
-    Friend WithEvents tbRatioEm As TextBox
-    Friend WithEvents lblRatioEm As Label
-    Friend WithEvents tbEmCount As TextBox
-    Friend WithEvents cbEmPos As ComboBox
-    Friend WithEvents lblEmCount As Label
-    Friend WithEvents lblEmPosition As Label
-    Friend WithEvents pnElectricMotor As Panel
-    Friend WithEvents btnOpenElectricMotor As Button
-    Friend WithEvents btnBrowseElectricMotor As Button
-    Friend WithEvents tbElectricMotor As TextBox
     Friend WithEvents lblTitle As Label
     Friend WithEvents gbVehicleIdlingSpeed As GroupBox
     Friend WithEvents Panel1 As Panel
     Friend WithEvents tbVehIdlingSpeed As TextBox
     Friend WithEvents Label18 As Label
     Friend WithEvents Label19 As Label
-    Friend WithEvents lblInitialSoCUnit As Label
-    Friend WithEvents tbInitialSoC As TextBox
-    Friend WithEvents lblInitialSoC As Label
     Friend WithEvents gbEMTorqueLimits As GroupBox
     Friend WithEvents btnEmTorqueLimits As Button
     Friend WithEvents tbEmTorqueLimits As TextBox
@@ -2433,7 +2495,6 @@ End Sub
     Friend WithEvents gbPropulsionTorque As GroupBox
     Friend WithEvents btnPropulsionTorqueLimit As Button
     Friend WithEvents tbPropulsionTorqueLimit As TextBox
-    Friend WithEvents btnEmADCLossMap As Button
 '=======
     Friend WithEvents tpRoadSweeper As TabPage
     Friend WithEvents gbPTODrive As GroupBox
@@ -2455,20 +2516,6 @@ End Sub
     Friend WithEvents btPTOCycleDrive As Button
     Friend WithEvents Label28 As Label
     Friend WithEvents tbPTODrive As TextBox
-    Friend WithEvents gbRatiosPerGear As GroupBox
-    Friend WithEvents lvRatioPerGear As ListView
-    Friend WithEvents ColumnHeader11 As ColumnHeader
-    Friend WithEvents ColumnHeader12 As ColumnHeader
-    Friend WithEvents btnAddEMRatio As Button
-    Friend WithEvents Label29 As Label
-    Friend WithEvents btnRemoveEMRatio As Button
-    Friend WithEvents lvREESSPacks As ListView
-    Friend WithEvents chReessPackPack As ColumnHeader
-    Friend WithEvents chReessPackCount As ColumnHeader
-    Friend WithEvents chReessPackStringId As ColumnHeader
-    Friend WithEvents btnAddReessPack As Button
-    Friend WithEvents lblEditReessPack As Label
-    Friend WithEvents btnRemoveReessPack As Button
     Friend WithEvents tpGensetComponents As TabPage
     Friend WithEvents gbGenSet As GroupBox
     Friend WithEvents btnGenSetLossMap As Button
@@ -2483,10 +2530,49 @@ End Sub
     Friend WithEvents btnBrowseGenSetEM As Button
     Friend WithEvents tbGenSetEM As TextBox
     Friend WithEvents Label30 As Label
-	Friend WithEvents Label33 As Label
-	Friend WithEvents Label32 As Label
 	Friend WithEvents Label36 As Label
 	Friend WithEvents Label34 As Label
 	Friend WithEvents pnEcoRoll As Panel
-	'>>>>>>> VECTO_CERT/master
+    Friend WithEvents tpElectricMachine As TabPage
+    Friend WithEvents tpReess As TabPage
+    Friend WithEvents gpElectricMotor As GroupBox
+    Friend WithEvents Label33 As Label
+    Friend WithEvents Label32 As Label
+    Friend WithEvents gbRatiosPerGear As GroupBox
+    Friend WithEvents lvRatioPerGear As ListView
+    Friend WithEvents ColumnHeader11 As ColumnHeader
+    Friend WithEvents ColumnHeader12 As ColumnHeader
+    Friend WithEvents btnAddEMRatio As Button
+    Friend WithEvents Label29 As Label
+    Friend WithEvents btnRemoveEMRatio As Button
+    Friend WithEvents btnEmADCLossMap As Button
+    Friend WithEvents tbEmADCLossMap As TextBox
+    Friend WithEvents lblEmADCLossmap As Label
+    Friend WithEvents tbRatioEm As TextBox
+    Friend WithEvents lblRatioEm As Label
+    Friend WithEvents tbEmCount As TextBox
+    Friend WithEvents cbEmPos As ComboBox
+    Friend WithEvents lblEmCount As Label
+    Friend WithEvents lblEmPosition As Label
+    Friend WithEvents pnElectricMotor As Panel
+    Friend WithEvents btnOpenElectricMotor As Button
+    Friend WithEvents btnBrowseElectricMotor As Button
+    Friend WithEvents tbElectricMotor As TextBox
+    Friend WithEvents gbBattery As GroupBox
+    Friend WithEvents lvREESSPacks As ListView
+    Friend WithEvents chReessPackPack As ColumnHeader
+    Friend WithEvents chReessPackCount As ColumnHeader
+    Friend WithEvents chReessPackStringId As ColumnHeader
+    Friend WithEvents btnAddReessPack As Button
+    Friend WithEvents lblEditReessPack As Label
+    Friend WithEvents btnRemoveReessPack As Button
+    Friend WithEvents lblInitialSoCUnit As Label
+    Friend WithEvents tbInitialSoC As TextBox
+    Friend WithEvents lblInitialSoC As Label
+    Friend WithEvents tpIEPC As TabPage
+    Friend WithEvents btIEPCFilePath As Button
+    Friend WithEvents btnIEPC As Button
+    Friend WithEvents tbIEPCFilePath As TextBox
+    Friend WithEvents TableLayoutPanel1 As TableLayoutPanel
+    '>>>>>>> VECTO_CERT/master
 End Class
diff --git a/VECTO/GUI/VehicleForm.resx b/VECTO/GUI/VehicleForm.resx
index 29854c5744c9c53e592da2016f17bc434e366b68..bec7f277435b57846033f508b289b0e14e2bc296 100644
--- a/VECTO/GUI/VehicleForm.resx
+++ b/VECTO/GUI/VehicleForm.resx
@@ -167,7 +167,7 @@
 </value>
   </data>
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>77</value>
+    <value>46</value>
   </metadata>
   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
diff --git a/VECTO/GUI/VehicleForm.vb b/VECTO/GUI/VehicleForm.vb
index 7c4c7ad338e6175635a6b9cd82cae975d4974562..126ee01e8ec93eb3e0f5fa5385d3cfd4d6c3e593 100644
--- a/VECTO/GUI/VehicleForm.vb
+++ b/VECTO/GUI/VehicleForm.vb
@@ -521,16 +521,22 @@ Public Class VehicleForm
 	Private Sub UpdateForm(vehType As VectoSimulationJobType)
 		VehicleType = vehType
 
-		If Not tcVehicleComponents.TabPages.Contains(tpElectricComponents) Then
-			tcVehicleComponents.TabPages.Insert(2, tpElectricComponents)
-			tpElectricComponents.BindingContext = BindingContext
+		If Not tcVehicleComponents.TabPages.Contains(tpElectricMachine) Then
+			tcVehicleComponents.TabPages.Insert(2, tpElectricMachine)
+			tpElectricMachine.BindingContext = BindingContext
 		End If
+
+		If Not tcVehicleComponents.TabPages.Contains(tpReess) Then
+			tcVehicleComponents.TabPages.Insert(3, tpReess)
+			tpReess.BindingContext = BindingContext
+		End If
+
 		If Not tcVehicleComponents.TabPages.Contains(tpGensetComponents) Then
-			tcVehicleComponents.TabPages.Insert(3, tpGensetComponents)
+			tcVehicleComponents.TabPages.Insert(4, tpGensetComponents)
 			tpGensetComponents.BindingContext = BindingContext
 		End If
 		If Not tcVehicleComponents.TabPages.Contains(tpTorqueLimits) Then
-			tcVehicleComponents.TabPages.Insert(4, tpTorqueLimits)
+			tcVehicleComponents.TabPages.Insert(5, tpTorqueLimits)
 			tpTorqueLimits.BindingContext = BindingContext
 		End If
 
@@ -546,7 +552,8 @@ Public Class VehicleForm
 				gbAngledrive.Enabled = True
 
 				'Electric Powertrain Components -------------------------------------------
-				tcVehicleComponents.TabPages.Remove(tpElectricComponents)
+				tcVehicleComponents.TabPages.Remove(tpElectricMachine)
+				tcVehicleComponents.TabPages.Remove(tpReess)
 
 				'GenSet Components --------------------------------------------------------
 				tcVehicleComponents.TabPages.Remove(tpGensetComponents)
@@ -636,13 +643,30 @@ Public Class VehicleForm
 				pnEcoRoll.Visible = False
 				cbEcoRoll.SelectedIndex = 0
 
+			Case VectoSimulationJobType.IEPC_E
+				lblTitle.Text = "IEPC-E Vehicle"
+				
+			    tcVehicleComponents.TabPages.Remove(tpElectricMachine)
+			    tcVehicleComponents.TabPages.Remove(tpGensetComponents)
+
+		    Case VectoSimulationJobType.IEPC_S
+		        lblTitle.Text = "IEPC-S Vehicle"
+
+		        tcVehicleComponents.TabPages.Remove(tpElectricMachine)
+
 			Case Else
-				If Not tcVehicleComponents.TabPages.Contains(tpElectricComponents) Then
-					tcVehicleComponents.TabPages.Insert(2, tpElectricComponents)
-					tpElectricComponents.BindingContext = BindingContext
+				If Not tcVehicleComponents.TabPages.Contains(tpElectricMachine) Then
+					tcVehicleComponents.TabPages.Insert(2, tpElectricMachine)
+					tpElectricMachine.BindingContext = BindingContext
+				End If
+
+				If Not tcVehicleComponents.TabPages.Contains(tpReess) Then
+					tcVehicleComponents.TabPages.Insert(3, tpReess)
+					tpReess.BindingContext = BindingContext
 				End If
+
 				If Not tcVehicleComponents.TabPages.Contains(tpGensetComponents) Then
-					tcVehicleComponents.TabPages.Insert(3, tpGensetComponents)
+					tcVehicleComponents.TabPages.Insert(4, tpGensetComponents)
 					tpGensetComponents.BindingContext = BindingContext
 				End If
 				pnEcoRoll.Visible = True
@@ -746,21 +770,25 @@ Public Class VehicleForm
 
 			If tbElectricMotor.Text = "" Then
 				MsgBox("Electric Motor File is required.")
-				tcVehicleComponents.SelectedTab = tpElectricComponents
+				tcVehicleComponents.SelectedTab = tpElectricMachine
 				tbElectricMotor.Focus()
 				Return False
 			End If
+
 			veh.ElectricMotorFile.Init(GetPath(file), tbElectricMotor.Text)
 			veh.ElectricMotorPosition = CType(cbEmPos.SelectedValue, PowertrainPosition)
 			veh.ElectricMotorCount = tbEmCount.Text.ToInt(1)
 			veh.ElectricMotorRatio = tbRatioEm.Text.ToDouble(1)
 			'veh.ElectricMotorMechEff = tbEmADCLossMap.Text.ToDouble()
+
 			If tbEmADCLossMap.Text = "" Then
 				MsgBox("Loss Map EM ADC is required.")
-				tcVehicleComponents.SelectedTab = tpElectricComponents
+				tcVehicleComponents.SelectedTab = tpElectricMachine
 				tbEmADCLossMap.Focus()
 				Return False
 			End If
+
+
 			veh.ElectricMotorMechLossMap.Init(GetPath(file), tbEmADCLossMap.Text)
 			If (veh.ElectricMotorPosition = PowertrainPosition.HybridP2_5) Then
 				veh.ElectricMotorPerGearRatios = lvRatioPerGear.Items.Cast(Of ListViewItem).Select(Function(item) item.SubItems(RatiosPerGearTbl.Ratio).Text.ToDouble(0)).ToArray()
@@ -1233,7 +1261,6 @@ Public Class VehicleForm
 		If ElectricMotorFileBrowser.OpenDialog(FileRepl(tbElectricMotor.Text, GetPath(_vehFile))) Then
 			tbElectricMotor.Text = GetFilenameWithoutDirectory(ElectricMotorFileBrowser.Files(0), GetPath(_vehFile))
 		End If
-
 	End Sub
 
 
@@ -1466,5 +1493,66 @@ Public Class VehicleForm
 	Private Sub cbEngineStopStart_CheckedChanged(sender As Object, e As EventArgs) Handles cbEngineStopStart.CheckedChanged
 		Change()
 	End Sub
+
+
+	Private Sub btIEPCFilePath_Click(sender As Object, e As EventArgs) Handles btIEPCFilePath.Click
+		If IEPCFileBrowser.OpenDialog(FileRepl(tbIEPCFilePath.Text, GetPath(_vehFile))) Then
+			tbIEPCFilePath.Text = GetFilenameWithoutDirectory(IEPCFileBrowser.Files(0), GetPath(_vehFile))
+		End If
+	End Sub
+
+	Private Sub btnIEPC_Click(sender As Object, e As EventArgs) Handles btnIEPC.Click
+
+		Dim f = FileRepl(tbIEPCFilePath.Text, GetPath(_vehFile))
+		'IEPCForm.IEPCFilePath = GetPath(_vehFile)
+
+
+		If Not IEPCForm.Visible Then
+			IEPCForm.Show()
+		Else
+			If IEPCForm.WindowState = FormWindowState.Minimized Then IEPCForm.WindowState = FormWindowState.Normal
+			IEPCForm.BringToFront()
+		End If
+		'f = "G:\_Work\VECTO\EU_Code\fk_vecto-dev\VectoCore\VectoCoreTest\TestData\BatteryElectric\IEPC\GenericIEPC.viepc"
+		f = "E:\VECTO_DEV\EU_Code\fk_vecto-dev\VectoCore\VectoCoreTest\TestData\BatteryElectric\IEPC\GenericIEPC.viepc"
+		If Not Trim(f) = "" Then
+			Try
+				IEPCForm.ReadIEPCFile(f)
+			Catch ex As Exception
+				MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error loading IEPC File")
+			End Try
+		End If
+
+		''Thus Veh-file is returned
+		'ElectricMotorForm.JobDir = GetPath(_vehFile)
+		'ElectricMotorForm.AutoSendTo = Sub(file, vehicleForm)
+		'    If UCase(FileRepl(vehicleForm.tbElectricMotor.Text, JobDir)) <> UCase(file) Then _
+		'        vehicleForm.tbElectricMotor.Text = GetFilenameWithoutDirectory(file, JobDir)
+		'    VectoJobForm.UpdatePic()
+		'End Sub
+
+		'If Not Trim(f) = "" Then
+		'    If Not File.Exists(f) Then
+		'        MsgBox("File not found!")
+		'        Exit Sub
+		'    End If
+		'End If
+
+		'If Not ElectricMotorForm.Visible Then
+		'    ElectricMotorForm.Show()
+		'Else
+		'    If ElectricMotorForm.WindowState = FormWindowState.Minimized Then ElectricMotorForm.WindowState = FormWindowState.Normal
+		'    ElectricMotorForm.BringToFront()
+		'End If
+
+		'If Not Trim(f) = "" Then
+		'    Try
+		'        ElectricMotorForm.OpenElectricMachineFile(f)
+		'    Catch ex As Exception
+		'        MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Error loading Vehicle File")
+		'    End Try
+		'End If
+	End Sub
+
 End Class
 
diff --git a/VECTO/Input Files/ElectricMachine.vb b/VECTO/Input Files/ElectricMachine.vb
index 4671c0d8960ca6f9a44448cdb3fd73ac6d2adfa0..14bf115c329bb1356f8793dc277fd458ab91bb43 100644
--- a/VECTO/Input Files/ElectricMachine.vb	
+++ b/VECTO/Input Files/ElectricMachine.vb	
@@ -97,7 +97,7 @@ Public Class ElectricMachine
             writer.SaveElectricMotor(Me, _filePath, Cfg.DeclMode)
 
         Catch ex As Exception
-            MsgBox("Faled to write Engine file: " + ex.Message)
+            MsgBox("Failed to write Engine file: " + ex.Message)
             Return False
         End Try
         Return True
diff --git a/VECTO/Input Files/IEPCInputData.vb b/VECTO/Input Files/IEPCInputData.vb
new file mode 100644
index 0000000000000000000000000000000000000000..8a3904411cb56222c0a381a6175fa82e4a7ca91b
--- /dev/null
+++ b/VECTO/Input Files/IEPCInputData.vb	
@@ -0,0 +1,149 @@
+Imports TUGraz.VectoCommon.InputData
+Imports TUGraz.VectoCommon.Models
+Imports TUGraz.VectoCommon.Utils
+
+Public Class IEPCInputData 
+    Implements IIEPCEngineeringInputData
+
+    Public FilePath As String
+    Public ModelName As String
+    Public InertiaValue As KilogramSquareMeter
+    Public DifferentialIncludedValue As Boolean
+    Public DesignTypeWheelMotorValue As Boolean
+    Public NrOfDesignTypeWheelMotorMeasuredValue As Integer?
+    Public OverloadRecoveryFactorValue As Double
+
+    Public GearValues As IList(Of IGearEntry)
+    Public VoltageLevelValues As IList(Of IElectricMotorVoltageLevel)
+    Public DragCurveValues As  IList(Of IDragCurve)
+    
+
+    public Function SaveFile() As Boolean
+        Return False
+    End Function
+
+
+    
+    Public ReadOnly Property DataSource As DataSource Implements IComponentInputData.DataSource
+        Get
+            Dim retVal = New DataSource()
+            retVal.SourceType = DataSourceType.JSONFile
+            retVal.SourceFile = FilePath
+            Return retVal
+        End Get
+    End Property
+
+    Public ReadOnly Property SavedInDeclarationMode As Boolean Implements IComponentInputData.SavedInDeclarationMode
+        Get
+            Return Cfg.DeclMode
+        End Get
+    End Property
+
+    Public ReadOnly Property Manufacturer As String Implements IComponentInputData.Manufacturer
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Public ReadOnly Property Model As String Implements IComponentInputData.Model
+        Get
+            Return ModelName
+        End Get
+    End Property
+
+    Public ReadOnly Property [Date] As Date Implements IComponentInputData.[Date]
+        Get
+            Return Now.ToUniversalTime()
+        End Get
+    End Property
+
+    Public ReadOnly Property AppVersion As String Implements IComponentInputData.AppVersion
+        Get
+            Return "VECTO-GUI"
+        End Get
+    End Property
+
+    Public ReadOnly Property CertificationMethod As CertificationMethod Implements IComponentInputData.CertificationMethod
+        Get
+            Return CertificationMethod.NotCertified
+        End Get
+    End Property
+
+    Public ReadOnly Property CertificationNumber As String Implements IComponentInputData.CertificationNumber
+        Get
+            Return VectoCore.Configuration.Constants.NOT_AVAILABLE
+        End Get
+    End Property
+
+    Public ReadOnly Property DigestValue As DigestData Implements IComponentInputData.DigestValue
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Public ReadOnly Property ElectricMachineType As ElectricMachineType Implements IIEPCDeclarationInputData.ElectricMachineType
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Public ReadOnly Property R85RatedPower As Watt Implements IIEPCDeclarationInputData.R85RatedPower
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Public ReadOnly Property Inertia As KilogramSquareMeter Implements IIEPCDeclarationInputData.Inertia
+        Get
+            Return InertiaValue
+        End Get
+    End Property
+
+    Public ReadOnly Property DifferentialIncluded As Boolean Implements IIEPCDeclarationInputData.DifferentialIncluded
+        Get
+            Return DifferentialIncludedValue
+        End Get
+    End Property
+
+    Public ReadOnly Property DesignTypeWheelMotor As Boolean Implements IIEPCDeclarationInputData.DesignTypeWheelMotor
+        Get
+            Return DesignTypeWheelMotorValue
+        End Get
+    End Property
+
+    Public ReadOnly Property NrOfDesignTypeWheelMotorMeasured As Integer? Implements IIEPCDeclarationInputData.NrOfDesignTypeWheelMotorMeasured
+        Get
+            Return NrOfDesignTypeWheelMotorMeasuredValue
+        End Get
+    End Property
+
+    Public ReadOnly Property Gears As IList(Of IGearEntry) Implements IIEPCDeclarationInputData.Gears
+        Get
+            Return GearValues
+        End Get
+    End Property
+
+    Public ReadOnly Property VoltageLevels As IList(Of IElectricMotorVoltageLevel) Implements IIEPCDeclarationInputData.VoltageLevels
+        Get
+            Return VoltageLevelValues
+        End Get
+    End Property
+
+    Public ReadOnly Property DragCurves As IList(Of IDragCurve) Implements IIEPCDeclarationInputData.DragCurves
+        Get
+            Return DragCurveValues
+        End Get
+    End Property
+
+    Public ReadOnly Property Conditioning As TableData Implements IIEPCDeclarationInputData.Conditioning
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Public ReadOnly Property OverloadRecoveryFactor As Double Implements IIEPCEngineeringInputData.OverloadRecoveryFactor
+        Get
+            Return OverloadRecoveryFactorValue
+        End Get
+    End Property
+End Class
diff --git a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs
index 2038ad30da7c00e96f7eb6dd9df6e4c35b072a26..aa928cde62a2b740723af9ebd5000eb4ad618a86 100644
--- a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs
+++ b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs
@@ -58,6 +58,8 @@ namespace TUGraz.VectoCommon.InputData
 		ParallelHybridVehicle,
 		SerialHybridVehicle,
 		BatteryElectricVehicle,
+		IEPC_E,
+		IEPC_S,
 		EngineOnlySimulation,
 		IEPC_E,
 		IEPC_S