diff --git a/VECTO/File Browser/FileBrowserModule.vb b/VECTO/File Browser/FileBrowserModule.vb
index 041359ac9c189bcfe48568f8286dd2b1bb334b99..9b4063bcb5473e1b73c915adc81cbb5a31f8a45d 100644
--- a/VECTO/File Browser/FileBrowserModule.vb	
+++ b/VECTO/File Browser/FileBrowserModule.vb	
@@ -69,4 +69,5 @@ Public Module FileBrowserModule
     Public REESSFileBrowser As FileBrowser
 
 	public EmADCLossMapFileBrowser As FileBrowser
+	Public IEPCFileBrowser As FileBrowser
 End Module
diff --git a/VECTO/GUI/IEPCForm.Designer.vb b/VECTO/GUI/IEPCForm.Designer.vb
new file mode 100644
index 0000000000000000000000000000000000000000..68c702515d3dbd73a18e01682aa374d2ad56186f
--- /dev/null
+++ b/VECTO/GUI/IEPCForm.Designer.vb
@@ -0,0 +1,552 @@
+<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.Button4 = New System.Windows.Forms.Button()
+        Me.TextBox4 = New System.Windows.Forms.TextBox()
+        Me.Label52 = New System.Windows.Forms.Label()
+        Me.Label48 = New System.Windows.Forms.Label()
+        Me.TextBox3 = 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.GroupBox2 = New System.Windows.Forms.GroupBox()
+        Me.ListView1 = 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.Button1 = New System.Windows.Forms.Button()
+        Me.Label47 = New System.Windows.Forms.Label()
+        Me.Button2 = New System.Windows.Forms.Button()
+        Me.tbFLCurve = New System.Windows.Forms.TextBox()
+        Me.Label44 = New System.Windows.Forms.Label()
+        Me.tpVoltageLevel = New System.Windows.Forms.TabPage()
+        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
+        Me.Label37 = New System.Windows.Forms.Label()
+        Me.tbVoltage = New System.Windows.Forms.TextBox()
+        Me.Label39 = New System.Windows.Forms.Label()
+        Me.Label1 = New System.Windows.Forms.Label()
+        Me.tbContinousTorque = New System.Windows.Forms.TextBox()
+        Me.tbContinousTorqueSpeed = New System.Windows.Forms.TextBox()
+        Me.tbOverloadTorque = New System.Windows.Forms.TextBox()
+        Me.TextBox1 = New System.Windows.Forms.TextBox()
+        Me.TextBox2 = New System.Windows.Forms.TextBox()
+        Me.Label41 = New System.Windows.Forms.Label()
+        Me.Label42 = New System.Windows.Forms.Label()
+        Me.Label43 = New System.Windows.Forms.Label()
+        Me.TableLayoutPanel2 = New System.Windows.Forms.TableLayoutPanel()
+        Me.Label3 = New System.Windows.Forms.Label()
+        Me.Label2 = New System.Windows.Forms.Label()
+        Me.cbDesignTypeWheelMotor = New System.Windows.Forms.CheckBox()
+        Me.cbDifferentialIncluded = New System.Windows.Forms.CheckBox()
+        Me.Label4 = New System.Windows.Forms.Label()
+        Me.tcVoltageLevels.SuspendLayout
+        Me.tpFirstVoltageLevel.SuspendLayout
+        Me.GroupBox2.SuspendLayout
+        Me.TableLayoutPanel1.SuspendLayout
+        Me.TableLayoutPanel2.SuspendLayout
+        Me.SuspendLayout
+        '
+        'Button4
+        '
+        Me.Button4.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.Button4.Image = CType(resources.GetObject("Button4.Image"),System.Drawing.Image)
+        Me.Button4.Location = New System.Drawing.Point(495, 141)
+        Me.Button4.Name = "Button4"
+        Me.Button4.Size = New System.Drawing.Size(24, 24)
+        Me.Button4.TabIndex = 29
+        Me.Button4.UseVisualStyleBackColor = true
+        '
+        'TextBox4
+        '
+        Me.TextBox4.Anchor = System.Windows.Forms.AnchorStyles.Left
+        Me.TextBox4.Location = New System.Drawing.Point(217, 138)
+        Me.TextBox4.Name = "TextBox4"
+        Me.TextBox4.Size = New System.Drawing.Size(57, 20)
+        Me.TextBox4.TabIndex = 51
+        '
+        'Label52
+        '
+        Me.Label52.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label52.AutoSize = true
+        Me.Label52.Location = New System.Drawing.Point(38, 142)
+        Me.Label52.Name = "Label52"
+        Me.Label52.Size = New System.Drawing.Size(173, 13)
+        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(4, 115)
+        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"
+        '
+        'TextBox3
+        '
+        Me.TextBox3.Anchor = System.Windows.Forms.AnchorStyles.Left
+        Me.TextBox3.Location = New System.Drawing.Point(217, 111)
+        Me.TextBox3.Name = "TextBox3"
+        Me.TextBox3.Size = New System.Drawing.Size(57, 20)
+        Me.TextBox3.TabIndex = 49
+        '
+        'Label51
+        '
+        Me.Label51.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label51.AutoSize = true
+        Me.Label51.Location = New System.Drawing.Point(175, 34)
+        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(217, 30)
+        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(175, 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(217, 3)
+        Me.tbModel.Name = "tbModel"
+        Me.tbModel.Size = New System.Drawing.Size(57, 20)
+        Me.tbModel.TabIndex = 44
+        '
+        'tcVoltageLevels
+        '
+        Me.tcVoltageLevels.Controls.Add(Me.tpFirstVoltageLevel)
+        Me.tcVoltageLevels.Controls.Add(Me.tpVoltageLevel)
+        Me.tcVoltageLevels.Location = New System.Drawing.Point(12, 220)
+        Me.tcVoltageLevels.Name = "tcVoltageLevels"
+        Me.tcVoltageLevels.SelectedIndex = 0
+        Me.tcVoltageLevels.Size = New System.Drawing.Size(532, 394)
+        Me.tcVoltageLevels.TabIndex = 41
+        '
+        'tpFirstVoltageLevel
+        '
+        Me.tpFirstVoltageLevel.Controls.Add(Me.GroupBox2)
+        Me.tpFirstVoltageLevel.Controls.Add(Me.Button4)
+        Me.tpFirstVoltageLevel.Controls.Add(Me.tbFLCurve)
+        Me.tpFirstVoltageLevel.Controls.Add(Me.Label44)
+        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(524, 368)
+        Me.tpFirstVoltageLevel.TabIndex = 0
+        Me.tpFirstVoltageLevel.Text = "First Voltage Level"
+        Me.tpFirstVoltageLevel.UseVisualStyleBackColor = true
+        '
+        'GroupBox2
+        '
+        Me.GroupBox2.Controls.Add(Me.ListView1)
+        Me.GroupBox2.Controls.Add(Me.Button1)
+        Me.GroupBox2.Controls.Add(Me.Label47)
+        Me.GroupBox2.Controls.Add(Me.Button2)
+        Me.GroupBox2.Location = New System.Drawing.Point(16, 175)
+        Me.GroupBox2.Name = "GroupBox2"
+        Me.GroupBox2.Size = New System.Drawing.Size(249, 125)
+        Me.GroupBox2.TabIndex = 60
+        Me.GroupBox2.TabStop = false
+        Me.GroupBox2.Text = "Power Map Per Gear"
+        '
+        'ListView1
+        '
+        Me.ListView1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left)  _
+            Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles)
+        Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader13, Me.ColumnHeader14})
+        Me.ListView1.FullRowSelect = true
+        Me.ListView1.GridLines = true
+        Me.ListView1.HideSelection = false
+        Me.ListView1.Location = New System.Drawing.Point(6, 16)
+        Me.ListView1.MultiSelect = false
+        Me.ListView1.Name = "ListView1"
+        Me.ListView1.Size = New System.Drawing.Size(237, 72)
+        Me.ListView1.TabIndex = 7
+        Me.ListView1.TabStop = false
+        Me.ListView1.UseCompatibleStateImageBehavior = false
+        Me.ListView1.View = System.Windows.Forms.View.Details
+        '
+        'ColumnHeader13
+        '
+        Me.ColumnHeader13.Text = "Gear #"
+        Me.ColumnHeader13.Width = 59
+        '
+        'ColumnHeader14
+        '
+        Me.ColumnHeader14.Text = "Power Map File"
+        Me.ColumnHeader14.Width = 172
+        '
+        'Button1
+        '
+        Me.Button1.Image = Global.TUGraz.VECTO.My.Resources.Resources.plus_circle_icon
+        Me.Button1.Location = New System.Drawing.Point(6, 94)
+        Me.Button1.Name = "Button1"
+        Me.Button1.Size = New System.Drawing.Size(24, 24)
+        Me.Button1.TabIndex = 4
+        Me.Button1.UseVisualStyleBackColor = true
+        '
+        'Label47
+        '
+        Me.Label47.AutoSize = true
+        Me.Label47.Location = New System.Drawing.Point(137, 91)
+        Me.Label47.Name = "Label47"
+        Me.Label47.Size = New System.Drawing.Size(106, 13)
+        Me.Label47.TabIndex = 6
+        Me.Label47.Text = "(Double-Click to Edit)"
+        '
+        'Button2
+        '
+        Me.Button2.Image = Global.TUGraz.VECTO.My.Resources.Resources.minus_circle_icon
+        Me.Button2.Location = New System.Drawing.Point(36, 94)
+        Me.Button2.Name = "Button2"
+        Me.Button2.Size = New System.Drawing.Size(24, 24)
+        Me.Button2.TabIndex = 5
+        Me.Button2.UseVisualStyleBackColor = true
+        '
+        'tbFLCurve
+        '
+        Me.tbFLCurve.Location = New System.Drawing.Point(13, 144)
+        Me.tbFLCurve.Name = "tbFLCurve"
+        Me.tbFLCurve.Size = New System.Drawing.Size(384, 20)
+        Me.tbFLCurve.TabIndex = 57
+        '
+        'Label44
+        '
+        Me.Label44.AutoSize = true
+        Me.Label44.Location = New System.Drawing.Point(13, 128)
+        Me.Label44.Name = "Label44"
+        Me.Label44.Size = New System.Drawing.Size(115, 13)
+        Me.Label44.TabIndex = 59
+        Me.Label44.Text = "Fuel Consumption Map"
+        '
+        'tpVoltageLevel
+        '
+        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(524, 368)
+        Me.tpVoltageLevel.TabIndex = 1
+        Me.tpVoltageLevel.Text = "Secondary Voltage Level"
+        Me.tpVoltageLevel.UseVisualStyleBackColor = true
+        '
+        'TableLayoutPanel1
+        '
+        Me.TableLayoutPanel1.ColumnCount = 6
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 65.83851!))
+        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, 26!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 101!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 87!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20!))
+        Me.TableLayoutPanel1.Controls.Add(Me.Label4, 2, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label37, 0, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbVoltage, 1, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label39, 0, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label1, 0, 2)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbContinousTorque, 1, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbContinousTorqueSpeed, 1, 2)
+        Me.TableLayoutPanel1.Controls.Add(Me.tbOverloadTorque, 4, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.TextBox1, 4, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.TextBox2, 4, 2)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label41, 3, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label42, 3, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.Label43, 3, 2)
+        Me.TableLayoutPanel1.Location = New System.Drawing.Point(318, 58)
+        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(439, 82)
+        Me.TableLayoutPanel1.TabIndex = 61
+        '
+        '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"
+        '
+        'tbVoltage
+        '
+        Me.tbVoltage.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbVoltage.Location = New System.Drawing.Point(144, 3)
+        Me.tbVoltage.Name = "tbVoltage"
+        Me.tbVoltage.Size = New System.Drawing.Size(57, 20)
+        Me.tbVoltage.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"
+        '
+        'tbContinousTorque
+        '
+        Me.tbContinousTorque.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbContinousTorque.Location = New System.Drawing.Point(144, 30)
+        Me.tbContinousTorque.Name = "tbContinousTorque"
+        Me.tbContinousTorque.Size = New System.Drawing.Size(57, 20)
+        Me.tbContinousTorque.TabIndex = 4
+        '
+        'tbContinousTorqueSpeed
+        '
+        Me.tbContinousTorqueSpeed.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbContinousTorqueSpeed.Location = New System.Drawing.Point(144, 58)
+        Me.tbContinousTorqueSpeed.Name = "tbContinousTorqueSpeed"
+        Me.tbContinousTorqueSpeed.Size = New System.Drawing.Size(57, 20)
+        Me.tbContinousTorqueSpeed.TabIndex = 6
+        '
+        'tbOverloadTorque
+        '
+        Me.tbOverloadTorque.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbOverloadTorque.Location = New System.Drawing.Point(347, 3)
+        Me.tbOverloadTorque.Name = "tbOverloadTorque"
+        Me.tbOverloadTorque.Size = New System.Drawing.Size(57, 20)
+        Me.tbOverloadTorque.TabIndex = 8
+        '
+        'TextBox1
+        '
+        Me.TextBox1.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.TextBox1.Location = New System.Drawing.Point(347, 30)
+        Me.TextBox1.Name = "TextBox1"
+        Me.TextBox1.Size = New System.Drawing.Size(57, 20)
+        Me.TextBox1.TabIndex = 10
+        '
+        'TextBox2
+        '
+        Me.TextBox2.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.TextBox2.Location = New System.Drawing.Point(347, 58)
+        Me.TextBox2.Name = "TextBox2"
+        Me.TextBox2.Size = New System.Drawing.Size(57, 20)
+        Me.TextBox2.TabIndex = 12
+        '
+        'Label41
+        '
+        Me.Label41.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label41.AutoSize = true
+        Me.Label41.Location = New System.Drawing.Point(242, 7)
+        Me.Label41.Name = "Label41"
+        Me.Label41.Size = New System.Drawing.Size(87, 13)
+        Me.Label41.TabIndex = 7
+        Me.Label41.Text = "Overload Torque"
+        '
+        'Label42
+        '
+        Me.Label42.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label42.AutoSize = true
+        Me.Label42.Location = New System.Drawing.Point(239, 27)
+        Me.Label42.Name = "Label42"
+        Me.Label42.Size = New System.Drawing.Size(90, 26)
+        Me.Label42.TabIndex = 9
+        Me.Label42.Text = "Overload Torque Speed"
+        '
+        'Label43
+        '
+        Me.Label43.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label43.AutoSize = true
+        Me.Label43.Location = New System.Drawing.Point(253, 61)
+        Me.Label43.Name = "Label43"
+        Me.Label43.Size = New System.Drawing.Size(76, 13)
+        Me.Label43.TabIndex = 11
+        Me.Label43.Text = "Overload Time"
+        '
+        'TableLayoutPanel2
+        '
+        Me.TableLayoutPanel2.ColumnCount = 2
+        Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 214!))
+        Me.TableLayoutPanel2.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 306!))
+        Me.TableLayoutPanel2.Controls.Add(Me.Label3, 0, 3)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label52, 0, 5)
+        Me.TableLayoutPanel2.Controls.Add(Me.TextBox4, 1, 5)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label48, 0, 4)
+        Me.TableLayoutPanel2.Controls.Add(Me.Label2, 0, 2)
+        Me.TableLayoutPanel2.Controls.Add(Me.cbDesignTypeWheelMotor, 1, 3)
+        Me.TableLayoutPanel2.Controls.Add(Me.tbModel, 1, 0)
+        Me.TableLayoutPanel2.Controls.Add(Me.TextBox3, 1, 4)
+        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, 1, 2)
+        Me.TableLayoutPanel2.Location = New System.Drawing.Point(12, 12)
+        Me.TableLayoutPanel2.Name = "TableLayoutPanel2"
+        Me.TableLayoutPanel2.RowCount = 6
+        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.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.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(280, 162)
+        Me.TableLayoutPanel2.TabIndex = 52
+        '
+        'Label3
+        '
+        Me.Label3.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label3.AutoSize = true
+        Me.Label3.Location = New System.Drawing.Point(30, 88)
+        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"
+        '
+        'Label2
+        '
+        Me.Label2.Anchor = System.Windows.Forms.AnchorStyles.Right
+        Me.Label2.AutoSize = true
+        Me.Label2.Location = New System.Drawing.Point(110, 61)
+        Me.Label2.Name = "Label2"
+        Me.Label2.Size = New System.Drawing.Size(101, 13)
+        Me.Label2.TabIndex = 53
+        Me.Label2.Text = "Differential Included"
+        '
+        'cbDesignTypeWheelMotor
+        '
+        Me.cbDesignTypeWheelMotor.Anchor = System.Windows.Forms.AnchorStyles.Left
+        Me.cbDesignTypeWheelMotor.AutoSize = true
+        Me.cbDesignTypeWheelMotor.Location = New System.Drawing.Point(217, 87)
+        Me.cbDesignTypeWheelMotor.Name = "cbDesignTypeWheelMotor"
+        Me.cbDesignTypeWheelMotor.Size = New System.Drawing.Size(15, 14)
+        Me.cbDesignTypeWheelMotor.TabIndex = 53
+        Me.cbDesignTypeWheelMotor.UseVisualStyleBackColor = true
+        '
+        'cbDifferentialIncluded
+        '
+        Me.cbDifferentialIncluded.Anchor = System.Windows.Forms.AnchorStyles.Left
+        Me.cbDifferentialIncluded.AutoSize = true
+        Me.cbDifferentialIncluded.Location = New System.Drawing.Point(217, 60)
+        Me.cbDifferentialIncluded.Name = "cbDifferentialIncluded"
+        Me.cbDifferentialIncluded.Size = New System.Drawing.Size(15, 14)
+        Me.cbDifferentialIncluded.TabIndex = 47
+        Me.cbDifferentialIncluded.UseVisualStyleBackColor = true
+        '
+        'Label4
+        '
+        Me.Label4.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label4.AutoSize = true
+        Me.Label4.Location = New System.Drawing.Point(208, 7)
+        Me.Label4.Name = "Label4"
+        Me.Label4.Size = New System.Drawing.Size(20, 13)
+        Me.Label4.TabIndex = 62
+        Me.Label4.Text = "[V]"
+        '
+        'IEPCForm
+        '
+        Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!)
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.ClientSize = New System.Drawing.Size(800, 626)
+        Me.Controls.Add(Me.TableLayoutPanel1)
+        Me.Controls.Add(Me.TableLayoutPanel2)
+        Me.Controls.Add(Me.tcVoltageLevels)
+        Me.Name = "IEPCForm"
+        Me.Text = "IEPCForm"
+        Me.tcVoltageLevels.ResumeLayout(false)
+        Me.tpFirstVoltageLevel.ResumeLayout(false)
+        Me.tpFirstVoltageLevel.PerformLayout
+        Me.GroupBox2.ResumeLayout(false)
+        Me.GroupBox2.PerformLayout
+        Me.TableLayoutPanel1.ResumeLayout(false)
+        Me.TableLayoutPanel1.PerformLayout
+        Me.TableLayoutPanel2.ResumeLayout(false)
+        Me.TableLayoutPanel2.PerformLayout
+        Me.ResumeLayout(false)
+
+End Sub
+    Friend WithEvents Button4 As Button
+    Friend WithEvents TextBox4 As TextBox
+    Friend WithEvents Label52 As Label
+    Friend WithEvents Label48 As Label
+    Friend WithEvents TextBox3 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 ListView1 As ListView
+    Friend WithEvents ColumnHeader13 As ColumnHeader
+    Friend WithEvents ColumnHeader14 As ColumnHeader
+    Friend WithEvents Button1 As Button
+    Friend WithEvents Label47 As Label
+    Friend WithEvents Button2 As Button
+    Friend WithEvents tbFLCurve As TextBox
+    Friend WithEvents Label44 As Label
+    Friend WithEvents Label43 As Label
+    Friend WithEvents TextBox2 As TextBox
+    Friend WithEvents Label42 As Label
+    Friend WithEvents TextBox1 As TextBox
+    Friend WithEvents Label41 As Label
+    Friend WithEvents tbOverloadTorque As TextBox
+    Friend WithEvents tbContinousTorqueSpeed As TextBox
+    Friend WithEvents Label39 As Label
+    Friend WithEvents tbContinousTorque As TextBox
+    Friend WithEvents Label37 As Label
+    Friend WithEvents tbVoltage 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
+End Class
diff --git a/VECTO/GUI/IEPCForm.resx b/VECTO/GUI/IEPCForm.resx
new file mode 100644
index 0000000000000000000000000000000000000000..c10c5d3e0435b9c404bfee27e312cdcb603b5c98
--- /dev/null
+++ b/VECTO/GUI/IEPCForm.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="Button4.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/IEPCForm.vb b/VECTO/GUI/IEPCForm.vb
new file mode 100644
index 0000000000000000000000000000000000000000..f12ced91c64080bff1230a174db8ff62a8280945
--- /dev/null
+++ b/VECTO/GUI/IEPCForm.vb
@@ -0,0 +1,12 @@
+Imports TUGraz.VectoCore.InputData.FileIO.JSON
+
+Public Class IEPCForm
+    Public IEPCFilePath As String = ""
+
+    Public Sub ReadIEPCFile(file As String)
+        Dim inputData = JSONInputDataFactory.ReadIEPCEngineeringInputData(file, true)
+      
+        
+
+    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..87bce14232160b948fcf94b21678504dd8ce45c2
--- /dev/null
+++ b/VECTO/GUI/IEPCInputDialog.Designer.vb
@@ -0,0 +1,187 @@
+<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()
+        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
+        Me.btnOk = New System.Windows.Forms.Button()
+        Me.btnCancel = New System.Windows.Forms.Button()
+        Me.tbInputFile = New System.Windows.Forms.TextBox()
+        Me.TableLayoutPanel3 = New System.Windows.Forms.TableLayoutPanel()
+        Me.TableLayoutPanel4 = New System.Windows.Forms.TableLayoutPanel()
+        Me.Label3 = New System.Windows.Forms.Label()
+        Me.tbGear = New System.Windows.Forms.TextBox()
+        Me.btnInputFile = New System.Windows.Forms.Button()
+        Me.TableLayoutPanel5 = New System.Windows.Forms.TableLayoutPanel()
+        Me.TableLayoutPanel1.SuspendLayout
+        Me.TableLayoutPanel3.SuspendLayout
+        Me.TableLayoutPanel4.SuspendLayout
+        Me.TableLayoutPanel5.SuspendLayout
+        Me.SuspendLayout
+        '
+        'TableLayoutPanel1
+        '
+        Me.TableLayoutPanel1.ColumnCount = 2
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50!))
+        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50!))
+        Me.TableLayoutPanel1.Controls.Add(Me.btnOk, 0, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.btnCancel, 1, 0)
+        Me.TableLayoutPanel1.Location = New System.Drawing.Point(332, 64)
+        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+        Me.TableLayoutPanel1.RowCount = 1
+        Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50!))
+        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"
+        '
+        'tbInputFile
+        '
+        Me.tbInputFile.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.tbInputFile.Enabled = false
+        Me.tbInputFile.Location = New System.Drawing.Point(5, 4)
+        Me.tbInputFile.Name = "tbInputFile"
+        Me.tbInputFile.Size = New System.Drawing.Size(300, 20)
+        Me.tbInputFile.TabIndex = 5
+        '
+        '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!))
+        Me.TableLayoutPanel3.Size = New System.Drawing.Size(505, 49)
+        Me.TableLayoutPanel3.TabIndex = 7
+        '
+        '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!))
+        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
+        '
+        'btnInputFile
+        '
+        Me.btnInputFile.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.btnInputFile.Enabled = false
+        Me.btnInputFile.Image = Global.TUGraz.VECTO.My.Resources.Resources.Open_icon
+        Me.btnInputFile.Location = New System.Drawing.Point(317, 3)
+        Me.btnInputFile.Name = "btnInputFile"
+        Me.btnInputFile.Size = New System.Drawing.Size(24, 22)
+        Me.btnInputFile.TabIndex = 6
+        Me.btnInputFile.UseVisualStyleBackColor = true
+        '
+        '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.Percent, 89.10256!))
+        Me.TableLayoutPanel5.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 10.89744!))
+        Me.TableLayoutPanel5.Controls.Add(Me.tbInputFile, 0, 0)
+        Me.TableLayoutPanel5.Controls.Add(Me.btnInputFile, 1, 0)
+        Me.TableLayoutPanel5.Location = New System.Drawing.Point(150, 10)
+        Me.TableLayoutPanel5.Name = "TableLayoutPanel5"
+        Me.TableLayoutPanel5.RowCount = 1
+        Me.TableLayoutPanel5.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100!))
+        Me.TableLayoutPanel5.Size = New System.Drawing.Size(348, 28)
+        Me.TableLayoutPanel5.TabIndex = 8
+        '
+        'IEPCInputDialog
+        '
+        Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!)
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.ClientSize = New System.Drawing.Size(505, 105)
+        Me.Controls.Add(Me.TableLayoutPanel1)
+        Me.Controls.Add(Me.TableLayoutPanel3)
+        Me.Name = "IEPCInputDialog"
+        Me.Text = "IEPCInputDialog"
+        Me.TableLayoutPanel1.ResumeLayout(false)
+        Me.TableLayoutPanel3.ResumeLayout(false)
+        Me.TableLayoutPanel4.ResumeLayout(false)
+        Me.TableLayoutPanel4.PerformLayout
+        Me.TableLayoutPanel5.ResumeLayout(false)
+        Me.TableLayoutPanel5.PerformLayout
+        Me.ResumeLayout(false)
+
+End Sub
+
+    Friend WithEvents TableLayoutPanel1 As TableLayoutPanel
+    Friend WithEvents btnOk As Button
+    Friend WithEvents btnCancel As Button
+    Friend WithEvents tbInputFile As TextBox
+    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 btnInputFile As Button
+End Class
diff --git a/VECTO/GUI/IEPCInputDialog.resx b/VECTO/GUI/IEPCInputDialog.resx
new file mode 100644
index 0000000000000000000000000000000000000000..1af7de150c99c12dd67a509fe57c10d63e4eeb04
--- /dev/null
+++ b/VECTO/GUI/IEPCInputDialog.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/IEPCInputDialog.vb b/VECTO/GUI/IEPCInputDialog.vb
new file mode 100644
index 0000000000000000000000000000000000000000..f93d40375772b73d7f6f351a8650d0b6c7594465
--- /dev/null
+++ b/VECTO/GUI/IEPCInputDialog.vb
@@ -0,0 +1,3 @@
+Public Class IEPCInputDialog
+
+End Class
\ No newline at end of file
diff --git a/VECTO/GUI/MainForm.Designer.vb b/VECTO/GUI/MainForm.Designer.vb
index 972c320b15791693c24a24b80a976d0f59d4881c..633fd572fda57dcf5af27e1af334aaedfe9bb622 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,6 @@ Partial Class MainForm
         Me.OpenInGraphWindowToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
-        Me.JobEditorSerialHybridVehicleToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.StatusBAR.SuspendLayout
         Me.TabControl1.SuspendLayout
         Me.TabPageGEN.SuspendLayout
@@ -373,8 +374,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 +721,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.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 +732,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(255, 22)
         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(255, 22)
+        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(255, 22)
         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(255, 22)
+        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(255, 22)
+        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(255, 22)
         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(255, 22)
         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(255, 22)
         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(255, 22)
         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(255, 22)
         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(255, 22)
         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(252, 6)
         '
         'OpenLogToolStripMenuItem
         '
         Me.OpenLogToolStripMenuItem.Name = "OpenLogToolStripMenuItem"
-        Me.OpenLogToolStripMenuItem.Size = New System.Drawing.Size(262, 30)
+        Me.OpenLogToolStripMenuItem.Size = New System.Drawing.Size(255, 22)
         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(255, 22)
         Me.SettingsToolStripMenuItem.Text = "Settings"
         '
         'ToolStripDrDnBtInfo
@@ -882,13 +897,6 @@ Partial Class MainForm
         Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(173, 22)
         Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder"
         '
-        'JobEditorSerialHybridVehicleToolStripMenuItem
-        '
-        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"
-        '
         'MainForm
         '
         Me.AcceptButton = Me.btStartV3
@@ -1027,4 +1035,5 @@ End Sub
     Friend WithEvents JobEditorBatteryElectricVehicleToolStripMenuItem As ToolStripMenuItem
     Friend WithEvents JobEditorEngineOnlyModeToolStripMenuItem As ToolStripMenuItem
     Friend WithEvents JobEditorSerialHybridVehicleToolStripMenuItem As ToolStripMenuItem
+    Friend WithEvents JobEditorIEPC_E_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..14908f8b1437c614bd1376bcf749d96e8731cc0a 100644
--- a/VECTO/GUI/MainForm.vb
+++ b/VECTO/GUI/MainForm.vb
@@ -138,6 +138,7 @@ Public Class MainForm
         TorqueConverterShiftPolygonFileBrowser = New FileBrowser("vgbs")
         CrossWindCorrectionFileBrowser = New FileBrowser("vcdx")
         ElectricMotorFileBrowser = New FileBrowser("vem")
+        IEPCFileBrowser = New FileBrowser("viepc")
         REESSFileBrowser = New FileBrowser("vreess")
         EmADCLossMapFileBrowser = New FileBrowser("vtlm")
         DriverDecisionFactorVelocityDropFileBrowser = New FileBrowser("DfVelocityDrop")
@@ -2180,4 +2181,7 @@ 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
 End Class
diff --git a/VECTO/GUI/VectoJobForm.vb b/VECTO/GUI/VectoJobForm.vb
index 50b382bc2aec489410654f71bd0162de543fa4d7..ff9edf35db1abee57293040cc30484f52ff4908a 100644
--- a/VECTO/GUI/VectoJobForm.vb
+++ b/VECTO/GUI/VectoJobForm.vb
@@ -115,6 +115,10 @@ 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
         End Select
     End Sub
 
@@ -1046,6 +1050,13 @@ 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
+
         End Select
     End Sub
 
diff --git a/VECTO/GUI/VehicleForm.Designer.vb b/VECTO/GUI/VehicleForm.Designer.vb
index 14a939c881cb3203da778ea0b146f2b7c061547e..e830c4b24bf5246deb143e549a839b42fa3042b5 100644
--- a/VECTO/GUI/VehicleForm.Designer.vb
+++ b/VECTO/GUI/VehicleForm.Designer.vb
@@ -172,6 +172,15 @@ Partial Class VehicleForm
         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.FlowLayoutPanel1 = New System.Windows.Forms.FlowLayoutPanel()
+        Me.tbNumberOfIEPC = New System.Windows.Forms.TextBox()
+        Me.Label53 = New System.Windows.Forms.Label()
+        Me.btnIEPC = New System.Windows.Forms.Button()
+        Me.tbIEPCFilePath = New System.Windows.Forms.TextBox()
+        Me.btIEPCFilePath = New System.Windows.Forms.Button()
+        Me.Label54 = New System.Windows.Forms.Label()
         Me.tpGensetComponents = New System.Windows.Forms.TabPage()
         Me.Label30 = New System.Windows.Forms.Label()
         Me.gbGenSet = New System.Windows.Forms.GroupBox()
@@ -259,6 +268,9 @@ Partial Class VehicleForm
         Me.pnElectricMotor.SuspendLayout
         Me.tpReess.SuspendLayout
         Me.gbBattery.SuspendLayout
+        Me.tpIEPC.SuspendLayout
+        Me.TableLayoutPanel1.SuspendLayout
+        Me.FlowLayoutPanel1.SuspendLayout
         Me.tpGensetComponents.SuspendLayout
         Me.gbGenSet.SuspendLayout
         Me.pnGenSetEM.SuspendLayout
@@ -1133,6 +1145,7 @@ Partial Class VehicleForm
         Me.tcVehicleComponents.Controls.Add(Me.tpPowertrain)
         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)
@@ -1599,6 +1612,101 @@ Partial Class VehicleForm
         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, 35!))
+        Me.TableLayoutPanel1.Controls.Add(Me.FlowLayoutPanel1, 1, 1)
+        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.Controls.Add(Me.Label54, 0, 1)
+        Me.TableLayoutPanel1.Location = New System.Drawing.Point(14, 16)
+        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+        Me.TableLayoutPanel1.RowCount = 2
+        Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 51!))
+        Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 51!))
+        Me.TableLayoutPanel1.Size = New System.Drawing.Size(470, 62)
+        Me.TableLayoutPanel1.TabIndex = 59
+        '
+        'FlowLayoutPanel1
+        '
+        Me.FlowLayoutPanel1.Controls.Add(Me.tbNumberOfIEPC)
+        Me.FlowLayoutPanel1.Controls.Add(Me.Label53)
+        Me.FlowLayoutPanel1.Location = New System.Drawing.Point(104, 34)
+        Me.FlowLayoutPanel1.Name = "FlowLayoutPanel1"
+        Me.FlowLayoutPanel1.Size = New System.Drawing.Size(200, 25)
+        Me.FlowLayoutPanel1.TabIndex = 61
+        '
+        'tbNumberOfIEPC
+        '
+        Me.tbNumberOfIEPC.Anchor = System.Windows.Forms.AnchorStyles.Left
+        Me.tbNumberOfIEPC.Location = New System.Drawing.Point(3, 3)
+        Me.tbNumberOfIEPC.Name = "tbNumberOfIEPC"
+        Me.tbNumberOfIEPC.Size = New System.Drawing.Size(91, 20)
+        Me.tbNumberOfIEPC.TabIndex = 30
+        '
+        'Label53
+        '
+        Me.Label53.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label53.AutoSize = true
+        Me.Label53.Location = New System.Drawing.Point(100, 6)
+        Me.Label53.Name = "Label53"
+        Me.Label53.Size = New System.Drawing.Size(16, 13)
+        Me.Label53.TabIndex = 32
+        Me.Label53.Text = "[-]"
+        '
+        'btnIEPC
+        '
+        Me.btnIEPC.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.btnIEPC.Location = New System.Drawing.Point(3, 5)
+        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, 5)
+        Me.tbIEPCFilePath.Margin = New System.Windows.Forms.Padding(5, 3, 3, 3)
+        Me.tbIEPCFilePath.Name = "tbIEPCFilePath"
+        Me.tbIEPCFilePath.Size = New System.Drawing.Size(325, 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(440, 5)
+        Me.btIEPCFilePath.Name = "btIEPCFilePath"
+        Me.btIEPCFilePath.Size = New System.Drawing.Size(24, 21)
+        Me.btIEPCFilePath.TabIndex = 58
+        Me.btIEPCFilePath.UseVisualStyleBackColor = true
+        '
+        'Label54
+        '
+        Me.Label54.Anchor = System.Windows.Forms.AnchorStyles.None
+        Me.Label54.AutoSize = true
+        Me.Label54.Location = New System.Drawing.Point(5, 40)
+        Me.Label54.Name = "Label54"
+        Me.Label54.Size = New System.Drawing.Size(91, 13)
+        Me.Label54.TabIndex = 31
+        Me.Label54.Text = "Number of IEPCs:"
+        '
         'tpGensetComponents
         '
         Me.tpGensetComponents.Controls.Add(Me.Label30)
@@ -2263,6 +2371,11 @@ Partial Class VehicleForm
         Me.tpReess.ResumeLayout(false)
         Me.gbBattery.ResumeLayout(false)
         Me.gbBattery.PerformLayout
+        Me.tpIEPC.ResumeLayout(false)
+        Me.TableLayoutPanel1.ResumeLayout(false)
+        Me.TableLayoutPanel1.PerformLayout
+        Me.FlowLayoutPanel1.ResumeLayout(false)
+        Me.FlowLayoutPanel1.PerformLayout
         Me.tpGensetComponents.ResumeLayout(false)
         Me.tpGensetComponents.PerformLayout
         Me.gbGenSet.ResumeLayout(false)
@@ -2503,5 +2616,14 @@ End Sub
     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 Label53 As Label
+    Friend WithEvents tbNumberOfIEPC As TextBox
+    Friend WithEvents Label54 As Label
+    Friend WithEvents TableLayoutPanel1 As TableLayoutPanel
+    Friend WithEvents FlowLayoutPanel1 As FlowLayoutPanel
     '>>>>>>> VECTO_CERT/master
 End Class
diff --git a/VECTO/GUI/VehicleForm.vb b/VECTO/GUI/VehicleForm.vb
index b4ebc3b9766576ecfc1994ed8596427c12a47493..a54b134a4c797582bd9e811a4fc1ecab038fcfef 100644
--- a/VECTO/GUI/VehicleForm.vb
+++ b/VECTO/GUI/VehicleForm.vb
@@ -1486,5 +1486,68 @@ Public Class VehicleForm
 		Change()
 	End Sub
 
+
+    Private Sub btIEPCFilePath_Click(sender As Object, e As EventArgs) Handles btIEPCFilePath.Click
+        If IEPCFileBrowser.OpenDialog(FileRepl(tbElectricMotor.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 As String
+        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 = "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/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs
index ea6328192c054ac5be843a0f33a602220e300a11..ea1098a08cd053cf692e1601f859041ded6ad409 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,
 	}