plugin updater refactored