More pointless refactoring. Buggy code, building towards abstraction.