diff --git a/thesis.bib b/thesis.bib
index 271d68dc5ec2190eb272f612f3c52866a40d6893..258397a411f73253f37920fe3fbd937746f70935 100644
--- a/thesis.bib
+++ b/thesis.bib
@@ -75,3 +75,10 @@
   pages={149--162},
   year={2008}
 }
+
+@book{martin2009clean,
+  title={Clean code: a handbook of agile software craftsmanship},
+  author={Martin, Robert C},
+  year={2009},
+  publisher={Pearson Education}
+}
diff --git a/thesis.tex b/thesis.tex
index 1d4859da61981a711975d4c1d4337895135273d7..6a03e129db558a34bab3c4128ada91a9bbed7f1d 100644
--- a/thesis.tex
+++ b/thesis.tex
@@ -386,7 +386,7 @@ H αρχικΞ� έκδοση του Mooshak δημιουργΞ�ΞΈΞ·ΞΊΞ΅ το 2000
   \caption[Ξ— αρχιτΡκτονικΞ� του Mooshak]{Ξ— αρχιτΡκτονικΞ� του Mooshak ΞΌΞ΅ τρΡις
   ΡξυπηρΡτητές, ΟŒΟ€ΞΏΟ… ΞΏΞΉ δύο βρίσκονται στο ίδιο Ο„ΞΏΟ€ΞΉΞΊΟŒ δίκτυο ΞΊΞ±ΞΉ όλοι
   συγχρονί΢ουν τα δΡδομένα τους. Βασισμένο στο σχΞ�ΞΌΞ± 4 του
-  \cite{leal20.3,trim=4 4 4 4,clipmooshak}.}
+  \cite{leal2003mooshak}.}
 \end{figure}
 
 \bigskip
@@ -895,8 +895,8 @@ TODO: ΞšΞ±Ξ»ΟΟ„Ξ΅ΟΞ· πΡριγραφΞ� της λΡιτουργίας της 
 \bigskip
 
 Οι αλλαγές που αφορούν το frontend κομμάτι Ξ­Ξ³ΞΉΞ½Ξ±Ξ½ κυρίως στη σΡλίδα της διαχΡίρισης
-αρχΡίων Ρλέγχων. ΞŒΟ€Ο‰Ο‚ φαίνΡται στην Ρικόνα18, δίπλα σΡ κάθΡ αρχΡίο Ρλέγχου Ρίναι
-τα χρωματικά tags ΞΊΞ±ΞΉ ΞΌΞ΅ χρΞ�ση CSS διακρίνΡται το ΡπιλΡγμένο. Για την προσθΞ�ΞΊΞ·
+αρχΡίων Ρλέγχων. ΞŒΟ€Ο‰Ο‚ φαίνΡται στην Ρικόνα 4.1, δίπλα σΡ κάθΡ αρχΡίο Ρλέγχου Ρίναι
+τα χρωματικά tags ΞΊΞ±ΞΉ χάρη στη CSS διακρίνΡται το ΡπιλΡγμένο. Για την προσθΞ�ΞΊΞ·
 του blue tag, δανΡιστΞ�ΞΊΞ±ΞΌΞ΅ την Ρικόνα Ξ±Ο€ΟŒ το hellenico, ΞΊΞ±ΞΉ Ξ±Ο…Ο„Ξ� προστέθηκΡ μΡτά
 το κίτρινο ΞΊΞ±ΞΉ πορτοκαλί. Αντίστοιχα, προστέθηκΡ Ξ· πΡριγραφΞ� του συγκΡκριμένου
 tag ΞΊΞ±ΞΉ ΞΏ ΞΊΟŽΞ΄ΞΉΞΊΞ±Ο‚ που Ξ΄ΞΉΞ±Ο‡Ξ΅ΞΉΟΞΉΞΆΟŒΟ„Ξ±Ξ½ το πάτημα του tag ΞΊΞ±ΞΉ την αλλαγΞ� στη βάση.
@@ -1033,12 +1033,10 @@ callback Ξ³ΞΉΞ± την χρησιμοποίηση Ξ±Ο…Ο„ΟŽΞ½ των αποτΡλ
 ΟƒΞ·ΞΌΞ±Ξ½Ο„ΞΉΞΊΟŒ Ξ· πληροφορία Ξ³ΞΉΞ± τις ομάδΡς, τις βαθμολογίΡς τους ΞΊΞ±ΞΉ το ποια αρχΡία
 ΡμπΡριέχΡι Ξ· κάθΡ ΞΌΞΉΞ±, Ξ½Ξ± Ρμφανί΢Ρται στη συγκΡκριμένη οθόνη χωρίς Ξ½Ξ± Ρίναι
 απαραίτητη Ξ· μΡτάβαση στη οθόνη της διαχΡίρισης ομάδας αρχΡίων Ρλέγχου. Οι δύο
-προαναφΡρθΡίσΡς ΞΏΞΈΟŒΞ½Ξ΅Ο‚ Ρμφανί΢ονται στις Ξ΅ΞΉΞΊΟŒΞ½Ξ΅Ο‚ 41 ΞΊΞ±ΞΉ 42.
+προαναφΡρθΡίσΡς ΞΏΞΈΟŒΞ½Ξ΅Ο‚ Ρμφανί΢ονται στις Ξ΅ΞΉΞΊΟŒΞ½Ξ΅Ο‚ 4.3 ΞΊΞ±ΞΉ 4.4.
 
 \bigskip
 
-(TODO: eikones 41 42)
-
 \begin{figure}
   \centering
   \includegraphics[scale=0.3,trim=4 4 4 4,clip]{Figures/groupoverview.png}
@@ -1129,15 +1127,15 @@ callback Ξ³ΞΉΞ± την χρησιμοποίηση Ξ±Ο…Ο„ΟŽΞ½ των αποτΡλ
 \bigskip
 
 Ξ— υλοποίηση ΟŒΟƒΞΏΞ½ αφορά στο frontend ΞΊΞ±ΞΉ τη λογικΞ� του Grader, συνδυάστηκΡ ΞΌΞ΅
-μΡρικό refactoring των κλάσΡων ΞΊΞ±ΞΉ των συναρτΞ�σΡων, Ο‡ΟΞ·ΟƒΞΉΞΌΞΏΟ€ΞΏΞΉΟŽΞ½Ο„Ξ±Ο‚ πολλές
-Ξ±Ο€ΟŒ τις αρχές που πΡριγράφονται στο (TODO: Ξ½Ξ± το βγαλω τΡλΡιως Ξ� Ξ½Ξ± βάλω πηγΞ�)
-clean code του Robert Martin. ΞœΞ­ΟΞΏΟ‚ των αλλαγών Ξ�ταν ΞΊΞ±ΞΉ Ξ· προσθΞ�ΞΊΞ· Ξ΅Ξ½ΟŒΟ‚ πΡδίου
-στον πίνακα των Ο…Ο€ΞΏΞ²ΞΏΞ»ΟŽΞ½, ΞΌΞ΅ τίτλο resultsjson, το οποίο πΡριέχΡι τα αναλυτικά
+μΡρικό refactoring των κλάσΡων ΞΊΞ±ΞΉ των συναρτΞ�σΡων, Ο‡ΟΞ·ΟƒΞΉΞΌΞΏΟ€ΞΏΞΉΟŽΞ½Ο„Ξ±Ο‚ πολλές Ξ±Ο€ΟŒ
+τις αρχές που πΡριγράφονται στο Clean Code του Robert Martin
+\cite{martin2009clean}. ΞœΞ­ΟΞΏΟ‚ των αλλαγών Ξ�ταν ΞΊΞ±ΞΉ Ξ· προσθΞ�ΞΊΞ· Ξ΅Ξ½ΟŒΟ‚ πΡδίου στον
+πίνακα των Ο…Ο€ΞΏΞ²ΞΏΞ»ΟŽΞ½, ΞΌΞ΅ τίτλο resultsjson, το οποίο πΡριέχΡι τα αναλυτικά
 αποτΡλέσματα ΞΌΞΉΞ±Ο‚ υποβολΞ�Ο‚, κωδικοποιημένα σΡ μορφΞ� JSON, έτσι ΟŽΟƒΟ„Ξ΅ Ξ½Ξ± ΞΌΞ·Ξ½
 υπολογί΢ονται κάθΡ φορά που απαιτούνται. Επιπλέον, αλλαγές Ξ­Ξ³ΞΉΞ½Ξ±Ξ½ ΟŽΟƒΟ„Ξ΅ Ξ½Ξ±
-αφαιρΡθούν κομμάτια Ξ΅Ο€Ξ±Ξ½Ξ±Ξ»Ξ±ΞΌΞ²Ξ±Ξ½ΟŒΞΌΞ΅Ξ½ΞΏΟ… κώδικα ΞΌΞ΅ την αντίστοιχη δημιουργία
-νέων δομών ΞΊΞ±ΞΉ κλάσΡων, αποσύνδΡση της λογικΞ�Ο‚ Ξ΄ΞΉΞ±Ο†ΞΏΟΞ΅Ο„ΞΉΞΊΟŽΞ½ αντικΡιμένων ΞΊΞ±ΞΉ
-μΡίωση της Ο€ΞΏΞ»Ο…Ο€Ξ»ΞΏΞΊΟŒΟ„Ξ·Ο„Ξ±Ο‚ μΡγάλων ΞΊΞΏΞΌΞΌΞ±Ο„ΞΉΟŽΞ½ κώδικα ΞΌΞ΅ δημιουργία ΞΌΞΉΞΊΟΟŒΟ„Ξ΅ΟΟ‰Ξ½
+αφαιρΡθούν κομμάτια Ξ΅Ο€Ξ±Ξ½Ξ±Ξ»Ξ±ΞΌΞ²Ξ±Ξ½ΟŒΞΌΞ΅Ξ½ΞΏΟ… κώδικα ΞΌΞ΅ την αντίστοιχη δημιουργία νέων
+δομών ΞΊΞ±ΞΉ κλάσΡων, αποσύνδΡση της λογικΞ�Ο‚ Ξ΄ΞΉΞ±Ο†ΞΏΟΞ΅Ο„ΞΉΞΊΟŽΞ½ αντικΡιμένων ΞΊΞ±ΞΉ μΡίωση
+της Ο€ΞΏΞ»Ο…Ο€Ξ»ΞΏΞΊΟŒΟ„Ξ·Ο„Ξ±Ο‚ μΡγάλων ΞΊΞΏΞΌΞΌΞ±Ο„ΞΉΟŽΞ½ κώδικα ΞΌΞ΅ δημιουργία ΞΌΞΉΞΊΟΟŒΟ„Ξ΅ΟΟ‰Ξ½
 συναρτΞ�σΡων ΞΌΞ΅ πΡριγραφικά ΞΏΞ½ΟŒΞΌΞ±Ο„Ξ±.
 
 \bigskip
@@ -1167,7 +1165,7 @@ draw this
 
 ΀α προβλΞ�ματα, έπΡιτα Ξ±Ο€ΟŒ τη δημιουργία τους, παραμένουν ανένταχτα, στην κατηγορία
 "ΠροβλΞ�ματα Ξ΅ΞΊΟ„ΟŒΟ‚ Ξ΄ΞΉΞ±Ξ³Ο‰Ξ½ΞΉΟƒΞΌΟŽΞ½" της ΞΏΞΈΟŒΞ½Ξ·Ο‚ διαχΡίρισης
-ΟŒΟ€Ο‰Ο‚ φαίνΡται ΞΊΞ±ΞΉ σΡ screenshot παρακάτω. ΀ο Ξ΅Ο€ΟŒΞΌΞ΅Ξ½ΞΏ Ξ²Ξ�ΞΌΞ± Ρίναι Ξ· μΡτακίνηση τους
+ΟŒΟ€Ο‰Ο‚ φαίνΡται ΞΊΞ±ΞΉ στο σχΞ�ΞΌΞ± 5.1. ΀ο Ξ΅Ο€ΟŒΞΌΞ΅Ξ½ΞΏ Ξ²Ξ�ΞΌΞ± Ρίναι Ξ· μΡτακίνηση τους
 σΡ κάποιον Ξ΄ΞΉΞ±Ξ³Ο‰Ξ½ΞΉΟƒΞΌΟŒ ΞΌΞ΅ χρΞ�ση του μΡνού στα δΡξιά του προβλΞ�ματος. Ξ— μΡτακίνηση
 αυτού του τύπου Ρίναι ΞΏ ΞΌΟŒΞ½ΞΏΟ‚ Ο„ΟΟŒΟ€ΞΏΟ‚ Ξ½Ξ± ΡπαναχρησιμοποιηθΡί το Ο€ΟΟŒΞ²Ξ»Ξ·ΞΌΞ± ΞΊΞ±ΞΉ σΡ
 άλλους διαγωνισμούς, Ξ±Ο†ΟŒΟ„ΞΏΟ… Ο„Ξ΅Ξ»Ξ΅ΞΉΟŽΟƒΞ΅ΞΉ Ξ±Ο…Ο„ΟŒΟ‚ Ξ³ΞΉΞ± τον οποίο δημιουργΞ�ΞΈΞ·ΞΊΞ΅
@@ -1193,7 +1191,7 @@ draw this
 
 \bigskip
 
-Στο σχΞ�ΞΌΞ±1 αρχί΢Ρι Ξ½Ξ± διακρίνΡται το Ο€ΟΟŒΞ²Ξ»Ξ·ΞΌΞ± που δημιουργΡίται. Ξ— σύνδΡση
+Στο σχΞ�ΞΌΞ± 5.2 αρχί΢Ρι Ξ½Ξ± διακρίνΡται το Ο€ΟΟŒΞ²Ξ»Ξ·ΞΌΞ± που δημιουργΡίται. Ξ— σύνδΡση
 κάθΡ προβλΞ�ματος ΞΌΞ΅ το Ξ΄ΞΉΞ±Ξ³Ο‰Ξ½ΞΉΟƒΞΌΟŒ γίνΡται μέσω του πΡδίο compid στον πίνακα
 των προβλημάτων. Ως αποτέλΡσμα, το μόνο που κάνΡι Ξ· λΡιτουργία της μΡτακίνησης
 προβλΞ�ματος σΡ άλλον Ξ΄ΞΉΞ±Ξ³Ο‰Ξ½ΞΉΟƒΞΌΟŒ Ρίναι Ξ½Ξ± αλλάξΡι Ξ±Ο…Ο„ΟŒ το πΡδίο. Επιπροσθέτως,
@@ -1246,7 +1244,7 @@ draw this
 ΞΈΞ± έχΡι την ίδια λογικΞ�, δηλαδΞ� ΞΈΞ± αναγράφΡι τις Ρπιμέρους βαθμολογίΡς σΡ κάθΡ
 Ο€ΟΟŒΞ²Ξ»Ξ·ΞΌΞ± του διαγωνισμού. Ξ— διαφορά ΞΈΞ± Ρίναι ΟŒΟ„ΞΉ δΡ ΞΈΞ± ΟƒΞ·ΞΌΞ΅ΞΉΟŽΞ½Ξ΅Ο„Ξ±ΞΉ στη βάση μόνο
 Ξ· βαθμολογία αλλά ΢Ρυγάρια probid: βαθμολογία. Στο παράδΡιγμα που χρησιμοποιΞ�ΞΈΞ·ΞΊΞ΅
-προηγουμένως, το πΡδίο ΞΈΞ± έχΡι τη μορφΞ� {48: 7, 51: 9}.
+προηγουμένως, το πΡδίο ΞΈΞ± έχΡι τη μορφΞ� $\{48: 7, 51: 9\}$.
 
 \bigskip
 
@@ -1281,7 +1279,7 @@ draw this
 Ρπιλέγοντας Ξ΄ΞΉΞ±Ξ³Ο‰Ξ½ΞΉΟƒΞΌΟŒ. ΀έλος, στο κάτω μέρος της ΞΏΞΈΟŒΞ½Ξ·Ο‚, ΟŒΟ€ΞΏΟ… αναγράφονταν τα
 ανένταχτα προβλΞ�ματα, κρίθηκΡ Ο€ΟΞΏΟ„ΞΉΞΌΟŒΟ„Ξ΅ΟΞΏ Ξ½Ξ± αναγράφονται όλα τα προβλΞ�ματα
 ΟŽΟƒΟ„Ξ΅ Ξ½Ξ± Ρίναι Ξ΅Ο…ΞΊΞΏΞ»ΟŒΟ„Ξ΅ΟΞΏ Ξ½Ξ± ανα΢ητηθΡί ΞΊΞ±ΞΉ Ξ½Ξ± αντιγραφΡί κάποιο σΡ Ξ­Ξ½Ξ± Ξ½Ξ­ΞΏ
-Ξ΄ΞΉΞ±Ξ³Ο‰Ξ½ΞΉΟƒΞΌΟŒ. Ξ— Ξ½Ξ­Ξ± διαχΡίριση παρουσιά΢Ρται στη φωτογραφία4.
+Ξ΄ΞΉΞ±Ξ³Ο‰Ξ½ΞΉΟƒΞΌΟŒ. Ξ— Ξ½Ξ­Ξ± διαχΡίριση παρουσιά΢Ρται στις φωτογραφίΡς 5.2 ΞΊΞ±ΞΉ 5.3.
 
 \bigskip
 
@@ -1412,7 +1410,7 @@ Overflow \cite{website:pythongrowth} χάρη, κυρίως, στην ΞΊΞ±ΞΈΞΉΞ­
 ΞšΞ±Ο„Ξ¬ τη διαδικασία δημιουργίας Ξ΅Ξ½ΟŒΟ‚ προβλΞ�ματος, Ρίναι απαραίτητο Ξ½Ξ± προστΡθΡί
 Ξ­Ξ½Ξ±Ο‚ συχνά μΡγάλος Ξ±ΟΞΉΞΈΞΌΟŒΟ‚ αρχΡίων Ρλέγχου. Ο ΞΌΟŒΞ½ΞΏΟ‚ Ο„ΟΟŒΟ€ΞΏΟ‚ Ξ½Ξ± γίνΡι Ξ±Ο…Ο„ΟŒ Ρίναι
 μέσω της ΞΏΞΈΟŒΞ½Ξ·Ο‚ διαχΡίρισης των αρχΡίων Ρλέγχου, ΟŒΟ€Ο‰Ο‚ φαίνΡται στη
-φωτογραφία18, ΞΊΞ±ΞΉ κάθΡ Ξ½Ξ­ΞΏ αρχΡίο ανΡβαίνΡι ξΡχωριστά, δηλαδΞ� δΡν υπάρχΡι
+φωτογραφία 4.1, ΞΊΞ±ΞΉ κάθΡ Ξ½Ξ­ΞΏ αρχΡίο ανΡβαίνΡι ξΡχωριστά, δηλαδΞ� δΡν υπάρχΡι
 κάποια ΞΌΞ±ΞΆΞΉΞΊΞ� διαδικασία.
 
 \bigskip
@@ -1436,11 +1434,12 @@ Overflow \cite{website:pythongrowth} χάρη, κυρίως, στην ΞΊΞ±ΞΈΞΉΞ­
 \subsection{Ξ₯λοποίηση}
 
 ΀ο ΡργαλΡίο που πΡριγράφηκΡ ΞΈΞ± προστΡθΡί στην οθόνη διαχΡίρισης των αρχΡίων
-Ρλέγχου κάτω Ξ±Ο€ΟŒ το Ξ�δη υπάρχον ανέβασμα μΡμονωμένου αρχΡίου, ΟŒΟ€Ο‰Ο‚ φαίνΡται ΞΊΞ±ΞΉ
-στην Ρικόνα33. Ο διαχΡιριστΞ�Ο‚ ΞΈΞ± ανΡβά΢Ρι Ξ­Ξ½Ξ± συμπιΡσμένο αρχΡίο (zip) ΞΌΞ΅ τα
-αρχΡία Ξ΅ΞΉΟƒΟŒΞ΄ΞΏΟ… ΞΊΞ±ΞΉ Ξ΅ΞΎΟŒΞ΄ΞΏΟ… που θέλΡι Ξ½Ξ± προσθέσΡι στο Ο€ΟΟŒΞ³ΟΞ±ΞΌΞΌΞ±. Στο αρχΡίο ΞΈΞ±
-πρέπΡι, Ρπιπλέον, Ξ½Ξ± υπάρχΡι ΞΊΞ±ΞΉ Ξ­Ξ½Ξ± αρχΡίο ΞΌΞ΅ όνομα descriptor.json το οποίο
-ΞΈΞ± αναλαμβάνΡι Ξ½Ξ± Ο€Ξ΅ΟΞΉΞ³ΟΞ¬ΟˆΞ΅ΞΉ στο ΡργαλΡίο τις προδιαγραφές αρχΡίων ΞΊΞ±ΞΉ ομάδων.
+Ρλέγχου κάτω Ξ±Ο€ΟŒ το Ξ�δη υπάρχον ανέβασμα μΡμονωμένου αρχΡίου. ΞœΞ΅Ο„Ξ¬ την προσθΞ�ΞΊΞ·
+Ξ· οθόνη ΞΈΞ± έχΡι τη μορφΞ� της φωτογραφίας 6.1. Ο διαχΡιριστΞ�Ο‚ ΞΈΞ± ανΡβά΢Ρι Ξ­Ξ½Ξ±
+συμπιΡσμένο αρχΡίο (zip) ΞΌΞ΅ τα αρχΡία Ξ΅ΞΉΟƒΟŒΞ΄ΞΏΟ… ΞΊΞ±ΞΉ Ξ΅ΞΎΟŒΞ΄ΞΏΟ… που θέλΡι Ξ½Ξ± προσθέσΡι
+στο Ο€ΟΟŒΞ³ΟΞ±ΞΌΞΌΞ±. Στο αρχΡίο ΞΈΞ± πρέπΡι, Ρπιπλέον, Ξ½Ξ± υπάρχΡι ΞΊΞ±ΞΉ Ξ­Ξ½Ξ± αρχΡίο ΞΌΞ΅
+όνομα descriptor.json το οποίο ΞΈΞ± αναλαμβάνΡι Ξ½Ξ± Ο€Ξ΅ΟΞΉΞ³ΟΞ¬ΟˆΞ΅ΞΉ στο ΡργαλΡίο τις
+προδιαγραφές αρχΡίων ΞΊΞ±ΞΉ ομάδων.
 
 \bigskip
 
@@ -1506,7 +1505,7 @@ descriptor.json αρχΡίου.
 ΡρωτΞ�σΡις σχΡτικές ΞΌΞ΅ τον αριθμό ΞΊΞ±ΞΉ τα ΞΏΞ½ΟŒΞΌΞ±Ο„Ξ± των αρχΡίων Ρλέγχου ΞΊΞ±ΞΉ ομάδων
 ΞΊΞ±ΞΉ έπΡιτα Ξ³ΞΉΞ± κάθΡ ομάδα σχΡτικά ΞΌΞ΅ το ποια αρχΡία πΡριέχΡι ΞΊΞ±ΞΉ τους τύπους
 ΡκτέλΡσης τους. Στο τέλος, παράγΡι το αρχΡίο που πΡριγράφηκΡ. Παρακάτω φαίνΡται
-Ξ· ΡκτέλΡση του συγκΡκριμένου script, ΞΌΞ±ΞΆΞ― ΞΌΞ΅ το αρχΡίο που δημιουργΡίται.
+ΞΌΞΉΞ± τυπικΞ� ΡκτέλΡση του συγκΡκριμένου script.
 
 
 \begin{figure}