refactored components, added content