added parse result caching