for semaphore testing