image cache implemented