add sync data feature.
add asynchelper to handle exceptions