adds caching to several analyzers