basic user input handling implemented.