first version that assigns roles