add support for basic upgrading