add semaphore