Added caching and exclusion