update self