updater class, 99% finished