add synchronize function extention
add Guard