Several big updates ~ I'm bad at this commit thing