upgrades implemented