diff --git a/VECTOAux/VectoAuxiliaries/Electrics/AltUserInput.vb b/VECTOAux/VectoAuxiliaries/Electrics/AltUserInput.vb
new file mode 100644
index 0000000000000000000000000000000000000000..48bfd05098e86ff5720e26bb482f12e4ef76a13e
--- /dev/null
+++ b/VECTOAux/VectoAuxiliaries/Electrics/AltUserInput.vb
@@ -0,0 +1,33 @@
+
+
+Namespace Electrics
+
+
+Public class AltUserInput
+
+  Public Amps As Single
+  Public Eff As Single 
+
+  Sub new( amps As Single , eff As single)
+
+   Me.Amps=amps
+   Me.Eff = eff
+
+  End Sub
+
+
+ Public Function IsEqual(  other As AltUserInput, Optional rounding As Integer=7) As Boolean
+
+    Return Math.round(Me.Amps,rounding)= Math.Round(other.Amps,rounding) AndAlso _
+        Math.Round(Me.Eff,rounding) = Math.Round(other.eff,rounding)
+
+ End Function
+
+
+End class
+
+
+
+End Namespace
+
+
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb b/VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb
index e6a59bd2a53a1b5e6c7669a72c8c195cb985fdb8..61e317dad35f4df493fb37dc3f0fe9c1b6b6ebb6 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/Alternator.vb
@@ -1,69 +1,78 @@
 
 Namespace Electrics
 
-Public class AltUserInput
 
-  Public Amps As Single
-  Public Eff As Single 
-
-  Sub new( amps As Single , eff As single)
-
-   Me.Amps=amps
-   Me.Eff = eff
-
-  End Sub
-
-
- Public Function IsEqual(  other As AltUserInput, Optional rounding As Integer=7) As Boolean
+Public Class Alternator
+ Implements IAlternator
 
-    Return Math.round(Me.Amps,rounding)= Math.Round(other.Amps,rounding) AndAlso _
-        Math.Round(Me.Eff,rounding) = Math.Round(other.eff,rounding)
+ Public Property AlternatorName As String Implements IAlternator.AlternatorName
+ Public Property  PulleyRatio As Single Implements IAlternator.PulleyRatio
 
- End Function
+ Public Property InputTable2000 As  New List(Of AltUserInput) Implements IAlternator.InputTable2000  
+ Public Property InputTable4000 As  New List(Of AltUserInput) Implements IAlternator.InputTable4000
+ Public Property InputTable6000 As  New List(Of AltUserInput) Implements IAlternator.InputTable6000
+ Public Property RangeTable     As  New List(Of AltUserInput) Implements IAlternator.RangeTable
 
+ Private signals As ICombinedAlternatorSignals 
 
-End class
 
+ Public  Sub  Clone( other As IAlternator) Implements IAlternator.Clone
 
-Public Class Alternator
- Implements IAlternator
+    Me.PulleyRatio = other.PulleyRatio
+    Me.AlternatorName= other.AlternatorName
 
+    InputTable2000.Clear() 
+    InputTable4000.Clear() 
+    InputTable6000.Clear() 
+    RangeTable    .Clear() 
+    
+    For Each entry As AltUserInput In other.InputTable2000
+      InputTable2000.Add(New AltUserInput( entry.Amps, entry.Eff))
+    Next
 
- Public InputTable2000 As  New List(Of AltUserInput)
- Public InputTable4000 As  New List(Of AltUserInput)
- Public InputTable6000 As  New List(Of AltUserInput)
+    For Each entry As AltUserInput In other.InputTable4000
+      InputTable4000.Add(New AltUserInput( entry.Amps, entry.Eff))
+    Next
 
+    For Each entry As AltUserInput In other.InputTable6000
+      InputTable6000.Add(New AltUserInput( entry.Amps, entry.Eff))
+    Next
 
- Private signals As ICombinedAlternatorSignals
- Private pulleyRation As Single
- 
+    For Each entry As AltUserInput In other.RangeTable
+      RangeTable.Add(New AltUserInput( entry.Amps, entry.Eff))
+    Next
 
+   
+ End Sub
  Public ReadOnly Property Efficiency As Double Implements IAlternator.Efficiency
             Get
 
             End Get
         End Property
-
  Public ReadOnly Property SpindleSpeed As Double Implements IAlternator.SpindleSpeed
             Get
 
             End Get
         End Property
 
- Sub new( isignals As ICombinedAlternatorSignals, pulleyRatio As single)
+         
+ 'Constructors
+ Sub new()
+   
+ End Sub
+ Sub new( isignals As ICombinedAlternatorSignals, pulleyRatio As single,  altName As string )
 
 
      If isignals is Nothing then Throw New ArgumentException("Alternator - ISignals supplied is nothing")
      signals = isignals
 
-  
+     Me.AlternatorName= altName
 
 
  End Sub
 
 
-
-  public Sub BuildInputTable(  inputs As Dictionary(of Single, single), targetTable As List (Of AltUserInput ))
+ public Sub BuildInputTable(  inputs As Dictionary(of Single, single), targetTable As List (Of AltUserInput ))
 
 
        Dim C11,C12,C13,C14,D11,D12,D13,D14 As single
@@ -107,12 +116,11 @@ Public Class Alternator
   End Sub
 
 
-
+   
 End Class
 
 
 
-
 End Namespace
 
 
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/CombinedAlternator.vb b/VECTOAux/VectoAuxiliaries/Electrics/CombinedAlternator.vb
index 4c80bddf1120238503dd42623f655a3f6635bdd3..5c5134c129dfce866827ef4405215afb16e8c33c 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/CombinedAlternator.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/CombinedAlternator.vb
@@ -1,343 +1,115 @@
 
-imports System
-imports System.Collections.Generic
-imports System.Linq
-imports System.Text
-imports System.IO
-imports DocumentFormat.OpenXml
-imports DocumentFormat.OpenXml.Spreadsheet
-imports SpreadsheetLight
+Imports System
+Imports System.Collections.Generic
+Imports System.Linq
+Imports System.Text
+Imports System.IO
+Imports DocumentFormat.OpenXml
+Imports DocumentFormat.OpenXml.Spreadsheet
+Imports SpreadsheetLight
+Imports Newtonsoft.Json
+Imports VectoAuxiliaries
 
 Namespace Electrics
 
 Public Class CombinedAlternator
 
 
+  Private Alternators As New List(Of IAlternator)
+  Private OriginalAlternators As New List(Of IAlternator)
 
-'Simulation Spreadsheet constants.
-Private const powerCalculationSheetName          As string = "Power Calculation"
-Private const combinedAlternatorETAMAPSheetName  As string = "Combined Alternator ETA Map"
-Private const alt1SheetName                      As string = "Alt 1"
-Private const aLt2SheetName                      As string = "Alt 2"
-Private const alt3SheetName                      As string = "Alt 3"
-Private const aLt4SheetName                      As string = "Alt 4"
-Private const alternator1Name                    As string = "Alternator#1"
-Private const alternator2Name                    As string = "Alternotor#2"
-Private const alternator3Name                    As string = "Alternator#3"
-Private const alternator4Name                    As string = "Alternator#4"
+  Private FilePath As String
 
 
-'Simulation Spreadsheet variables
-Private excelPath As String  = "alt.xlsx"
+ public sub new( filePath as String)
 
-'SSLight Declarations
-Private combinedSheet    As SLDocument
-Private powerCalculation As SLDocument
-Private Alt1             As SLDocument
-Private ALt2             As SLDocument
-Private Alt3             As SLDocument
-Private ALt4             As SLDocument
-Private alternator1      As SLDocument
-Private alternator2      As SLDocument
-Private alternator3      As SLDocument
-Private alternator4      As SLDocument
+      Dim feedback As String = String.Empty
 
+      If Not FilePathUtils.ValidateFilePath(filePath,".aalt", feedback) then
+         Throw New ArgumentException(String.Format("Combined Alternator requires a valid .AALT filename. : {0}", feedback))
+        Else
+          me.filePath = filePath
+      End If
+      
 
-'User Inputs
-Private Property NumAlternators As Integer
-Private Property Alt1PulleyRatio As Single 
-Private Property Alt2PulleyRatio As Single 
-Private Property Alt3PulleyRatio As Single 
-Private Property Alt4PulleyRatio As Single 
+ End Sub
 
-'Constructor
-Public Sub new( simulationExcelBookPath As string, alt1PulleyRatio As Single, alt2PulleyRatio As Single, alt3PulleyRatio As Single, alt4PulleyRatio As single, numAlternators As Integer)
 
+ Public Sub Clone( other As CombinedAlternator) 
 
 
+    For Each Alternator As IAlternator In Alternators
 
+     Alternator.Clone( other )
 
-   'Sanity Checks
-   If( alt1PulleyRatio <0.1 orElse alt1PulleyRatio >10)  then throw new ArgumentException("Please enter a sensible Alternator Pulley Ratio")
-   If( alt2PulleyRatio <0.1 orElse alt2PulleyRatio >10)  then throw new ArgumentException("Please enter a sensible Alternator Pulley Ratio")
-   If( alt3PulleyRatio <0.1 orElse alt3PulleyRatio >10)  then throw new ArgumentException("Please enter a sensible Alternator Pulley Ratio")
-   If( alt4PulleyRatio <0.1 orElse alt4PulleyRatio >10)  then throw new ArgumentException("Please enter a sensible Alternator Pulley Ratio")
-   If( numAlternators<1     orElse numAlternators  >4 )  then Throw New ArgumentException("Number of alternators must be between 1 and 4, these are the limits supported by this tool")
 
-   If NOT simulationExcelBookPath is Nothing AndAlso simulationExcelBookPath.Length>6 then
 
-      excelPath = simulationExcelBookPath
+    Next
 
-   End If
 
-   'if we get here lets try and initialise the spreadsheet.
 
-    me.NumAlternators   = numAlternators
-    me.Alt1PulleyRatio  = alt1PulleyRatio
-    me.Alt2PulleyRatio  = alt2PulleyRatio
-    me.Alt3PulleyRatio  = alt3PulleyRatio
-    me.Alt4PulleyRatio  = alt4PulleyRatio
 
-   SetUserConfigurables()
+ End Sub
 
-End sub
 
-Public Sub SetUserConfigurables()
 
+   'Persistance Functions
+ Public Function Save(filePath As String) As Boolean
 
 
-        powerCalculation = New SLDocument(excelPath, powerCalculationSheetName)
+   Dim returnValue As Boolean = True
+   Dim settings As JsonSerializerSettings = New JsonSerializerSettings()
+   settings.TypeNameHandling = TypeNameHandling.Objects
 
-        'Set Number of Alternators
-        powerCalculation.SetCellValue(4,2, NumAlternators)
-      
-        'Set Pulley Efficiencies
-        powerCalculation.SetCellValue(5,2, Alt1PulleyRatio)
-        powerCalculation.SetCellValue(6,2, Alt2PulleyRatio)
-        powerCalculation.SetCellValue(7,2, Alt3PulleyRatio)
-        powerCalculation.SetCellValue(8,2, Alt4PulleyRatio)       
-        powerCalculation.Save()
-
-        powerCalculation = New SLDocument(excelPath, powerCalculationSheetName)
-        Alt1 = New SLDocument(excelPath, alt1SheetName)
-        Calculate(Alt1,39,2)
-        Alt1.Save()
-
-        Alt2 = New SLDocument(excelPath, alt2SheetName)
-        Calculate(Alt2,39,7)
-        ALt2.Save()
-
-        Alt3 = New SLDocument(excelPath, alt3SheetName)
-        Calculate(Alt3,52,2)
-        Alt3.Save()
-
-        Alt4 = New SLDocument(excelPath, alt4SheetName)
-        Calculate(Alt4,52,7)
-        ALt4.Save()
-
-        powerCalculation.Save()
-
-
-        'Try an make it calculate
-
-        'powerCalculation.SelectWorksheet(combinedAlternatorETAMAPSheetName)
-        'powerCalculation.SelectWorksheet(alt1SheetName)
-        'powerCalculation.SelectWorksheet(alt2SheetName)
-        'powerCalculation.SelectWorksheet(alt3SheetName)
-        'powerCalculation.SelectWorksheet(alt4SheetName) 
-
-        ' powerCalculation.SelectWorksheet(alternator1Name)
-        ' powerCalculation.SelectWorksheet(alternator2Name)
-        ' powerCalculation.SelectWorksheet(alternator3Name)
-        ' powerCalculation.SelectWorksheet(alternator4Name)      
-                     
-     
-
-
-End Sub
-
-
-
-'Runs Code on the sheets to allow resulting map to be recalculated.
-Private Sub Calculate( alt As SLDocument, startRow As Integer, startColumn As integer)
-
-'This macro builds the base for the calculation of the "Output Matrix" in sheet "Power Calculation". Therefore it collects the values
-'out of the user inteface in sheet "Power Calculation" (Input Alt 1) and writes it into the table P4:U19 in sheet "Alt 1". This program
-'checks out if the values are increasing or decreasing and splits it into these two cases.
-
-'If there are changes in row or column number in sheet "Power Calculation", following steps will have to be made:
-'Change in Row number:
-'1. Change the start value of a (line 25, 70, 113) into the row number of the first amps in the "Input Altenator" table.
-'2. Change the start value of the Loop Counter i (line 29, 73, 116) into the same value as a
-'3. Change the end value of the Loop Counter i (line 29, 73, 116) into its start value plus 6
-'4. Change value of a in the If-query (line 46, 89, 132 and line 55, 97, 141) into the end value of (3.) plus 1
-'5. Change the end value of the Loop Counter j (line 47, 90, 133) into the end value of (3.) plus 1
-'Change in column:
-'1. Change the number (not the letter) in all commands similar to 'Sheets("Power Calculation").'.
-'   ATTENTION: different numbers for different rpm
-
-
-
-    Dim i, j, k, l, m, n, a         'Definition of the used variables
-    
-'Calculation for 2000 rpm
-    j = 5       'Start-values
-    k = 0
-    a = startRow'39
-    n = 1
-        
-    'Increasing values
-    For i = startRow To  (startRow + 6 )'45     'Loop over the rows 5 to 11 in sheet "Power Calculation"
-        If powerCalculation.GetCells(New SLCellPoint(i, startColumn)).NumericValue <> 0 Then 'Query whether column B, row i in sheet "Power Calculation" contains a value
-            If powerCalculation.GetCells(New SLCellPoint(i, startColumn)).NumericValue > k Then           'Query if the value of row i is greater than the value of row i-1
-                alt.SetCellValue(j, 17,powerCalculation.GetCells(New SLCellPoint(i, startColumn)).NumericValue)        'Write the value of row i into the table P4:U19 row j in sheet "Alt 1"
-                j = j + 1           'Counter for row j in table P4:U19 (sheet "Alt 1")
-                k = powerCalculation.GetCells(New SLCellPoint(i, startColumn) ).NumericValue         'Compare value for the next iteration cycle
-            Else: a = j - 1 + a - 5    'Saving row-number with the greatest value of degree of efficiency
-            End If
-        Else
-            For l = j To 11         'Loop to fill empty cells in Q6 to Q8 with the existing values
-                alt.SetCellValue(l, 17,alt.GetCells(New SLCellPoint(l - j + 5, 17)).NumericValue)
-            Next
-            alt.SetCellValue(13, 17, k  )     'Write last value in the first row of the decreasing valus
-        End If
-    Next
-    
-
-
-    'Decreasing values
-    If a < (startRow+7) Then          'Query: if a>=11: no decreasing values exist
-        For j = a To (startRow+7)
-            If powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn)).NumericValue < k And powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn)).NumericValue <> 0 Then
-                alt.SetCellValue(13 + n, 17, powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn)).NumericValue) 'Write decreasing values into row 13+n
-                k = powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn)).NumericValue      'Compare value for the next iteration cycle
-                n = n + 1           'Counter for row number
-                a = a + 1           'Counter
-            End If
-        Next
-        If a < (startRow+7) Then
-            For m = 13 + n To 19            'Loop to fill empty cells in Q13 to Q19 with the existing values
-                alt.SetCellValue(m, 17,alt.GetCells(New SLCellPoint(m - n, 17)).NumericValue)
-            Next
-        End If
-    Else
-        For m = 13 To 19
-             alt.SetCellValue(m, 17, 0 )    'If decreasing values do not exist, fill Q13 to Q19 (sheet "Alt 1") with 0
-        Next
-    End If
-    
-
-'Calculation for 4000 rpm
-    j = 5
-    k = 0
-    a = startRow '39
-    n = 1
-    
-    For i = startRow To (startRow + 6 ) '45
-        If powerCalculation.GetCells(New SLCellPoint(i, startColumn+1)).NumericValue <> 0 Then
-            If powerCalculation.GetCells(New SLCellPoint(i, startColumn+1)).NumericValue > k Then
-                alt.SetCellValue(j, 19, powerCalculation.GetCells(New SLCellPoint(i, startColumn+1)).NumericValue)
-                j = j + 1
-                k = powerCalculation.GetCells(New SLCellPoint(i, startColumn+1)).NumericValue
-            Else: a = j - 1 + a - 5
-            End If
-        Else
-            For l = j To 11
-                alt.SetCellValue(l, 19,  alt.GetCells( New SLCellPoint(l - j + 5, 19)).NumericValue)
-            Next
-             alt.SetCellValue(13, 19, k)
-        End If
-    Next
-        
-    If a < (startRow + 7) Then
-        For j = startRow To startRow+7
-            If powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn+1)).NumericValue < k And powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn+1)).NumericValue <> 0 Then
-                alt.SetCellValue(13 + n, 19, powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn+1)).NumericValue)
-                k = powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn+1)).NumericValue
-                n = n + 1
-                a = a + 1
-            End If
-        Next
-        If a < (startRow + 7 ) Then
-            For m = 13 + n To 19
-                alt.SetCellValue(m, 19,  alt.GetCells( New SLCellPoint(m - n, 19)).NumericValue)
-            Next
-        End If
-    Else
-        For m = 13 To 19
-            alt.SetCellValue(m, 19, 0)
-        Next
-    End If
-    
-    
-'Calculation for 6000 rpm
-    j = 5
-    k = 0
-    a = startRow
-    n = 1
-
-    For i = startRow To ( startRow + 6 )
-        If powerCalculation.GetCells(New SLCellPoint(i, startColumn+2)).NumericValue <> 0 Then
-            If powerCalculation.GetCells(New SLCellPoint(i, startColumn+2)).NumericValue > k Then
-                alt.SetCellValue(j, 21,  powerCalculation.GetCells(New SLCellPoint(i, startColumn+2)).NumericValue)
-                j = j + 1
-                k = powerCalculation.GetCells(New SLCellPoint(i, startColumn+2)).NumericValue
-            Else: a = j - 1 + a - 5
-            End If
-        Else
-            For l = j To 11
-                alt.SetCellValue(l, 21,  alt.GetCells( New SLCellPoint(l - j + 5, 21)).NumericValue)
-            Next
-            alt.SetCellValue(13, 21, k )
-        End If
-    Next
-    
-    If a < (startRow + 7 ) Then
-        For j = a To startRow+7
-            If powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn+2)).NumericValue < k And powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn+2)).NumericValue <> 0 Then
-                alt.SetCellValue(13 + n, 21, powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn+2)).NumericValue)
-                k = powerCalculation.GetCells(New SLCellPoint(j + 1, startColumn+2)).NumericValue
-                n = n + 1
-                a = a + 1
-            End If
-        Next
-        If a < (startRow + 7 ) Then
-            For m = 13 + n To 19
-                alt.SetCellValue(m, 21, alt.GetCells( New SLCellPoint(m - n, 21)).NumericValue)
-            Next
-        End If
-    Else
-        For m = 13 To 19
-            alt.SetCellValue(m, 21, 0)
-        Next
-    End If
-    
-    
-End Sub
-
-'Gives the Resulting Map to the caller.
-Public function GetCombinedMap() As List(Of CombinedAltEntry)
-
-  Dim  firstColumn As integer = 10
-  Dim  firstRow    As Integer = 4
-  Dim  lastRow     As integer = 38
-  Dim  resultMap   As New List(Of CombinedAltEntry)
-  Dim valueAmps As Single
-  Dim valueEngineSpeed As Single
-  Dim valueEfficiency As Single
-  Dim currentColumn As integer
-
- 
-   
-  combinedSheet = New SLDocument(excelPath,  combinedAlternatorETAMAPSheetName)
+    'JSON METHOD
+    Try
 
-      
+       Dim output As String = JsonConvert.SerializeObject(Me, Formatting.Indented, settings)
+
+       File.WriteAllText(filePath, output)
+
+       Catch ex As Exception
+
+         'TODO:Do something meaningfull here perhaps logging
+          returnValue = False
+
+     End Try
+
+   Return returnValue
 
+End Function
+ Public Function Load(filePath As String) As Boolean 
 
-  For currentRow As Integer = firstRow to lastRow
+    Dim returnValue As Boolean = True
+    Dim settings As JsonSerializerSettings = New JsonSerializerSettings()
+    Dim tmpAux As CombinedAlternator = New CombinedAlternator(filePath)
 
-      currentColumn = firstColumn
+    settings.TypeNameHandling = TypeNameHandling.Objects
 
-      valueAmps        = Math.Round(combinedSheet.GetCells( New SLCellPoint(currentRow,currentColumn+0)).NumericValue,2)
+     'JSON METHOD
+     Try
 
-      valueEngineSpeed = Math.Round(combinedSheet.GetCells( New SLCellPoint(currentRow,currentColumn+1)).NumericValue,0)
+       Dim output As String = File.ReadAllText(filePath)
 
-      valueEfficiency  = Math.Round(combinedSheet.GetCells( New SLCellPoint(currentRow,currentColumn+2)).NumericValue,2)
 
+       tmpAux = JsonConvert.DeserializeObject(Of CombinedAlternator)(output, settings)
 
-      resultMap.Add( New CombinedAltEntry With {.Amps=valueAmps, .EngineSpeed=valueEngineSpeed, .Efficiency=valueEfficiency })
 
 
-  next
 
-  combinedSheet.CloseWithoutSaving()
+       'This is where we Assume values of loaded( Deserialized ) object.
+       Clone(tmpAux)
 
-  Return resultMap
+      Catch ex As Exception
 
+        'TODO:Do something meaningfull here perhaps logging
 
-End function
+         returnValue = False
+      End Try
 
+    Return returnValue
 
+End Function
 
 
 
diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IAlternator.vb b/VECTOAux/VectoAuxiliaries/Electrics/IAlternator.vb
index 34bbbfb9753656200e4b42911ca726b63037688e..28db61ac6adb69edc201535769b78226426a0f97 100644
--- a/VECTOAux/VectoAuxiliaries/Electrics/IAlternator.vb
+++ b/VECTOAux/VectoAuxiliaries/Electrics/IAlternator.vb
@@ -5,9 +5,22 @@ Namespace Electrics
      Public Interface IAlternator
             
      
+         Property AlternatorName As String 
+
+         Property PulleyRatio As single
+
          Readonly property SpindleSpeed As Double
 
          ReadOnly Property Efficiency  As Double
+
+         Property InputTable2000  AS List(Of AltUserInput)
+         Property InputTable4000  AS List(Of AltUserInput)
+         Property InputTable6000  AS List(Of AltUserInput)
+         Property RangeTable      AS List(Of AltUserInput)
+
+
+
+         Sub  Clone( other As IAlternator)
      
      
      End Interface
diff --git a/VECTOAux/VectoAuxiliaries/UI/frmCombinedAlternators.Designer.vb b/VECTOAux/VectoAuxiliaries/UI/frmCombinedAlternators.Designer.vb
index 1dd4aafc1683ba9266752f7475e124bc09e83206..fcdd420f11eb1d29bcae906d89578b8ed5a8f892 100644
--- a/VECTOAux/VectoAuxiliaries/UI/frmCombinedAlternators.Designer.vb
+++ b/VECTOAux/VectoAuxiliaries/UI/frmCombinedAlternators.Designer.vb
@@ -13,7 +13,7 @@ Partial Class frmCombinedAlternators
             MyBase.Dispose(disposing)
         End Try
     End Sub
-
+     
     'Required by the Windows Form Designer
     Private components As System.ComponentModel.IContainer
 
@@ -22,17 +22,513 @@ Partial Class frmCombinedAlternators
     'Do not modify it using the code editor.
     <System.Diagnostics.DebuggerStepThrough()> _
     Private Sub InitializeComponent()
+        Me.TextBox2 = New System.Windows.Forms.TextBox()
+        Me.TextBox5 = New System.Windows.Forms.TextBox()
+        Me.TextBox8 = New System.Windows.Forms.TextBox()
+        Me.Label1 = New System.Windows.Forms.Label()
+        Me.Label2 = New System.Windows.Forms.Label()
+        Me.TextBox19 = New System.Windows.Forms.TextBox()
+        Me.Label7 = New System.Windows.Forms.Label()
+        Me.grpTable2000PRM = New System.Windows.Forms.GroupBox()
+        Me.Label8 = New System.Windows.Forms.Label()
+        Me.Label10 = New System.Windows.Forms.Label()
+        Me.Label9 = New System.Windows.Forms.Label()
+        Me.grpTable4000PRM = New System.Windows.Forms.GroupBox()
+        Me.TextBox1 = New System.Windows.Forms.TextBox()
+        Me.TextBox3 = New System.Windows.Forms.TextBox()
+        Me.TextBox4 = New System.Windows.Forms.TextBox()
+        Me.Label3 = New System.Windows.Forms.Label()
+        Me.Label4 = New System.Windows.Forms.Label()
+        Me.Label5 = New System.Windows.Forms.Label()
+        Me.Label6 = New System.Windows.Forms.Label()
+        Me.Label11 = New System.Windows.Forms.Label()
+        Me.grpTable6000PRM = New System.Windows.Forms.GroupBox()
+        Me.TextBox6 = New System.Windows.Forms.TextBox()
+        Me.TextBox7 = New System.Windows.Forms.TextBox()
+        Me.TextBox9 = New System.Windows.Forms.TextBox()
+        Me.Label12 = New System.Windows.Forms.Label()
+        Me.Label13 = New System.Windows.Forms.Label()
+        Me.Label14 = New System.Windows.Forms.Label()
+        Me.Label15 = New System.Windows.Forms.Label()
+        Me.Label16 = New System.Windows.Forms.Label()
+        Me.TabControl1 = New System.Windows.Forms.TabControl()
+        Me.tabInputs = New System.Windows.Forms.TabPage()
+        Me.gvAlternators = New System.Windows.Forms.DataGridView()
+        Me.Label18 = New System.Windows.Forms.Label()
+        Me.btnUpdate = New System.Windows.Forms.Button()
+        Me.Label17 = New System.Windows.Forms.Label()
+        Me.txtIndex = New System.Windows.Forms.TextBox()
+        Me.tabDiagnostics = New System.Windows.Forms.TabPage()
+        Me.btnSave = New System.Windows.Forms.Button()
+        Me.btnCancel = New System.Windows.Forms.Button()
+        Me.grpTable2000PRM.SuspendLayout
+        Me.grpTable4000PRM.SuspendLayout
+        Me.grpTable6000PRM.SuspendLayout
+        Me.TabControl1.SuspendLayout
+        Me.tabInputs.SuspendLayout
+        CType(Me.gvAlternators,System.ComponentModel.ISupportInitialize).BeginInit
         Me.SuspendLayout
         '
+        'TextBox2
+        '
+        Me.TextBox2.ForeColor = System.Drawing.Color.Black
+        Me.TextBox2.Location = New System.Drawing.Point(78, 57)
+        Me.TextBox2.Name = "TextBox2"
+        Me.TextBox2.Size = New System.Drawing.Size(50, 20)
+        Me.TextBox2.TabIndex = 1
+        '
+        'TextBox5
+        '
+        Me.TextBox5.ForeColor = System.Drawing.Color.Black
+        Me.TextBox5.Location = New System.Drawing.Point(78, 117)
+        Me.TextBox5.Name = "TextBox5"
+        Me.TextBox5.Size = New System.Drawing.Size(50, 20)
+        Me.TextBox5.TabIndex = 4
+        '
+        'TextBox8
+        '
+        Me.TextBox8.ForeColor = System.Drawing.Color.Black
+        Me.TextBox8.Location = New System.Drawing.Point(78, 85)
+        Me.TextBox8.Name = "TextBox8"
+        Me.TextBox8.Size = New System.Drawing.Size(50, 20)
+        Me.TextBox8.TabIndex = 7
+        '
+        'Label1
+        '
+        Me.Label1.AutoSize = true
+        Me.Label1.ForeColor = System.Drawing.Color.Black
+        Me.Label1.Location = New System.Drawing.Point(24, 30)
+        Me.Label1.Name = "Label1"
+        Me.Label1.Size = New System.Drawing.Size(33, 13)
+        Me.Label1.TabIndex = 8
+        Me.Label1.Text = "Amps"
+        '
+        'Label2
+        '
+        Me.Label2.AutoSize = true
+        Me.Label2.ForeColor = System.Drawing.Color.Black
+        Me.Label2.Location = New System.Drawing.Point(75, 30)
+        Me.Label2.Name = "Label2"
+        Me.Label2.Size = New System.Drawing.Size(53, 13)
+        Me.Label2.TabIndex = 9
+        Me.Label2.Text = "Efficiency"
+        '
+        'TextBox19
+        '
+        Me.TextBox19.Location = New System.Drawing.Point(642, 97)
+        Me.TextBox19.Name = "TextBox19"
+        Me.TextBox19.Size = New System.Drawing.Size(68, 20)
+        Me.TextBox19.TabIndex = 26
+        '
+        'Label7
+        '
+        Me.Label7.AutoSize = true
+        Me.Label7.Location = New System.Drawing.Point(570, 97)
+        Me.Label7.Name = "Label7"
+        Me.Label7.Size = New System.Drawing.Size(57, 13)
+        Me.Label7.TabIndex = 27
+        Me.Label7.Tag = ""
+        Me.Label7.Text = "Pully Ratio"
+        '
+        'grpTable2000PRM
+        '
+        Me.grpTable2000PRM.Controls.Add(Me.TextBox5)
+        Me.grpTable2000PRM.Controls.Add(Me.TextBox2)
+        Me.grpTable2000PRM.Controls.Add(Me.TextBox8)
+        Me.grpTable2000PRM.Controls.Add(Me.Label1)
+        Me.grpTable2000PRM.Controls.Add(Me.Label2)
+        Me.grpTable2000PRM.Controls.Add(Me.Label8)
+        Me.grpTable2000PRM.Controls.Add(Me.Label10)
+        Me.grpTable2000PRM.Controls.Add(Me.Label9)
+        Me.grpTable2000PRM.FlatStyle = System.Windows.Forms.FlatStyle.Popup
+        Me.grpTable2000PRM.ForeColor = System.Drawing.SystemColors.MenuHighlight
+        Me.grpTable2000PRM.Location = New System.Drawing.Point(35, 62)
+        Me.grpTable2000PRM.Name = "grpTable2000PRM"
+        Me.grpTable2000PRM.Size = New System.Drawing.Size(162, 166)
+        Me.grpTable2000PRM.TabIndex = 28
+        Me.grpTable2000PRM.TabStop = false
+        Me.grpTable2000PRM.Text = " [  2000 RPM  ]"
+        '
+        'Label8
+        '
+        Me.Label8.AutoSize = true
+        Me.Label8.ForeColor = System.Drawing.Color.Black
+        Me.Label8.Location = New System.Drawing.Point(40, 60)
+        Me.Label8.Name = "Label8"
+        Me.Label8.Size = New System.Drawing.Size(19, 13)
+        Me.Label8.TabIndex = 29
+        Me.Label8.Text = "10"
+        '
+        'Label10
+        '
+        Me.Label10.AutoSize = true
+        Me.Label10.ForeColor = System.Drawing.Color.Black
+        Me.Label10.Location = New System.Drawing.Point(40, 115)
+        Me.Label10.Name = "Label10"
+        Me.Label10.Size = New System.Drawing.Size(19, 13)
+        Me.Label10.TabIndex = 30
+        Me.Label10.Text = "60"
+        '
+        'Label9
+        '
+        Me.Label9.AutoSize = true
+        Me.Label9.ForeColor = System.Drawing.Color.Black
+        Me.Label9.Location = New System.Drawing.Point(40, 88)
+        Me.Label9.Name = "Label9"
+        Me.Label9.Size = New System.Drawing.Size(19, 13)
+        Me.Label9.TabIndex = 30
+        Me.Label9.Text = "40"
+        '
+        'grpTable4000PRM
+        '
+        Me.grpTable4000PRM.Controls.Add(Me.TextBox1)
+        Me.grpTable4000PRM.Controls.Add(Me.TextBox3)
+        Me.grpTable4000PRM.Controls.Add(Me.TextBox4)
+        Me.grpTable4000PRM.Controls.Add(Me.Label3)
+        Me.grpTable4000PRM.Controls.Add(Me.Label4)
+        Me.grpTable4000PRM.Controls.Add(Me.Label5)
+        Me.grpTable4000PRM.Controls.Add(Me.Label6)
+        Me.grpTable4000PRM.Controls.Add(Me.Label11)
+        Me.grpTable4000PRM.FlatStyle = System.Windows.Forms.FlatStyle.Popup
+        Me.grpTable4000PRM.ForeColor = System.Drawing.SystemColors.MenuHighlight
+        Me.grpTable4000PRM.Location = New System.Drawing.Point(214, 62)
+        Me.grpTable4000PRM.Name = "grpTable4000PRM"
+        Me.grpTable4000PRM.Size = New System.Drawing.Size(162, 166)
+        Me.grpTable4000PRM.TabIndex = 31
+        Me.grpTable4000PRM.TabStop = false
+        Me.grpTable4000PRM.Text = " [  4000 RPM  ]"
+        '
+        'TextBox1
+        '
+        Me.TextBox1.ForeColor = System.Drawing.Color.Black
+        Me.TextBox1.Location = New System.Drawing.Point(78, 117)
+        Me.TextBox1.Name = "TextBox1"
+        Me.TextBox1.Size = New System.Drawing.Size(50, 20)
+        Me.TextBox1.TabIndex = 4
+        '
+        'TextBox3
+        '
+        Me.TextBox3.ForeColor = System.Drawing.Color.Black
+        Me.TextBox3.Location = New System.Drawing.Point(78, 57)
+        Me.TextBox3.Name = "TextBox3"
+        Me.TextBox3.Size = New System.Drawing.Size(50, 20)
+        Me.TextBox3.TabIndex = 1
+        '
+        'TextBox4
+        '
+        Me.TextBox4.ForeColor = System.Drawing.Color.Black
+        Me.TextBox4.Location = New System.Drawing.Point(78, 85)
+        Me.TextBox4.Name = "TextBox4"
+        Me.TextBox4.Size = New System.Drawing.Size(50, 20)
+        Me.TextBox4.TabIndex = 7
+        '
+        'Label3
+        '
+        Me.Label3.AutoSize = true
+        Me.Label3.ForeColor = System.Drawing.Color.Black
+        Me.Label3.Location = New System.Drawing.Point(24, 30)
+        Me.Label3.Name = "Label3"
+        Me.Label3.Size = New System.Drawing.Size(33, 13)
+        Me.Label3.TabIndex = 8
+        Me.Label3.Text = "Amps"
+        '
+        'Label4
+        '
+        Me.Label4.AutoSize = true
+        Me.Label4.ForeColor = System.Drawing.Color.Black
+        Me.Label4.Location = New System.Drawing.Point(75, 30)
+        Me.Label4.Name = "Label4"
+        Me.Label4.Size = New System.Drawing.Size(53, 13)
+        Me.Label4.TabIndex = 9
+        Me.Label4.Text = "Efficiency"
+        '
+        'Label5
+        '
+        Me.Label5.AutoSize = true
+        Me.Label5.ForeColor = System.Drawing.Color.Black
+        Me.Label5.Location = New System.Drawing.Point(40, 60)
+        Me.Label5.Name = "Label5"
+        Me.Label5.Size = New System.Drawing.Size(19, 13)
+        Me.Label5.TabIndex = 29
+        Me.Label5.Text = "10"
+        '
+        'Label6
+        '
+        Me.Label6.AutoSize = true
+        Me.Label6.ForeColor = System.Drawing.Color.Black
+        Me.Label6.Location = New System.Drawing.Point(40, 115)
+        Me.Label6.Name = "Label6"
+        Me.Label6.Size = New System.Drawing.Size(19, 13)
+        Me.Label6.TabIndex = 30
+        Me.Label6.Text = "60"
+        '
+        'Label11
+        '
+        Me.Label11.AutoSize = true
+        Me.Label11.ForeColor = System.Drawing.Color.Black
+        Me.Label11.Location = New System.Drawing.Point(40, 88)
+        Me.Label11.Name = "Label11"
+        Me.Label11.Size = New System.Drawing.Size(19, 13)
+        Me.Label11.TabIndex = 30
+        Me.Label11.Text = "40"
+        '
+        'grpTable6000PRM
+        '
+        Me.grpTable6000PRM.Controls.Add(Me.TextBox6)
+        Me.grpTable6000PRM.Controls.Add(Me.TextBox7)
+        Me.grpTable6000PRM.Controls.Add(Me.TextBox9)
+        Me.grpTable6000PRM.Controls.Add(Me.Label12)
+        Me.grpTable6000PRM.Controls.Add(Me.Label13)
+        Me.grpTable6000PRM.Controls.Add(Me.Label14)
+        Me.grpTable6000PRM.Controls.Add(Me.Label15)
+        Me.grpTable6000PRM.Controls.Add(Me.Label16)
+        Me.grpTable6000PRM.FlatStyle = System.Windows.Forms.FlatStyle.Popup
+        Me.grpTable6000PRM.ForeColor = System.Drawing.SystemColors.MenuHighlight
+        Me.grpTable6000PRM.Location = New System.Drawing.Point(398, 62)
+        Me.grpTable6000PRM.Name = "grpTable6000PRM"
+        Me.grpTable6000PRM.Size = New System.Drawing.Size(162, 166)
+        Me.grpTable6000PRM.TabIndex = 32
+        Me.grpTable6000PRM.TabStop = false
+        Me.grpTable6000PRM.Text = " [  6000 RPM  ]"
+        '
+        'TextBox6
+        '
+        Me.TextBox6.ForeColor = System.Drawing.Color.Black
+        Me.TextBox6.Location = New System.Drawing.Point(78, 117)
+        Me.TextBox6.Name = "TextBox6"
+        Me.TextBox6.Size = New System.Drawing.Size(50, 20)
+        Me.TextBox6.TabIndex = 4
+        '
+        'TextBox7
+        '
+        Me.TextBox7.ForeColor = System.Drawing.Color.Black
+        Me.TextBox7.Location = New System.Drawing.Point(78, 57)
+        Me.TextBox7.Name = "TextBox7"
+        Me.TextBox7.Size = New System.Drawing.Size(50, 20)
+        Me.TextBox7.TabIndex = 1
+        '
+        'TextBox9
+        '
+        Me.TextBox9.ForeColor = System.Drawing.Color.Black
+        Me.TextBox9.Location = New System.Drawing.Point(78, 85)
+        Me.TextBox9.Name = "TextBox9"
+        Me.TextBox9.Size = New System.Drawing.Size(50, 20)
+        Me.TextBox9.TabIndex = 7
+        '
+        'Label12
+        '
+        Me.Label12.AutoSize = true
+        Me.Label12.ForeColor = System.Drawing.Color.Black
+        Me.Label12.Location = New System.Drawing.Point(24, 30)
+        Me.Label12.Name = "Label12"
+        Me.Label12.Size = New System.Drawing.Size(33, 13)
+        Me.Label12.TabIndex = 8
+        Me.Label12.Text = "Amps"
+        '
+        'Label13
+        '
+        Me.Label13.AutoSize = true
+        Me.Label13.ForeColor = System.Drawing.Color.Black
+        Me.Label13.Location = New System.Drawing.Point(75, 30)
+        Me.Label13.Name = "Label13"
+        Me.Label13.Size = New System.Drawing.Size(53, 13)
+        Me.Label13.TabIndex = 9
+        Me.Label13.Text = "Efficiency"
+        '
+        'Label14
+        '
+        Me.Label14.AutoSize = true
+        Me.Label14.ForeColor = System.Drawing.Color.Black
+        Me.Label14.Location = New System.Drawing.Point(40, 60)
+        Me.Label14.Name = "Label14"
+        Me.Label14.Size = New System.Drawing.Size(19, 13)
+        Me.Label14.TabIndex = 29
+        Me.Label14.Text = "10"
+        '
+        'Label15
+        '
+        Me.Label15.AutoSize = true
+        Me.Label15.ForeColor = System.Drawing.Color.Black
+        Me.Label15.Location = New System.Drawing.Point(40, 115)
+        Me.Label15.Name = "Label15"
+        Me.Label15.Size = New System.Drawing.Size(19, 13)
+        Me.Label15.TabIndex = 30
+        Me.Label15.Text = "60"
+        '
+        'Label16
+        '
+        Me.Label16.AutoSize = true
+        Me.Label16.ForeColor = System.Drawing.Color.Black
+        Me.Label16.Location = New System.Drawing.Point(40, 88)
+        Me.Label16.Name = "Label16"
+        Me.Label16.Size = New System.Drawing.Size(19, 13)
+        Me.Label16.TabIndex = 30
+        Me.Label16.Text = "40"
+        '
+        'TabControl1
+        '
+        Me.TabControl1.Controls.Add(Me.tabInputs)
+        Me.TabControl1.Controls.Add(Me.tabDiagnostics)
+        Me.TabControl1.Location = New System.Drawing.Point(42, 29)
+        Me.TabControl1.Name = "TabControl1"
+        Me.TabControl1.SelectedIndex = 0
+        Me.TabControl1.Size = New System.Drawing.Size(821, 477)
+        Me.TabControl1.TabIndex = 33
+        '
+        'tabInputs
+        '
+        Me.tabInputs.Controls.Add(Me.gvAlternators)
+        Me.tabInputs.Controls.Add(Me.Label18)
+        Me.tabInputs.Controls.Add(Me.btnUpdate)
+        Me.tabInputs.Controls.Add(Me.Label17)
+        Me.tabInputs.Controls.Add(Me.txtIndex)
+        Me.tabInputs.Controls.Add(Me.grpTable2000PRM)
+        Me.tabInputs.Controls.Add(Me.grpTable6000PRM)
+        Me.tabInputs.Controls.Add(Me.TextBox19)
+        Me.tabInputs.Controls.Add(Me.grpTable4000PRM)
+        Me.tabInputs.Controls.Add(Me.Label7)
+        Me.tabInputs.Location = New System.Drawing.Point(4, 22)
+        Me.tabInputs.Name = "tabInputs"
+        Me.tabInputs.Padding = New System.Windows.Forms.Padding(3)
+        Me.tabInputs.Size = New System.Drawing.Size(813, 451)
+        Me.tabInputs.TabIndex = 0
+        Me.tabInputs.Text = " Inputs "
+        Me.tabInputs.UseVisualStyleBackColor = true
+        '
+        'gvAlternators
+        '
+        Me.gvAlternators.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
+        Me.gvAlternators.Location = New System.Drawing.Point(38, 277)
+        Me.gvAlternators.Name = "gvAlternators"
+        Me.gvAlternators.Size = New System.Drawing.Size(417, 140)
+        Me.gvAlternators.TabIndex = 38
+        '
+        'Label18
+        '
+        Me.Label18.AutoSize = true
+        Me.Label18.ForeColor = System.Drawing.SystemColors.MenuHighlight
+        Me.Label18.Location = New System.Drawing.Point(38, 258)
+        Me.Label18.Name = "Label18"
+        Me.Label18.Size = New System.Drawing.Size(57, 13)
+        Me.Label18.TabIndex = 37
+        Me.Label18.Text = "Alternators"
+        '
+        'btnUpdate
+        '
+        Me.btnUpdate.Location = New System.Drawing.Point(642, 136)
+        Me.btnUpdate.Name = "btnUpdate"
+        Me.btnUpdate.Size = New System.Drawing.Size(75, 23)
+        Me.btnUpdate.TabIndex = 35
+        Me.btnUpdate.Text = "Add"
+        Me.btnUpdate.UseVisualStyleBackColor = true
+        '
+        'Label17
+        '
+        Me.Label17.AutoSize = true
+        Me.Label17.Location = New System.Drawing.Point(43, 25)
+        Me.Label17.Name = "Label17"
+        Me.Label17.Size = New System.Drawing.Size(33, 13)
+        Me.Label17.TabIndex = 34
+        Me.Label17.Text = "Index"
+        '
+        'txtIndex
+        '
+        Me.txtIndex.Location = New System.Drawing.Point(82, 22)
+        Me.txtIndex.Name = "txtIndex"
+        Me.txtIndex.ReadOnly = true
+        Me.txtIndex.Size = New System.Drawing.Size(47, 20)
+        Me.txtIndex.TabIndex = 33
+        '
+        'tabDiagnostics
+        '
+        Me.tabDiagnostics.Location = New System.Drawing.Point(4, 22)
+        Me.tabDiagnostics.Name = "tabDiagnostics"
+        Me.tabDiagnostics.Padding = New System.Windows.Forms.Padding(3)
+        Me.tabDiagnostics.Size = New System.Drawing.Size(813, 451)
+        Me.tabDiagnostics.TabIndex = 1
+        Me.tabDiagnostics.Text = " Diagnostics"
+        Me.tabDiagnostics.UseVisualStyleBackColor = true
+        '
+        'btnSave
+        '
+        Me.btnSave.Location = New System.Drawing.Point(667, 523)
+        Me.btnSave.Name = "btnSave"
+        Me.btnSave.Size = New System.Drawing.Size(75, 23)
+        Me.btnSave.TabIndex = 34
+        Me.btnSave.Text = "Save"
+        Me.btnSave.UseVisualStyleBackColor = true
+        '
+        'btnCancel
+        '
+        Me.btnCancel.Location = New System.Drawing.Point(776, 523)
+        Me.btnCancel.Name = "btnCancel"
+        Me.btnCancel.Size = New System.Drawing.Size(75, 23)
+        Me.btnCancel.TabIndex = 35
+        Me.btnCancel.Text = "Cancel"
+        Me.btnCancel.UseVisualStyleBackColor = true
+        '
         'frmCombinedAlternators
         '
         Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!)
         Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
         Me.ClientSize = New System.Drawing.Size(935, 579)
+        Me.Controls.Add(Me.btnCancel)
+        Me.Controls.Add(Me.btnSave)
+        Me.Controls.Add(Me.TabControl1)
+        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
         Me.Name = "frmCombinedAlternators"
         Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
         Me.Text = "frmCombinedAlternators"
+        Me.grpTable2000PRM.ResumeLayout(false)
+        Me.grpTable2000PRM.PerformLayout
+        Me.grpTable4000PRM.ResumeLayout(false)
+        Me.grpTable4000PRM.PerformLayout
+        Me.grpTable6000PRM.ResumeLayout(false)
+        Me.grpTable6000PRM.PerformLayout
+        Me.TabControl1.ResumeLayout(false)
+        Me.tabInputs.ResumeLayout(false)
+        Me.tabInputs.PerformLayout
+        CType(Me.gvAlternators,System.ComponentModel.ISupportInitialize).EndInit
         Me.ResumeLayout(false)
 
 End Sub
+    Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
+    Friend WithEvents TextBox5 As System.Windows.Forms.TextBox
+    Friend WithEvents TextBox8 As System.Windows.Forms.TextBox
+    Friend WithEvents Label1 As System.Windows.Forms.Label
+    Friend WithEvents Label2 As System.Windows.Forms.Label
+    Friend WithEvents TextBox19 As System.Windows.Forms.TextBox
+    Friend WithEvents Label7 As System.Windows.Forms.Label
+    Friend WithEvents grpTable2000PRM As System.Windows.Forms.GroupBox
+    Friend WithEvents Label10 As System.Windows.Forms.Label
+    Friend WithEvents Label9 As System.Windows.Forms.Label
+    Friend WithEvents Label8 As System.Windows.Forms.Label
+    Friend WithEvents grpTable4000PRM As System.Windows.Forms.GroupBox
+    Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
+    Friend WithEvents TextBox3 As System.Windows.Forms.TextBox
+    Friend WithEvents TextBox4 As System.Windows.Forms.TextBox
+    Friend WithEvents Label3 As System.Windows.Forms.Label
+    Friend WithEvents Label4 As System.Windows.Forms.Label
+    Friend WithEvents Label5 As System.Windows.Forms.Label
+    Friend WithEvents Label6 As System.Windows.Forms.Label
+    Friend WithEvents Label11 As System.Windows.Forms.Label
+    Friend WithEvents grpTable6000PRM As System.Windows.Forms.GroupBox
+    Friend WithEvents TextBox6 As System.Windows.Forms.TextBox
+    Friend WithEvents TextBox7 As System.Windows.Forms.TextBox
+    Friend WithEvents TextBox9 As System.Windows.Forms.TextBox
+    Friend WithEvents Label12 As System.Windows.Forms.Label
+    Friend WithEvents Label13 As System.Windows.Forms.Label
+    Friend WithEvents Label14 As System.Windows.Forms.Label
+    Friend WithEvents Label15 As System.Windows.Forms.Label
+    Friend WithEvents Label16 As System.Windows.Forms.Label
+    Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
+    Friend WithEvents tabInputs As System.Windows.Forms.TabPage
+    Friend WithEvents gvAlternators As System.Windows.Forms.DataGridView
+    Friend WithEvents Label18 As System.Windows.Forms.Label
+    Friend WithEvents btnUpdate As System.Windows.Forms.Button
+    Friend WithEvents Label17 As System.Windows.Forms.Label
+    Friend WithEvents txtIndex As System.Windows.Forms.TextBox
+    Friend WithEvents tabDiagnostics As System.Windows.Forms.TabPage
+    Friend WithEvents btnSave As System.Windows.Forms.Button
+    Friend WithEvents btnCancel As System.Windows.Forms.Button
 End Class
diff --git a/VECTOAux/VectoAuxiliaries/UI/frmCombinedAlternators.vb b/VECTOAux/VectoAuxiliaries/UI/frmCombinedAlternators.vb
index 411c1c3b45ce0a9f59ccf23ba9b232d46eb0d5a0..f49a9ed5aee4f2a40301c71ffe8a406d366c6725 100644
--- a/VECTOAux/VectoAuxiliaries/UI/frmCombinedAlternators.vb
+++ b/VECTOAux/VectoAuxiliaries/UI/frmCombinedAlternators.vb
@@ -1,3 +1,47 @@
-Public Class frmCombinedAlternators
+Imports System.Drawing
+Imports System.Windows.Forms
+
+Public Class frmCombinedAlternators
+
+
+Protected gbColor As System.Drawing.Color = Color.LightGreen
+
+
+Private Sub groupBoxUserInput_Paint(sender As Object, e As Windows.Forms.PaintEventArgs) Handles grpTable2000PRM.Paint, grpTable6000PRM.Paint, grpTable4000PRM.Paint
+
+
+            Dim  p as Pen = nothing
+
+            Dim sdr As Control = DirectCast(sender, Control)
+
+            Select Case sdr.Name
+
+              Case "grpTable2000PRM"
+                p= new Pen(Color.LightGreen, 3)
+              Case "grpTable4000PRM"
+                p= new Pen(Color.Yellow, 3)
+              Case "grpTable6000PRM"
+                p= new Pen(Color.LightPink, 3)
+
+                Case Else
+                p= new Pen(Color.Black, 3) 
+
+            End Select
+
+
+
+            Dim gfx As Graphics = e.Graphics  
+
+           
+
+            gfx.DrawLine(p, 0, 5, 0, e.ClipRectangle.Height - 2)
+            gfx.DrawLine(p, 0, 5, 10, 5)  
+            gfx.DrawLine(p, 85, 5, e.ClipRectangle.Width - 2, 5)
+            gfx.DrawLine(p, e.ClipRectangle.Width - 2, 5, e.ClipRectangle.Width - 2, e.ClipRectangle.Height - 2)
+            gfx.DrawLine(p, e.ClipRectangle.Width - 2, e.ClipRectangle.Height - 2, 0, e.ClipRectangle.Height - 2) 
+
+End Sub
+
+
 
 End Class
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
index 6b58468b00facbe7ab8a02fd6cc3df45b64da656..02142ef490bcc890b3e9d5713f834d6ce8d5fde8 100644
--- a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
+++ b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
@@ -111,6 +111,7 @@
     <Compile Include="Electrics\Alternator.vb" />
     <Compile Include="Electrics\AlternatorMapValues.vb" />
     <Compile Include="Electrics\AlternatorMap.vb" />
+    <Compile Include="Electrics\AltUserInput.vb" />
     <Compile Include="Electrics\CombinedAltEntry.vb" />
     <Compile Include="Electrics\CombinedAlternator.vb" />
     <Compile Include="Electrics\CombinedAlternatorSignals.vb" />