 +    {
 +        if (waitpid(driller_pid, &status, 0) != driller_pid)
 +        {
-+            perror("waitpid");
++            PFATAL("waitpid");
 +        }
 +        /* everything in driller_output get's added to the queue */
-+        read_testcases("driller_output");
++        read_testcases(driller_out);
++
++        /* copy all the files over to the queue */
 +        pivot_inputs();
++
++        /* increase counter for status screen */
 +        driller_invokations++;
-+    }  
++
++        /* run the fuzzer on all inputs generated by driller */
++        if ((dfd = opendir(driller_out)) == NULL) PFATAL ("opendir");
++
++        while ((in_file = readdir(dfd)))
++        {
++            if (!strcmp(in_file->d_name, "."))
++                continue;
++            if (!strcmp(in_file->d_name, ".."))
++                continue;
++
++            file_path = alloc_printf("%s/%s", driller_out, in_file->d_name);
++            if (stat(file_path, &st) == -1) PFATAL("stat");
++
++            fbuf = ck_alloc(st.st_size);
++
++            ifd = open(file_path, O_RDONLY);
++            if (ifd < 0) PFATAL("open");
++
++            if (read(ifd, fbuf, st.st_size) != st.st_size) PFATAL("read");
++
++            common_fuzz_stuff(use_argv, fbuf, st.st_size);
++
++            ck_free(fbuf);
++            ck_free(file_path);
++        } 
++    }
 +}
  
  /* Main entry point */
  
-@@ -7274,7 +7324,7 @@
+@@ -7274,7 +7361,7 @@
  
    doc_path = access(DOC_PATH, F_OK) ? "docs" : DOC_PATH;
  

   if (qemu_mode)
     use_argv = get_qemu_argv(argv[0], argv + optind, argc - optind);
   else
@@ -7557,6 +7614,14 @@
 
     skipped_fuzz = fuzz_one(use_argv);
 
+    /* when AFL goes blue we invoke driller */
+    if (cycles_wo_finds > 0 && unique_crashes == 0)
+    {
+        invoke_driller();
+        cycles_wo_finds = 0;
+        printf("\e[1;1H\e[2J"); // clear screen
+    } 

 
   struct dirent **nl;
   s32 nl_cnt;
@@ -2686,7 +2689,7 @@
 
 static void link_or_copy(u8* old_path, u8* new_path) {
 
-  s32 i = link(old_path, new_path);
+  s32 i = 1; //link(old_path, new_path);
   s32 sfd, dfd;
   u8* tmp;
 
@@ -2696,7 +2699,7 @@
   if (sfd < 0) PFATAL("Unable to open '%s'", old_path);
 
