Correct but needs refactoring