Working with different methods of user input