better UI and error handling for bad numbers