starting to implement Component trait