Need to refactor for general case; have to move away from match/case I think, but will check in (failing) WIP to move between computers