update by zj 8