Done pretty much

Added robustness to user input