simplified more cache method