Boilerplate for creating components