Added image caching, compression, and resizing