Add Semaphore class