finished user_input_parser and specs