Initial implementation of Upgrade.