adding Caching trait