outsourced updater - runs in background