use cache for the di container