user input improvements, racket refactoring