 As I look at this code, I see that not a lot of it is Pokemon specific. Really, this pager is pretty generic, except for this hard coding of Pokemon here. It'd be really nice if I could take this component that I want to render as a prop. In fact, I can. In JSX, I can use this.props.component. Now, we haven't set our component up to take that, so let's do that now. Here, we'll provide that component. Now, that might feel like voodoo, the fact that it just worked like that. So I'd like to use another component to illustrate a little bit more of how it works and how we can use it to compose things and make components like this Pokemon pager more generic. I'll make a very simple functional component called show ID. Now, like Pokemon, it's going to take an ID on props and just render it as big as it can. Now, when we render a Pokemon pager, we can give it any component that we want. So why not show ID? Now, it's just showing the ID that it gets when Pokemon pager renders it here. Now, let's say we don't want to define a component at all. Well, we can just take this and shove it inside our component because components are, again, just functions. We'll take the props and then render this h1 with props.id. And as you've seen, this totally works. So all of these work, we're going to instead use our Pokemon. And we're going to strip Pokemon out of the name here because honestly, this is just a generic ID pager now. Rename that. Now we've used composition to insert this very specific component into this generic component. This is super awesome. And we're going to learn more ways to do that in the next lessons.