add more roles, untested though