adding files from p0 and multithreaded merge and starter files for p2