diff --git a/Doc/library/curses.panel.rst b/Doc/library/curses.panel.rst
index 9916008caf5da8..58505827e33cb5 100644
--- a/Doc/library/curses.panel.rst
+++ b/Doc/library/curses.panel.rst
@@ -18,6 +18,14 @@ displayed. Panels can be added, moved up or down in the stack, and removed.
Functions
---------
+The module :mod:`!curses.panel` defines the following exception:
+
+
+.. exception:: error
+
+ Exception raised when a curses panel library function returns an error.
+
+
The module :mod:`!curses.panel` defines the following functions:
@@ -50,73 +58,91 @@ The module :mod:`!curses.panel` defines the following functions:
Panel objects
-------------
-Panel objects, as returned by :func:`new_panel` above, are windows with a
-stacking order. There's always a window associated with a panel which determines
-the content, while the panel methods are responsible for the window's depth in
-the panel stack.
+.. raw:: html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+.. class:: panel
+
+ Panel objects, as returned by :func:`new_panel` above, are windows with a
+ stacking order. There's always a window associated with a panel which
+ determines the content, while the panel methods are responsible for the
+ window's depth in the panel stack.
-Panel objects have the following methods:
+ Panel objects have the following methods:
-.. method:: Panel.above()
+.. method:: panel.above()
Returns the panel above the current panel.
-.. method:: Panel.below()
+.. method:: panel.below()
Returns the panel below the current panel.
-.. method:: Panel.bottom()
+.. method:: panel.bottom()
Push the panel to the bottom of the stack.
-.. method:: Panel.hidden()
+.. method:: panel.hidden()
Returns ``True`` if the panel is hidden (not visible), ``False`` otherwise.
-.. method:: Panel.hide()
+.. method:: panel.hide()
Hide the panel. This does not delete the object, it just makes the window on
screen invisible.
-.. method:: Panel.move(y, x)
+.. method:: panel.move(y, x)
Move the panel to the screen coordinates ``(y, x)``.
-.. method:: Panel.replace(win)
+.. method:: panel.replace(win)
Change the window associated with the panel to the window *win*.
-.. method:: Panel.set_userptr(obj)
+.. method:: panel.set_userptr(obj)
Set the panel's user pointer to *obj*. This is used to associate an arbitrary
piece of data with the panel, and can be any Python object.
-.. method:: Panel.show()
+.. method:: panel.show()
Display the panel (which might have been hidden), placing it on top of
the panel stack.
-.. method:: Panel.top()
+.. method:: panel.top()
Push panel to the top of the stack.
-.. method:: Panel.userptr()
+.. method:: panel.userptr()
Returns the user pointer for the panel. This might be any Python object.
-.. method:: Panel.window()
+.. method:: panel.window()
Returns the window object associated with the panel.