#5 Refactor