Added revised, untested caching classes