Role feature refactored