get rid of semaphore