#29 Refactoring