refactoring fun