Make cache optional