experimenting with creating small components and composing them