Awkwardly carry points from lower-category after upgrades
Rewrite awkward upgrades code
Merge master