add stem caching