Lots of changes, more still to come!

I'm updating this live.