cache image prototype