diff --git a/src/main/java/fr/univamu/sorting/App.java b/src/main/java/fr/univamu/sorting/App.java
index 40c78d1a84da56424b6fdf4133993096f2f16161..e69b1e020007fe18326a6f7e74c7e72c756ef257 100644
--- a/src/main/java/fr/univamu/sorting/App.java
+++ b/src/main/java/fr/univamu/sorting/App.java
@@ -7,6 +7,8 @@ public class App {
 
   public static void main(String[] args) {
     List<Integer> shuffled = IntLists.shuffledRange(0,1000);
+    SortableIntList sortableIntList = new SortableIntList(shuffled);
+    sortableIntList.sort();
     System.out.println(
         shuffled.stream()
         .map(String::valueOf)
diff --git a/src/main/java/fr/univamu/sorting/Sort.java b/src/main/java/fr/univamu/sorting/Sort.java
new file mode 100644
index 0000000000000000000000000000000000000000..afba558e8fcf444fea4841c64bb520f4ac422cce
--- /dev/null
+++ b/src/main/java/fr/univamu/sorting/Sort.java
@@ -0,0 +1,18 @@
+package fr.univamu.sorting;
+
+public class Sort {
+    public void sort(){
+        bubbleSort();
+    }
+    public void bubbleSort(){
+
+        for( int i=0; i< data.size()-1; i++){
+            for(int j=0 ; j< data.size()-1-i; j++){
+                if(compare(j,j+1)>0){
+                    Swap(j,j+1);
+                }
+            }
+        }
+    }
+
+}
diff --git a/src/main/java/fr/univamu/sorting/SortableIntArray.java b/src/main/java/fr/univamu/sorting/SortableIntArray.java
new file mode 100644
index 0000000000000000000000000000000000000000..cab24626a255b1f948bdfcb5a7cda2b39b96b3c7
--- /dev/null
+++ b/src/main/java/fr/univamu/sorting/SortableIntArray.java
@@ -0,0 +1,24 @@
+package fr.univamu.sorting;
+
+import java.util.List;
+
+public class SortableIntArray {
+    private int[]data;
+    public SortableIntArray(int [] data){
+        this.data = data;
+    }
+
+    public void Swap (int index1, int index2){
+        Integer x = data[index1];
+        data[index1] = data[index2];
+        data[index2]= x;
+    }
+
+    public int compare(int index1, int index2){
+        return data[index1]- data[index2];
+    }
+
+    public int size() {
+        return data.length;
+    }
+}
diff --git a/src/main/java/fr/univamu/sorting/SortableIntList.java b/src/main/java/fr/univamu/sorting/SortableIntList.java
new file mode 100644
index 0000000000000000000000000000000000000000..ffcf935a1cbd10e7664ea0cf1911fab83f43b563
--- /dev/null
+++ b/src/main/java/fr/univamu/sorting/SortableIntList.java
@@ -0,0 +1,43 @@
+package fr.univamu.sorting;
+
+import java.util.List;
+
+public class SortableIntList {
+    private List<Integer> data;
+    public SortableIntList(List<Integer> data){
+        this.data = data;
+    }
+
+    public void Swap (int index1, int index2){
+        Integer x = data.get(index1);
+        data.set(index1, data.get(index2));
+        data.set(index2, x);
+    }
+
+    public int compare(int index1, int index2){
+        return data.get(index1)- data.get(index2);
+    }
+
+    public int size(){
+        return data.size();
+    }
+    public int get(int index){
+        return data.get(index);
+    }
+
+    public void sort(){
+        bubbleSort();
+    }
+    public void bubbleSort(){
+
+        for( int i=0; i< data.size()-1; i++){
+            for(int j=0 ; j< data.size()-1-i; j++){
+                if(compare(j,j+1)>0){
+                    Swap(j,j+1);
+                }
+            }
+        }
+    }
+
+
+}