self update by jj