Added self update feature