further progression toward an upgrade function...