GaoYan: refactor for update method.