diff --git a/pace-2020/Makefile b/pace-2020/Makefile
index ab13e10aa847014335b1e73b6bf774234164602c..1a309c727d1d9430caa3df1c30be45de1ebe72eb 100644
--- a/pace-2020/Makefile
+++ b/pace-2020/Makefile
@@ -12,55 +12,54 @@ ifeq ($(PACE),yes)
    PACE_FLAG= -DPACE_2020
 endif
 
+src=.
 
 all: treedepth 
 
 
-treedepth: obj/main.o obj/lists.o obj/lire.o  obj/graph.o obj/fibheap.o obj/tree.o obj/separator.o obj/decompose.o obj/heap.o obj/sets.o obj/utils.o obj/compression.o obj/components.o obj/swaps.o
-	gcc $(CFLAGS) obj/main.o obj/lists.o obj/lire.o obj/graph.o obj/fibheap.o obj/tree.o obj/separator.o obj/decompose.o obj/heap.o obj/sets.o obj/utils.o obj/compression.o obj/components.o obj/swaps.o -o treedepth
+treedepth: obj/main.o obj/lists.o obj/lire.o  obj/graph.o obj/tree.o obj/separator.o obj/decompose.o obj/heap.o obj/sets.o obj/utils.o obj/compression.o obj/components.o obj/swaps.o
+	gcc $(CFLAGS) obj/main.o obj/lists.o obj/lire.o obj/graph.o  obj/tree.o obj/separator.o obj/decompose.o obj/heap.o obj/sets.o obj/utils.o obj/compression.o obj/components.o obj/swaps.o -o treedepth
 
-obj/swaps.o: sga/swaps.c sga/swaps.h sga/graph.h sga/utils.h sga/sets.h sga/lists.h sga/tree.h sga/decompose.h sga/main.h 
-	gcc $(CFLAGS) -c sga/swaps.c -o obj/swaps.o
+obj/swaps.o: ${src}/swaps.c ${src}/swaps.h ${src}/graph.h ${src}/utils.h ${src}/sets.h ${src}/lists.h ${src}/tree.h ${src}/decompose.h ${src}/main.h 
+	gcc $(CFLAGS) -c ${src}/swaps.c -o obj/swaps.o
 	
 
-obj/components.o: sga/components.c sga/components.h sga/graph.h sga/utils.h sga/sets.h sga/lists.h sga/heap.h
-	gcc $(CFLAGS) -c sga/components.c -o obj/components.o
+obj/components.o: ${src}/components.c ${src}/components.h ${src}/graph.h ${src}/utils.h ${src}/sets.h ${src}/lists.h ${src}/heap.h
+	gcc $(CFLAGS) -c ${src}/components.c -o obj/components.o
 
-obj/compression.o: sga/compression.c sga/compression.h sga/graph.h sga/utils.h sga/tree.h sga/sets.h
-	gcc $(CFLAGS) -c sga/compression.c -o obj/compression.o
+obj/compression.o: ${src}/compression.c ${src}/compression.h ${src}/graph.h ${src}/utils.h ${src}/tree.h ${src}/sets.h
+	gcc $(CFLAGS) -c ${src}/compression.c -o obj/compression.o
 
-obj/utils.o: sga/utils.c sga/utils.h
-	gcc $(CFLAGS) -c sga/utils.c -o obj/utils.o
+obj/utils.o: ${src}/utils.c ${src}/utils.h
+	gcc $(CFLAGS) -c ${src}/utils.c -o obj/utils.o
 
-obj/sets.o: sga/sets.c sga/sets.h 
-	gcc $(CFLAGS) -c sga/sets.c -o obj/sets.o
+obj/sets.o: ${src}/sets.c ${src}/sets.h 
+	gcc $(CFLAGS) -c ${src}/sets.c -o obj/sets.o
 
-obj/decompose.o: sga/decompose.c sga/decompose.h sga/separator.h sga/graph.h sga/utils.h sga/tree.h sga/compression.h sga/separator.h sga/heap.h sga/main.h sga/components.h sga/swaps.h 
-	gcc $(CFLAGS) $(PACE_FLAG) -c sga/decompose.c -o obj/decompose.o
+obj/decompose.o: ${src}/decompose.c ${src}/decompose.h ${src}/separator.h ${src}/graph.h ${src}/utils.h ${src}/tree.h ${src}/compression.h ${src}/separator.h ${src}/heap.h ${src}/main.h ${src}/components.h ${src}/swaps.h 
+	gcc $(CFLAGS) $(PACE_FLAG) -c ${src}/decompose.c -o obj/decompose.o
 
-obj/separator.o: sga/separator.c sga/separator.h sga/graph.h sga/utils.h sga/components.h sga/main.h sga/heap.h
-	gcc $(CFLAGS) -c sga/separator.c -o obj/separator.o
+obj/separator.o: ${src}/separator.c ${src}/separator.h ${src}/graph.h ${src}/utils.h ${src}/components.h ${src}/main.h ${src}/heap.h
+	gcc $(CFLAGS) -c ${src}/separator.c -o obj/separator.o
 
-obj/tree.o: sga/tree.c sga/tree.h sga/graph.h sga/utils.h sga/sets.h sga/decompose.h 
-	gcc $(CFLAGS) -c sga/tree.c -o obj/tree.o
+obj/tree.o: ${src}/tree.c ${src}/tree.h ${src}/graph.h ${src}/utils.h ${src}/sets.h ${src}/decompose.h 
+	gcc $(CFLAGS) -c ${src}/tree.c -o obj/tree.o
 
-obj/main.o: sga/main.c sga/lists.h sga/lire.h sga/graph.h sga/main.h 
-	gcc $(CFLAGS) $(PACE_FLAG) -c sga/main.c -o obj/main.o
+obj/main.o: ${src}/main.c ${src}/lists.h ${src}/lire.h ${src}/graph.h ${src}/main.h 
+	gcc $(CFLAGS) $(PACE_FLAG) -c ${src}/main.c -o obj/main.o
 
-obj/graph.o: sga/graph.c sga/graph.h sga/lists.h
-	gcc $(CFLAGS) -c sga/graph.c -o obj/graph.o
+obj/graph.o: ${src}/graph.c ${src}/graph.h ${src}/lists.h
+	gcc $(CFLAGS) -c ${src}/graph.c -o obj/graph.o
 
-obj/lists.o: sga/lists.c sga/lists.h 
-	gcc $(CFLAGS) -c sga/lists.c -o obj/lists.o
+obj/lists.o: ${src}/lists.c ${src}/lists.h 
+	gcc $(CFLAGS) -c ${src}/lists.c -o obj/lists.o
 
-obj/lire.o: sga/lire.c sga/lire.h sga/lists.h sga/graph.h sga/main.h
-	gcc $(CFLAGS) -c sga/lire.c -o obj/lire.o
+obj/lire.o: ${src}/lire.c ${src}/lire.h ${src}/lists.h ${src}/graph.h ${src}/main.h
+	gcc $(CFLAGS) -c ${src}/lire.c -o obj/lire.o
 
-obj/fibheap.o: sga/fibheap.c sga/fibheap.h
-	gcc $(CFLAGS) -c sga/fibheap.c -o obj/fibheap.o
 
-obj/heap.o: sga/heap.c sga/heap.h
-	gcc $(CFLAGS) -c sga/heap.c -o obj/heap.o 
+obj/heap.o: ${src}/heap.c ${src}/heap.h
+	gcc $(CFLAGS) -c ${src}/heap.c -o obj/heap.o 
 
 clean:
 	rm -f treedepth \
diff --git a/pace-2020/README.txt b/pace-2020/README.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f9be6cbb4de5be22ed96374673497972c6cbbd4e
--- /dev/null
+++ b/pace-2020/README.txt
@@ -0,0 +1,9 @@
+sga: a program that constructs a tree decomposition of a graph.
+
+The approach consists first in performing recursively decompositions of the graph, building ta partition of the vertices A-B-C such that there are no edge of G between vertices of A and B. C is the separator. 
+Then the resulting decomposition is improved applying pullup and swap operations while the height of the decomposition decreases.
+
+Type make to build the program named treedepth. Type ./treedepth -help to print usage information.
+For example ./treedepth -file heur_111.gr time 60.
+Use make PACE=yes to generate a version of the program corresponding to pace 2020 requirements.
+