reintroduced semaphores