[update] functionality