Better item caching and checking