Rewrote as a component