Refactor working!