Lots more refactoring!