better cache set up