Updated to use Semaphores instead of objects
Updates to documentation