Refactoring to meet design