Generic components

should we also add a redundant role attribute for consistency?