More caching leading to another small speedup