Component Refactoring