Changed the threading mechanism. Threads are now inovked as they're created, and thread completion is kept track of with a countdown latch