the rest of the switch to use a choice on roles to implement