parsing is now asynchronous to prvent problems with stack size exceeding