convert Mutex to ReentrantLock