added multithreading
removed thread pool