better caching for more things