added struct for mutex and semaphore