Viewer refactored in terms of MinimalViewer