"update" func.