added Upgradable interface