Chapter 3 - How to generate components