Image viewer re-implemented