wrote a few more cache functions