slight component refactoring