implemented 3D Viewer