improvements to parse-number