adjust assign_role to allow free form string for any role
add assign_role as global