went back to simple semaphores