introduced robust string input