Finished prototype refactor on upgrades