A bunch of coding and restructuring I did on an airplane

So none of it is tested as I had no Charon access but I'll start working on that today!