smarter cache usage