Switch to stream parsing to handle nested lists