diff --git a/Test_Merge/App.config b/Test_Merge/App.config
index 56efbc7..7d84477 100644
--- a/Test_Merge/App.config
+++ b/Test_Merge/App.config
@@ -1,6 +1,14 @@
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Test_Merge/DriverData.cs b/Test_Merge/DriverData.cs
new file mode 100644
index 0000000..8f89f5b
--- /dev/null
+++ b/Test_Merge/DriverData.cs
@@ -0,0 +1,96 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Test_Merge
+{
+ public class DriverData
+ {
+ public bool DRS; //True = Drs is opened
+ public int GapToLeader; //In ms
+ public int LapTime; //In ms
+ public string Name; //Ex: LECLERC
+ public int Position; //Ex: 1
+ public int Sector1; //in ms
+ public int Sector2; //in ms
+ public int Sector3; //in ms
+ public Tyre CurrentTyre;//Ex Soft 11 laps
+
+ public DriverData(bool dRS, int gapToLeader, int lapTime, string name, int position, int sector1, int sector2, int sector3, Tyre tyre)
+ {
+ DRS = dRS;
+ GapToLeader = gapToLeader;
+ LapTime = lapTime;
+ Name = name;
+ Position = position;
+ Sector1 = sector1;
+ Sector2 = sector2;
+ Sector3 = sector3;
+ CurrentTyre = tyre;
+ }
+ public DriverData()
+ {
+ DRS = false;
+ GapToLeader = -1;
+ LapTime = -1;
+ Name = "Unknown";
+ Position = -1;
+ Sector1 = -1;
+ Sector2 = -1;
+ Sector3 = -1;
+ CurrentTyre = new Tyre(Tyre.Type.Undefined, -1);
+ }
+ ///
+ /// Method that displays all the data found in a string
+ ///
+ /// string containing all the driver datas
+ public override string ToString()
+ {
+ string result = "";
+
+ //Position
+ result += "Position : " + Position + Environment.NewLine;
+ //Gap
+ result += "Gap to leader : " + Reader.ConvertMsToTime(GapToLeader) + Environment.NewLine;
+ //LapTime
+ result += "Lap time : " + Reader.ConvertMsToTime(LapTime) + Environment.NewLine;
+ //DRS
+ result += "DRS : " + DRS + Environment.NewLine;
+ //Tyres
+ result += "Uses " + CurrentTyre.Coumpound + " tyre " + CurrentTyre.NumberOfLaps + " laps old" + Environment.NewLine;
+ //Name
+ result += "Driver name : " + Name + Environment.NewLine;
+ //Sector 1
+ result += "Sector 1 : " + Reader.ConvertMsToTime(Sector1) + Environment.NewLine;
+ //Sector 1
+ result += "Sector 2 : " + Reader.ConvertMsToTime(Sector2) + Environment.NewLine;
+ //Sector 1
+ result += "Sector 3 : " + Reader.ConvertMsToTime(Sector3) + Environment.NewLine;
+
+ return result;
+ }
+ }
+ //Structure to store tyres infos
+ public struct Tyre
+ {
+ //If new tyres were to be added you will have to need to change this enum
+ public enum Type
+ {
+ Soft,
+ Medium,
+ Hard,
+ Inter,
+ Wet,
+ Undefined
+ }
+ public Type Coumpound;
+ public int NumberOfLaps;
+ public Tyre(Type type, int laps)
+ {
+ Coumpound = type;
+ NumberOfLaps = laps;
+ }
+ }
+}
diff --git a/Test_Merge/DriverDrsWindow.cs b/Test_Merge/DriverDrsWindow.cs
new file mode 100644
index 0000000..94a30d8
--- /dev/null
+++ b/Test_Merge/DriverDrsWindow.cs
@@ -0,0 +1,89 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Test_Merge
+{
+ internal class DriverDrsWindow:Window
+ {
+ private static int EmptyDrsGreenValue = -1;
+ private static Random rnd = new Random();
+ public DriverDrsWindow(Bitmap image, Rectangle bounds) : base(image, bounds)
+ {
+ Name = "DRS";
+ }
+ public override async Task