minor fix. if role is invalid, return false