more class refactoring fun