design: update change_detection