Now prompts user for input and handles canonical mode