better role assignment