diff --git a/Basic_viewer/doc/Basic_viewer/Basic_viewer.txt b/Basic_viewer/doc/Basic_viewer/Basic_viewer.txt
index 0ec0627a810..eabc07211f5 100644
--- a/Basic_viewer/doc/Basic_viewer/Basic_viewer.txt
+++ b/Basic_viewer/doc/Basic_viewer/Basic_viewer.txt
@@ -8,50 +8,97 @@ namespace CGAL {
\author Guillaume Damiand, Mostafa Ashraf
\cgalAutoToc
-\section Basic_viewerDoc
+\section Basic_Viewer
-\subsection Basic_viewerDoc_1 Direct Draw
+\subsection Introduction
-draw(XXX)
+The Basic_viewer class appears to serve as a foundation for a 3D graphics viewer in the context of the CGAL (Computational Geometry Algorithms Library) and Qt (a C++ GUI toolkit). The goal of Basic_viewer is to provide a flexible and interactive environment for visualizing geometric data and interacting with 3D scenes. The Functionality of the Basic_viewer is to renders various geometric elements such as(points, segments, rays, lines, faces, edges, etc.) and supports user interaction through keyboard inputs.
-\subsection Basic_viewerDoc_2 Customize the drawing
+The goal of Basic_viewer is allowing to view all CGAL data structures, such as (Arrangement_on_surface_2, Boolean_set_operations_2, Linear_cell_complex, Nef_3, Periodic_2_triangulation_2, Point_set_3, Polygon, Polyhedron, Straight_skeleton_2, Surface_mesh, Triangulation_2, Triangulation_3, Voronoi_diagram_2, and more).
-Graphics_scene_options
+\subsubsection Some key goals and features of Basic_viewer include:
-\subsection Basic_viewerDoc_3 Graphic Scene
+
+- Versatile Rendering:
-\subsection Basic_viewerDoc_4 Basic viewer Qt
+The viewer supports the rendering of various geometric elements, such as points, edges, faces, rays, and lines.
+Different rendering modes, including mono and colored representations, are available for these elements.
-\subsection Basic_viewerDoc_5 Application and basic viewer
+
- Camera Control:
+The viewer allows users to switch between 2D and 3D viewing modes, adjusting the camera accordingly.
+Camera settings, such as orthographic or perspective projection, can be configured based on the dimensionality of the scene.
-\section Basic_viewerExamples Examples
+
- User Interaction:
-\subsection Basic_viewerExamples_simple_draw Basic draw
+Users can interact with the viewer through keyboard inputs, enabling them to control rendering options, toggle the display of elements, and adjust visual parameters.
+Key presses are mapped to specific actions, such as toggling the clipping plane, changing rendering modes, adjusting the size of elements, and modifying ambient light color.
+
+
- Clipping Plane:
+
+The viewer includes support for a clipping plane, allowing users to selectively render parts of the scene.
+The clipping plane can be toggled on and off, and its rendering style can be modified (solid, wireframe, etc.).
+
+
- Shader Support:
+
+Shaders are compiled to enhance the rendering capabilities of the viewer, potentially providing advanced shading and visual effects.
+
+
- Flexibility and Configurability:
+
+The viewer is designed to be flexible, allowing users to configure various rendering parameters and interact with the scene based on their needs.
+The code includes functions for setting up the initial state of the viewer, initializing OpenGL settings, and handling key events.
+
+
+
+Based on class QApplication_and_basic_viewer you can develop your own demo.
+
+\subsection Basic_viewerUsage
+
+\subsubsection Basic_viewerDoc_1 Direct Draw
+
+draw(XXX) [WIP]
+
+\subsubsection Basic_viewerDoc_2 Customize the drawing
+
+[WIP]
+
+\subsection Basic_viewerExamples Examples that use Basic_viewer
+
+\subsubsection Basic_viewerExamples_simple_draw Basic draw
\cgalExample{Surface_mesh/draw_surface_mesh.cpp}
-\subsection Basic_viewerExamples_custom_color Change Face Colors
+\subsubsection Basic_viewerExamples_custom_color Change Face Colors
\cgalExample{Basic_viewer/draw_surface_mesh_height.cpp}
-\subsection Basic_viewerExamples_two_ds Draw two different CGAL data-structures in a same viewer
+\subsubsection Basic_viewerExamples_two_ds Draw two different CGAL data-structures in a same viewer
\cgalExample{Basic_viewer/draw_mesh_and_points.cpp}
-\subsection Basic_viewerExamples_interact Interaction with the viewer
+\subsubsection Basic_viewerExamples_interact Interaction with the viewer
\cgalExample{Basic_viewer/draw_surface_mesh_small_faces.cpp}
-\subsection Basic_viewerExamples_several_window Draw several basic viewers
+\subsubsection Basic_viewerExamples_several_window Draw several basic viewers
\cgalExample{Basic_viewer/draw_several_windows.cpp}
+\section Graphic_Scene
+
+Graphics_scene_options
+[WIP]
+
+\section secsoftwaredesign Software Design
+
+class diagram [WIP]
+
+
*/
} /* namespace CGAL */