implement the role selection