#3, #5: Refactoring