a role is used for determining a function