make this a component