refacto of updater