Add caching and #where to Association