add user generation