method caching and result parsing