Clean up compat code

I'm half way done, just wanted to put it up for public review. Will add line comments on why it works without the compat code in the morning..

P.S. Sorry for all the garbage commits, I mixed up issue numbers, amended the commit, but git slapped me across the face as usual.