built update function