changed to also permute roles