basic upgrade functionality and some balance changes