Basically done, I made a lot of minor changes in this commit. Also a decent amount of refactoring.