role assignment functional