Added optional role selection for user generation