Refactored. Again. Lots of Stuff.