Design and Functionality Refactoring