update by zj two