Lots, Lots of refactoring'