feature:self update