input handling, display and prompting