DataViewer implementation