added dynamic updater