modified read-string