redone user input and some formatting