Re-wrote a lot of the includes, and other stuff.