separate role for each component