refactoring updater