Oh shit that's a lot more changes than I thought it was going to be.
I'm pretty sure it still compiles.  Alan's drunk