user input in main needed to be a little more modular