Complete refactor challenge