working example of components