refactored fad able component and example