more work on components