added user input stuff