add user input interface