don't parse-span in lower-level functions
fix some errors