Add a bit of caching