Removed specialized methods for separate upgrades, and made use of a single generic method for addition.