added caching at the rule level and cache busting before every parse