implement compare for roles