upgrader function changes