decouple updater logic, add injectjs