refactoring roles