Generic components

we could also add a Role field here