Major refactoring!
Major new new.