semaphore is working