diff --git a/tp/src/main/java/org/example/Address.java b/tp/src/main/java/org/example/Address.java
deleted file mode 100644
index bffb6da981914d12c43d3592f40664cddb43415b..0000000000000000000000000000000000000000
--- a/tp/src/main/java/org/example/Address.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.example;
-
-public class Address {
-    private int number;
-    private String type;
-    private String name;
-    private String npa;
-    private String city;
-    private String state;
-    private String country;
-
-    public  Address(int number, String type, String name, String npa, String city, String state, String country){
-        if(number <= 0){
-            throw new RuntimeException("Number need to be bigger than 0");
-        }
-        this.number = number;
-        this.type = type;
-        this.name = name;
-        this.npa = npa;
-        this.city = city;
-        this.state = state;
-        this.country = country;
-    }
-
-    @Override
-    public String toString(){
-        return Integer.toString(this.number) + " " + this.type + " " + this.name + ", " + this.npa + " " + this.city + ", " + this.state
-                + ", " + this.country;
-    }
-}
diff --git a/tp/src/main/java/org/example/Contact.java b/tp/src/main/java/org/example/Contact.java
index 14dff85e1f64e8f5c278482f3482ba8a63b098df..3a542e0c91ac8156b283d88bc59311716636093a 100644
--- a/tp/src/main/java/org/example/Contact.java
+++ b/tp/src/main/java/org/example/Contact.java
@@ -3,14 +3,14 @@ package org.example;
 public class Contact {
     //Fields
     private Person pers;
-    private Address addr;
+    private String addr;
     private String[] phone;
     private String[] email;
     private String[] social;
     private String job;
 
     //Ctor
-    public Contact(Person pers, Address addr, String[] phone, String[] email,
+    public Contact(Person pers, String addr, String[] phone, String[] email,
                    String[] social, String job){
         this.pers = pers;
         this.addr = addr;
@@ -21,8 +21,10 @@ public class Contact {
     }
 
     //Getter
-
-    public Address getAddr() {
+    public Person getPers(){
+        return pers;
+    }
+    public String getAddr() {
         return addr;
     }
 
@@ -44,8 +46,10 @@ public class Contact {
 
 
     //Setter
-
-    public void setAddr(Address addr) {
+    public void setPers(Person pers){
+        this.pers = pers;
+    }
+    public void setAddr(String addr) {
         this.addr = addr;
     }
 
@@ -66,6 +70,27 @@ public class Contact {
     }
 
     //Methodes
+    public void EditAddress(String newAddrr){
+        this.addr = newAddrr;
+    }
+    public void EditPhone(String[] newPhone){
+        this.phone = newPhone;
+    }
+    public void EditEmail(String[] newEmail){
+        this.email = newEmail;
+    }
+    public void EditSocial(String[] newSocial){
+        this.social = newSocial;
+    }
+    public void  EditJob(String newJob){
+        this.job = newJob;
+    }
+    public void EditFirstName(String newFirst){
+        this.pers.EditFirstName(newFirst);
+    }
+    public void EditLastName(String newLast){
+        this.pers.EditLastName(newLast);
+    }
     @Override
     public String toString(){
         String w_phone = "";
@@ -82,7 +107,7 @@ public class Contact {
             w_social += elem + " ";
         }
 
-        return pers.toString() + "\n" + this.addr.toString() + "\n" + w_phone + "\n" + w_email + "\n"
+        return pers.toString() + "\n" + this.addr + "\n" + w_phone + "\n" + w_email + "\n"
                 + w_social + "\n" + this.job;
     }
 }
diff --git a/tp/src/main/java/org/example/Main.java b/tp/src/main/java/org/example/Main.java
index 08578ea8a4e6bfa25c2ec7cb5443962ba30ae6cf..19195dffe705142e3d37223af82029bdb73cf077 100644
--- a/tp/src/main/java/org/example/Main.java
+++ b/tp/src/main/java/org/example/Main.java
@@ -1,16 +1,158 @@
 package org.example;
+import java.util.Scanner;
 
 public class Main {
+    static Person p1 = new Person("Doe", "John");
+    static String[] phone = {"0"};
+    static String[] social = {"S"};
+    static String[] emails = {"a"};
+    static Contact c1 = new Contact(p1, "jst", phone, emails, social, "j");
+    static Contact[] contactArray = {c1};
     public static void main(String[] args) {
-        Address addr1 = new Address(4, "ch", "de qqpart", "1876", "idk", "ligma",
-                "balls");
-        Person p1 = new Person("John", "Doe");
-        String[] phone = {"079 779 77 99"};
-        String[] email = {"fdp@gmail.com", "yo@gmail.com"};
-        String[] social = {"None"};
-        Contact ct1 = new Contact(p1, addr1, phone, email, social, "Homeless");
-
-        System.out.println(addr1.toString());
-        System.out.println(ct1.toString());
+        while(true){
+            System.out.println("");
+            System.out.println("[0] Add new Contact");
+            System.out.println("[1] Edit Contact");
+            System.out.println("[2] Delete Contact");
+            System.out.println("[3] Show Contact");
+
+            Scanner myObj = new Scanner(System.in);
+            String usrInput = myObj.nextLine();
+
+            switch (usrInput){
+                case "0":
+                    Add();
+                    break;
+                case  "1":
+                    Edit();
+                    break;
+                case "2":
+                    Delete();
+                    break;
+                case "3":
+                    Show();
+                    break;
+                default:
+                    System.out.println("Please enter valid number");
+                    break;
+            }
+        }
+    }
+    public static void Add(){
+        int size = contactArray.length;
+        System.out.println("Enter first names");
+        Scanner myObj = new Scanner(System.in);
+        String firstName = myObj.nextLine();
+        System.out.println("Enter last names");
+        String lastName = myObj.nextLine();
+        Person p = new Person(lastName, firstName);
+
+        System.out.println("Enter Address");
+        String address = myObj.nextLine();
+        System.out.println("Enter Phone");
+        String phone = myObj.nextLine();
+        System.out.println("Enter Emails");
+        String emails = myObj.nextLine();
+        System.out.println("Enter Socials");
+        String social = myObj.nextLine();
+        System.out.println("Enter Job");
+        String job = myObj.nextLine();
+
+        String[] phoneList = phone.split(" ");
+        String[] emailList = phone.split(" ");
+        String[] socialList = phone.split(" ");
+
+        Contact c = new Contact(p, address, phoneList, emailList, socialList, job);
+        contactArray[size] = c;
+
+    }
+    public static void Edit(){
+        System.out.println("Which contact?");
+        Scanner myObj = new Scanner(System.in);
+        String contactNb = myObj.nextLine();
+        if(TryNumber(contactNb)){
+            System.out.println("[0] Edit First names");
+            System.out.println("[1] Edit Last names");
+            System.out.println("[2] Edit Address");
+            System.out.println("[3] Edit Phones");
+            System.out.println("[4] Edit Emails");
+            System.out.println("[5] Edit Social");
+            System.out.println("[6] Edit Job");
+            String usrInput = myObj.nextLine();
+
+            switch (usrInput){
+                case "0":
+                    System.out.println("[0] Enter new first names");
+                    String editFirst = myObj.nextLine();
+                    contactArray[Integer.parseInt(contactNb)].EditFirstName(editFirst);
+                    break;
+                case "1":
+                    System.out.println("[0] Enter new last names");
+                    String editLast = myObj.nextLine();
+                    contactArray[Integer.parseInt(contactNb)].EditLastName(editLast);
+                    break;
+                case "2":
+                    System.out.println("[0] Enter new first address");
+                    String editAddr = myObj.nextLine();
+                    contactArray[Integer.parseInt(contactNb)].EditFirstName(editAddr);
+                    break;
+                case "3":
+                    System.out.println("[0] Enter new phone numbers (use / as separator)");
+                    String editPhone = myObj.nextLine();
+                    String[] editPhoneList = editPhone.split("/");
+                    contactArray[Integer.parseInt(contactNb)].EditPhone(editPhoneList);
+                    break;
+                case "4":
+                    System.out.println("[0] Enter new Emails (use / as separator)");
+                    String editEmail = myObj.nextLine();
+                    String[] editEmailList = editEmail.split("/");
+                    contactArray[Integer.parseInt(contactNb)].EditEmail(editEmailList);
+                    break;
+                case "5":
+                    System.out.println("[0] Enter new Socials (use / as separator)");
+                    String editSocial = myObj.nextLine();
+                    String[] editSocialList = editSocial.split("/");
+                    contactArray[Integer.parseInt(contactNb)].EditEmail(editSocialList);
+                    break;
+                case "6":
+                    System.out.println("[0] Enter new Job");
+                    String editJob = myObj.nextLine();
+                    contactArray[Integer.parseInt(contactNb)].EditLastName(editJob);
+                    break;
+                default:
+                    System.out.println("Please enter correct value");
+                    break;
+            }
+        }
+        else {
+            System.out.println("Please enter valid number");
+        }
+    }
+    public static void Delete(){
+        Scanner myObj = new Scanner(System.in);
+        String usrInput = myObj.nextLine();
+        System.out.println("Which Contact?");
+        if(TryNumber(usrInput)){
+
+        }
+        else{
+            System.out.println("Please enter valid number");
+        }
+    }
+    public static void Show(){
+        for(Contact ct: contactArray){
+            System.out.println(ct.toString());
+            System.out.println();
+        }
+    }
+    public static boolean TryNumber(String nb){
+        int nbInt = 0;
+        try{
+            nbInt = Integer.parseInt(nb);
+        }
+        catch (NumberFormatException e){
+
+        }
+        return (nbInt < contactArray.length);
     }
 }
\ No newline at end of file
diff --git a/tp/src/main/java/org/example/Person.java b/tp/src/main/java/org/example/Person.java
index 4650d2173b49a1b2c2a2624a7775172834d8138e..dfc95600228bf20a981c94573b8112c41d1e1366 100644
--- a/tp/src/main/java/org/example/Person.java
+++ b/tp/src/main/java/org/example/Person.java
@@ -2,48 +2,22 @@ package org.example;
 
 public class Person {
     private String last_name;
-    private String[] add_last_name;
     private String first_name;
-    private String[] middle_name;
 
     public Person(String last_name, String first_name){
         this.last_name = last_name;
         this.first_name = first_name;
     }
-    public  Person(String last_name, String[] add_last_name, String first_name, String[] middle_name){
-        this.last_name = last_name;
-        this.add_last_name = add_last_name;
-        this.first_name = first_name;
-        this.middle_name = middle_name;
+
+    public void EditFirstName(String newFirstName){
+        this.first_name = newFirstName;
     }
-    public  Person(String last_name, String first_name, String[] middle_name){
-        this.last_name = last_name;
-        this.first_name = first_name;
-        this.middle_name = middle_name;
-    }
-    public  Person(String last_name, String[] add_last_name, String first_name){
-        this.last_name = last_name;
-        this.add_last_name = add_last_name;
-        this.first_name = first_name;
+    public void EditLastName(String newLastName){
+        this.last_name = newLastName;
     }
 
     @Override
     public String toString() {
-        String w_last = "";
-        String w_middle = "";
-
-        if(this.add_last_name != null){
-            for(int i = 0; i < this.add_last_name.length; i++){
-                w_last += this.add_last_name[i] + " ";
-            }
-        }
-
-        if(this.middle_name != null){
-            for(int i = 0; i < this.middle_name.length; i++){
-                w_middle += this.middle_name[i] + " ";
-            }
-        }
-
-        return  this.first_name + " " + w_middle + " " + this.last_name + " " + w_last;
+        return  this.first_name + " " + this.last_name;
     }
 }
diff --git a/tp/target/classes/org/example/Address.class b/tp/target/classes/org/example/Address.class
deleted file mode 100644
index 7c34d20d538d5d24bba2b7fc57e1fe110e0b4bb5..0000000000000000000000000000000000000000
Binary files a/tp/target/classes/org/example/Address.class and /dev/null differ
diff --git a/tp/target/classes/org/example/Contact.class b/tp/target/classes/org/example/Contact.class
index f10690f1ae5b05e56b3aabbe20d397a5200bca50..90149e1f5120b89e0d5dc82f9bf65d6683aca544 100644
Binary files a/tp/target/classes/org/example/Contact.class and b/tp/target/classes/org/example/Contact.class differ
diff --git a/tp/target/classes/org/example/Main.class b/tp/target/classes/org/example/Main.class
index 408afad89cb648fafc7cdb60f5cdd52ab92db623..c85a5a2fadb8dd33a5b7275e60c107969aa4c652 100644
Binary files a/tp/target/classes/org/example/Main.class and b/tp/target/classes/org/example/Main.class differ
diff --git a/tp/target/classes/org/example/Person.class b/tp/target/classes/org/example/Person.class
index 1b4732a24aea1b9f8b319d63ef33c4d7fd771121..9b0cf630b4ca5daa47bd697933fc04b89efe9afc 100644
Binary files a/tp/target/classes/org/example/Person.class and b/tp/target/classes/org/example/Person.class differ