implemented SimpleSemaphore