use the new from_str