make it more of a standalone component