parsing, recursively.