added semaphores
added description