Add in upgrade functionality