diff --git a/Makefile b/Makefile
index 614ab84f123bfb1cff0c06f0f39cdc203d23bbdf..d5896731256f9d6b1d67fa8de2b2866e5a566a94 100644
--- a/Makefile
+++ b/Makefile
@@ -19,13 +19,13 @@ RECEIVER = receiver
 all: $(SENDER) $(RECEIVER)
 
 $(SENDER): $(SENDER_OBJECTS)
-	@$(CC) $(SENDER_OBJECTS) -o $@ $(LDFLAGS)
+	$(CC) $(SENDER_OBJECTS) -o $@ $(LDFLAGS)
 
 $(RECEIVER): $(RECEIVER_OBJECTS)
-	@$(CC) $(RECEIVER_OBJECTS) -o $@ $(LDFLAGS)
+	$(CC) $(RECEIVER_OBJECTS) -o $@ $(LDFLAGS)
 
 %.o: %.c
-	@$(CC) $(HEADERS_DIR) $(CFLAGS) $< -o $@ $(LDFLAGS)
+	$(CC) $(HEADERS_DIR) $(CFLAGS) $< -o $@ $(LDFLAGS)
 
 .PHONY: clean mrproper cleanlogs
 
diff --git a/src/receiver_utils.c b/src/receiver_utils.c
index c9914e4af924685b7f74882b0f9815394b825842..1ada0af15d3314b59b09fea03db1d92c223fbd21 100644
--- a/src/receiver_utils.c
+++ b/src/receiver_utils.c
@@ -112,12 +112,14 @@ int update_buffer_upon_new_data(con_state_t * state, pkt_t * pkt)
 int update_state_data_pkt(con_state_t * state, pkt_t * pkt)
 {
     if (update_buffer_upon_new_data(state, pkt) != 0)  return -1;
+    uint8_t expecting = (state->last_received_in_order + 1) % TWO_EXP_EIGHT;
 
     if ( state->ack_to_send != NULL )   /* There's an unsent ack to send */
     {
-        if (pkt_set_seqnum(state->ack_to_send, state->last_received_in_order) != 0)
+        if (pkt_set_window(state->ack_to_send, state->curr_recv_window) != 0 ||
+            pkt_set_seqnum(state->ack_to_send, expecting) != 0)
         { 
-            ERROR("When setting the seqnum of an existing ack that hasn't been sent yet.");
+            ERROR("When updating an ACK that hasn't been done.");
             return -1;
         }
     } else                              /* We have to create an ack to send */
@@ -130,7 +132,7 @@ int update_state_data_pkt(con_state_t * state, pkt_t * pkt)
         }
            
         if (pkt_set_type(state->ack_to_send, PTYPE_ACK) != 0 || pkt_set_tr(state->ack_to_send, 0) ||
-            pkt_set_seqnum(state->ack_to_send, state->last_received_in_order) != 0)
+            pkt_set_seqnum(state->ack_to_send, expecting) != 0)
         {
             ERROR("Setting up a ACK packet to send.");
             return -1;
@@ -224,7 +226,7 @@ void reception_loop(struct pollfd * pfd, con_state_t * state)
     {
         int ready = poll(pfd, 1, -1);
         gettimeofday(&curr, NULL);
-        if (ready == -1 || (curr.tv_sec - last_recv.tv_sec) > 2)
+        if (ready == -1 || (curr.tv_sec - last_recv.tv_sec) > 3)
         {
             DEBUG("Timed out.");
             return;
diff --git a/test_files/greeting.txt b/test_files/greeting.txt
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..c57eff55ebc0c54973903af5f72bac72762cf4f4 100644
--- a/test_files/greeting.txt
+++ b/test_files/greeting.txt
@@ -0,0 +1 @@
+Hello World!
\ No newline at end of file
diff --git a/test_files/long_message.txt b/test_files/long_message.txt
index f531738996c10711fb2da8b1217480de8076a3d4..78d4f44e4ec49a99f9e46fc5b630abada1e88d10 100644
--- a/test_files/long_message.txt
+++ b/test_files/long_message.txt
@@ -7,7 +7,7 @@ PS: Drink a beer when you pass the test. Share your knowledge to others, compute
 science isn't a field for selfishness. If you want to switch to Law, Economy, some shit
 
 Hi Vany I love reading from you. As you know I'm working sometime a bit late in the night.
-In a few hour you'll be in th famous "Salle Intel" to be really productive as you are.
+In a few hour you'll be in the famous "Salle Intel" to be really productive as you are.
 
 Best regards,
 
diff --git a/tests/simple_test.sh b/tests/simple_test.sh
index c613beeee7cc0fb16c825506c11173078ab303de..17b2a41fcaa8ecf6f1767d1542c8634b91e7373d 100755
--- a/tests/simple_test.sh
+++ b/tests/simple_test.sh
@@ -7,13 +7,14 @@ fi
 FILENAME=$1
 BASENAME=$(basename $FILENAME)
 BASENAME_PREFIX="${BASENAME%.*}"
+BASENAME_EXTENSION="${BASENAME##*.}"
 
 # cleanup d'un test précédent
-rm -f ./unwanted_logs/${BASENAME_PREFIX}_received_file ./unwanted_logs/${BASENAME_PREFIX}_valgrind_receiver.log ./unwanted_logs/${BASENAME_PREFIX}_valgrind_sender.log
-touch ./unwanted_logs/${BASENAME_PREFIX}_received_file ./unwanted_logs/${BASENAME_PREFIX}_valgrind_receiver.log ./unwanted_logs/${BASENAME_PREFIX}_valgrind_sender.log
+rm -f ./unwanted_logs/${BASENAME_PREFIX}_received_file.${BASENAME_EXTENSION} ./unwanted_logs/${BASENAME_PREFIX}_valgrind_receiver.log ./unwanted_logs/${BASENAME_PREFIX}_valgrind_sender.log
+touch ./unwanted_logs/${BASENAME_PREFIX}_received_file.${BASENAME_EXTENSION} ./unwanted_logs/${BASENAME_PREFIX}_valgrind_receiver.log ./unwanted_logs/${BASENAME_PREFIX}_valgrind_sender.log
 
 # On lance le receiver et capture sa sortie standard
-valgrind --leak-check=full --log-file=./unwanted_logs/${BASENAME_PREFIX}_valgrind_receiver.log ./receiver ::1 12345 1> ./unwanted_logs/${BASENAME_PREFIX}_received_file 2> ./unwanted_logs/${BASENAME_PREFIX}_valgrind_receiver.log &
+valgrind --leak-check=full --log-file=./unwanted_logs/${BASENAME_PREFIX}_valgrind_receiver.log ./receiver ::1 12345 1> ./unwanted_logs/${BASENAME_PREFIX}_received_file.${BASENAME_EXTENSION} 2> ./unwanted_logs/${BASENAME_PREFIX}_valgrind_receiver.log &
 receiver_pid=$!
 
 cleanup()
@@ -46,10 +47,10 @@ else  # On teste la valeur de retour du receiver
 fi
 
 # On vérifie que le transfert s'est bien déroulé
-if [[ "$(md5sum ${FILENAME} | awk '{print $1}')" != "$(md5sum ./unwanted_logs/${BASENAME_PREFIX}_received_file | awk '{print $1}')" ]]; then
+if [[ "$(md5sum ${FILENAME} | awk '{print $1}')" != "$(md5sum ./unwanted_logs/${BASENAME_PREFIX}_received_file.${BASENAME_EXTENSION} | awk '{print $1}')" ]]; then
   echo "Le transfert a corrompu le fichier!"
   echo "Diff binaire des deux fichiers: (attendu vs produit)"
-  diff -C 9 <(od -Ax -t x1z ${FILENAME}) <(od -Ax -t x1z ./unwanted_logs/${BASENAME_PREFIX}_received_file)
+  diff -C 9 <(od -Ax -t x1z ${FILENAME}) <(od -Ax -t x1z ./unwanted_logs/${BASENAME_PREFIX}_received_file.${BASENAME_EXTENSION})
   exit 1
 else
   echo "Le transfert est réussi!"