diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 083493963b5d8938ce40c5bb6034623460030783..adadf45a58b8c2bdb3cf86b7b3938118c5ad28ee 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -10,10 +10,9 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="43aff179-c306-46b9-b69f-eca5306fbf96" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/Vector" beforeDir="false" afterPath="$PROJECT_DIR$/Vector" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Vector.c" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.c" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Vector.o" beforeDir="false" afterPath="$PROJECT_DIR$/Vector.o" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/makefile" beforeDir="false" afterPath="$PROJECT_DIR$/makefile" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Box" beforeDir="false" afterPath="$PROJECT_DIR$/Box" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Box.c" beforeDir="false" afterPath="$PROJECT_DIR$/Box.c" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Box.o" beforeDir="false" afterPath="$PROJECT_DIR$/Box.o" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -26,7 +25,7 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Vector.c">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="920">
+            <state relative-caret-position="2348">
               <caret line="210" lean-forward="true" selection-start-line="210" selection-end-line="210" />
             </state>
           </provider>
@@ -44,8 +43,8 @@
       <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/Box.c">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="391">
-              <caret line="56" column="33" selection-start-line="56" selection-start-column="33" selection-end-line="56" selection-end-column="33" />
+            <state relative-caret-position="226">
+              <caret line="131" column="33" selection-start-line="131" selection-start-column="33" selection-end-line="131" selection-end-column="33" />
             </state>
           </provider>
         </entry>
@@ -53,8 +52,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Box.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state>
-              <caret column="18" selection-start-column="18" selection-end-column="18" />
+            <state relative-caret-position="153">
+              <caret line="9" selection-start-line="9" selection-end-line="9" selection-end-column="27" />
             </state>
           </provider>
         </entry>
@@ -138,12 +137,12 @@
       <option name="number" value="Default" />
       <option name="presentableId" value="Default" />
       <updated>1559227081243</updated>
-      <workItem from="1559227084365" duration="25870000" />
+      <workItem from="1559227084365" duration="35037000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="25870000" />
+    <option name="totallyTimeSpent" value="35037000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
@@ -209,31 +208,31 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Box.h">
+    <entry file="file://$PROJECT_DIR$/Vector.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state>
-          <caret column="18" selection-start-column="18" selection-end-column="18" />
+        <state relative-caret-position="85">
+          <caret line="5" selection-start-line="5" selection-end-line="5" selection-end-column="33" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Vector.c">
+    <entry file="file://$PROJECT_DIR$/Box.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="920">
-          <caret line="210" lean-forward="true" selection-start-line="210" selection-end-line="210" />
+        <state relative-caret-position="153">
+          <caret line="9" selection-start-line="9" selection-end-line="9" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Vector.h">
+    <entry file="file://$PROJECT_DIR$/Vector.c">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="85">
-          <caret line="5" selection-start-line="5" selection-end-line="5" selection-end-column="33" />
+        <state relative-caret-position="2348">
+          <caret line="210" lean-forward="true" selection-start-line="210" selection-end-line="210" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/Box.c">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="391">
-          <caret line="56" column="33" selection-start-line="56" selection-start-column="33" selection-end-line="56" selection-end-column="33" />
+        <state relative-caret-position="226">
+          <caret line="131" column="33" selection-start-line="131" selection-start-column="33" selection-end-line="131" selection-end-column="33" />
         </state>
       </provider>
     </entry>
diff --git a/Box b/Box
index e7a51acc7eb153c6786d6dc8f969c37bd5a9fca1..333f32c34b2e70717a05423ce517c9ae3367fdce 100644
Binary files a/Box and b/Box differ
diff --git a/Box.c b/Box.c
index 503aa7119eeee49e090504bbfc9f3db50334723a..1788289efb6715b2dd103259eb73aff1cbce1525 100644
--- a/Box.c
+++ b/Box.c
@@ -33,6 +33,42 @@ bool is_inside(box b, vec *v){
     }
 }
 
+double compute_length(box b){
+
+    int x = fabs(b.x0) + fabs(b.x1);
+    int y = fabs(b.y0) + fabs(b.y1);
+
+    return x;
+}
+
+double mid_point(double a, double b){
+
+    double mid = a + (b - a)/2;
+
+    return mid;
+
+}
+
+box *divide_in_four(box b){
+
+    double x_mid = mid_point(b.x0,b.x1);
+    double y_mid = mid_point(b.y0,b.y1);
+
+    box b1 = new_box(b.x0,x_mid,y_mid,b.y1);
+    box b2 = new_box(x_mid,b.x1,y_mid,b.y1);
+    box b3 = new_box(b.x0,x_mid,b.y0,y_mid);
+    box b4 = new_box(x_mid,b.x1,b.y0,y_mid);
+
+    box *tab = malloc(4*sizeof(tab));
+    tab[0]= b1;
+    tab[1]= b2;
+    tab[2]= b3;
+    tab[3]= b4;
+
+    return tab;
+
+}
+
 
 //TEST FONCTIONS//
 
@@ -66,9 +102,49 @@ int Test_is_inside(){
     free(v2);
 }
 
+int Test_compute_length(){
+
+    box b = new_box(-1.0,1.0,-2.0,2.0);
+    double test = compute_length(b);
+    if(test == 2.0){
+        printf("Test_compute_length IS OK\n");
+    }
+    else{
+        printf("Test_compute_length has an ERROR\n");
+    }
+}
+
+int Test_mid_point(){
+
+    double test = mid_point(3.0,4.0);
+
+    if (test == 3.5){
+        printf("Test_mid_point IS OK\n");
+    }
+    else{
+        printf("Test_mid_point has an ERROR\n");
+    }
+}
+
+int Test_divide_in_four(){
+
+    box b = new_box(-1.0,1.0,-1.0,1.0);
+    box *tab = divide_in_four(b);
+
+    if(compute_length(tab[0])==compute_length(tab[1])&&compute_length(tab[1])==compute_length(tab[2])&&compute_length(tab[2])==compute_length(tab[3])){
+        printf("Test_divide_in_four IS OK\n");
+    }
+    else {
+        printf("Test_divide_in_four has an ERROR\n");
+    }
+}
+
 int box_tests(){
     Test_new_box();
     Test_is_inside();
+    Test_compute_length();
+    Test_mid_point();
+    Test_divide_in_four();
 }
 
 int main(int argc, char *argv[]){
diff --git a/Box.o b/Box.o
index d0d6dd02196d093b5813914099b23515a7e1ea48..e85ee00bc5919722223b99ac1ec5bd591d75618e 100644
Binary files a/Box.o and b/Box.o differ