diff --git a/Fork_and_Wait/forking_wait.c b/Fork_and_Wait/forking_wait.c
new file mode 100644
index 0000000000000000000000000000000000000000..c1f1b667a5ea1d0a7baabd179e875bf732c6333c
--- /dev/null
+++ b/Fork_and_Wait/forking_wait.c
@@ -0,0 +1,41 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <time.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include "matrix.h"
+
+#define DIMENSION 1000
+
+int main(void){
+
+    pid_t piet= fork();
+    if(piet == (pid_t)0){
+        // child
+        printf("Child starts...\n");
+        long long *matrixA = (long long*)malloc(DIMENSION * DIMENSION * sizeof(long long));
+        long long *matrixB = (long long*)malloc(DIMENSION * DIMENSION * sizeof(long long));
+        long long *matrixC = (long long*)malloc(DIMENSION * DIMENSION * sizeof(long long));
+        srand (time( NULL));
+        initializeMatrix(matrixA, DIMENSION, DIMENSION);
+	initializeMatrix(matrixB, DIMENSION, DIMENSION);
+        multiplyMatrices(matrixA, matrixB, matrixC, DIMENSION, DIMENSION, DIMENSION);
+	free(matrixA);
+	free(matrixB);
+	free(matrixC);
+	printf("Child finish...\n");
+        
+    }else{
+        // parent
+	int status = -1;
+	int seconds = 0;
+	while(status == -1){
+		waitpid(piet, &status, WNOHANG);
+		printf("Parent waits since: %d\n", seconds++);
+            	sleep(1);	
+	}
+    }
+
+    return 0;
+}
diff --git a/Multithreaded_Search/main b/Multithreaded_Search/main
new file mode 100755
index 0000000000000000000000000000000000000000..8685f1b6b7b252f7bb488d4ac01a05573f641c6f
Binary files /dev/null and b/Multithreaded_Search/main differ
diff --git a/Priority/main b/Priority/main
deleted file mode 100755
index 8a379b43b98d21c11e78b9a4e3ef06de39ede524..0000000000000000000000000000000000000000
Binary files a/Priority/main and /dev/null differ
diff --git a/Priority/priority.c b/Priority/priority.c
index a796fd7e0b63b0a2513f636bd2c016721e7f3924..516514c8efe3be1701fe5c2ea72702dcf0e4dc51 100644
--- a/Priority/priority.c
+++ b/Priority/priority.c
@@ -37,9 +37,9 @@ int main(void){
     pthread_t threads[THREADS];
     param_t *parameters = malloc(sizeof(param_t));
 
-	parameters->matrixA = (long long*)malloc(DIMENSION * DIMENSION * sizeof(long long));
+    parameters->matrixA = (long long*)malloc(DIMENSION * DIMENSION * sizeof(long long));
     parameters->matrixB = (long long*)malloc(DIMENSION * DIMENSION * sizeof(long long));
-	parameters->matrixC = (long long*)malloc(DIMENSION * DIMENSION * sizeof(long long));
+    parameters->matrixC = (long long*)malloc(DIMENSION * DIMENSION * sizeof(long long));
 
     initializeMatrix(parameters->matrixA, DIMENSION, DIMENSION);
 	initializeMatrix(parameters->matrixB, DIMENSION, DIMENSION);