refactored ThreadManager to manage IO a rather than IO (), moved all concurrency out of Dirent