#2 Refactor