complete redesign to support zoomable images without leaks