Refactoring to Build Pattern