image controls and caching implemented