Implement most of updater