update_* methods