update
sync and async remote fetch