semaphores are doing semaphore things!