make it component
docs on component