complete self update