use more Role type instead of Bool