create the component