added self updater