(This is the other function I was talking about caching)