Refactoring design changes