viewer restructured