helps to actually respect user input