Rewrite Snarf (with caching)