diff --git a/src/Makefile b/src/Makefile
index 9c49f9774ed7be716c4e939d79dfb3fe92755b3f..4169cd51fa313285d45ab524e839ff24b0cd44e9 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,13 +1,4 @@
 all: question_3
 
-question_3: question_3.o algo_ex1.o
-		g++ -o question_3 question_3.o algo_ex1.o
-
-algo_ex1.o: algo_ex1.h
-		g++ -Wall -Wextra -lgmpxx -lgmp algo_ex1.cpp -o algo_ex1.o
-
-question_3.o: question_3.cpp algo_ex1.h
-		g++ -Wall -Wextra -lgmpxx -lgmp question_3.cpp -o question_3.o 
-
-clean:
-		rm -rf *.o
+question_3:  question_3.cpp 
+		g++ -o question_3 question_3.cpp -Wall -Wextra -lgmp -lgmpxx
diff --git a/src/algo_ex1.cpp b/src/algo_ex1.cpp
deleted file mode 100644
index e6c32ea40d65bb9b92c8e32e3d35186d3ce95edd..0000000000000000000000000000000000000000
--- a/src/algo_ex1.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//algo used by question 3 and 5
-//gmp ne retourne que la partie entière inférieure lors de ses opérations.
-#include <ctime>
-#include <gmpxx.h>
-
-time_t sqrt(mpz_class const& a, mpz_class & res) 
-{
-  mpz_class r1 = a; 
-  mpz_class r2 = a; 
-
-  struct timespec t0, t1;
-  
-  clock_gettime( CLOCK_REALTIME, &t0);
-  while (r2 < r1) {
-    r2 = (r1 + (a / r1))/2;
-    r1 = r2; 
-  }
-  res = r1;
-  clock_gettime( CLOCK_REALTIME, &t1);
-  
-  time_t t_res = 1000.*(t1.tv_sec-t0.tv_sec) + (t1.tv_nsec-t0.tv_nsec)/1000000.;
-  return t_res;
-}; 
diff --git a/src/algo_ex1.h b/src/algo_ex1.h
deleted file mode 100644
index 5509736ec5866ee70223905e84cc5123d0ce860e..0000000000000000000000000000000000000000
--- a/src/algo_ex1.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <ctime>
-#include <gmpxx.h>
-
-time_t algo_sqrt(mpz_class const& a, mpz_class & res); 
diff --git a/src/question_3.cpp b/src/question_3.cpp
index 7f1c5a7bb484fe3443af95f23aa1ede724fc5cd8..566a14baac1c37d50efecc893b4593050656fd9a 100644
--- a/src/question_3.cpp
+++ b/src/question_3.cpp
@@ -8,7 +8,25 @@
 #include <ctime>
 #include <gmpxx.h>
 #include <cassert>
-#include "algo_ex1.h"
+
+time_t algo_sqrt(mpz_class const& a, mpz_class & res) 
+{
+  mpz_class r1 = a; 
+  mpz_class r2 = a; 
+
+  struct timespec t0, t1;
+  
+  clock_gettime( CLOCK_REALTIME, &t0);
+  while (r2 < r1) {
+    r2 = (r1 + (a / r1))/2;
+    r1 = r2; 
+  }
+  res = r1;
+  clock_gettime( CLOCK_REALTIME, &t1);
+  
+  time_t t_res = 1000.*(t1.tv_sec-t0.tv_sec) + (t1.tv_nsec-t0.tv_nsec)/1000000.;
+  return t_res;
+};
 
 int main(int argc, char** argv) {
   assert(argc == 1);