change all the module to use shared_timed_mutex