update by zhou