diff --git a/Doc/library/asyncio-api-index.rst b/Doc/library/asyncio-api-index.rst
index dc69100..d5b5659 100644
--- a/Doc/library/asyncio-api-index.rst
+++ b/Doc/library/asyncio-api-index.rst
@@ -1,9 +1,9 @@
 .. currentmodule:: asyncio
 
 
-=====================
-High-level APIs Index
-=====================
+====================
+High-level API Index
+====================
 
 This page lists all high-level async/await enabled asyncio APIs.
 
@@ -16,6 +16,7 @@
 
 .. list-table::
     :widths: 50 50
+    :class: full-width-table
 
     * - :func:`run`
       - Create event loop, run a coroutine, close the loop.
@@ -36,7 +37,7 @@
       - Shield from cancellation.
 
     * - ``await`` :func:`wait`
-      - Monitor for completeness.
+      - Monitor for completion.
 
     * - :func:`current_task`
       - Return the current Task.
@@ -47,6 +48,12 @@
     * - :class:`Task`
       - Task object.
 
+    * - :func:`run_coroutine_threadsafe`
+      - Schedule a coroutine from another OS thread.
+
+    * - ``for in`` :func:`as_completed`
+      - Monitor for completion with a ``for`` loop.
+
 
 .. rubric:: Examples
 
@@ -72,6 +79,7 @@
 
 .. list-table::
     :widths: 50 50
+    :class: full-width-table
 
     * - :class:`Queue`
       - A FIFO queue.
@@ -98,6 +106,7 @@
 
 .. list-table::
     :widths: 50 50
+    :class: full-width-table
 
     * - ``await`` :func:`create_subprocess_exec`
       - Create a subprocess.
@@ -121,6 +130,7 @@
 
 .. list-table::
     :widths: 50 50
+    :class: full-width-table
 
     * - ``await`` :func:`open_connection`
       -  Establish a TCP connection.
@@ -156,6 +166,7 @@
 
 .. list-table::
     :widths: 50 50
+    :class: full-width-table
 
     * - :class:`Lock`
       - A mutex lock.
@@ -186,6 +197,7 @@
 
 .. list-table::
     :widths: 50 50
+    :class: full-width-table
 
 
     * - :exc:`asyncio.TimeoutError`
diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst
index 3e1571f..909d3ea3 100644
--- a/Doc/library/asyncio-eventloop.rst
+++ b/Doc/library/asyncio-eventloop.rst
@@ -980,7 +980,7 @@
 Executing code in thread or process pools
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-.. method:: loop.run_in_executor(executor, func, \*args)
+.. coroutinemethod:: loop.run_in_executor(executor, func, \*args)
 
    Arrange for a *func* to be called in the specified executor.
 
@@ -1418,7 +1418,7 @@
 like :func:`asyncio.run`.
 
 
-.. _asyncio-hello-world-callback:
+.. _asyncio_example_lowlevel_helloworld:
 
 Hello World with call_soon()
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1451,7 +1451,7 @@
    example created with a coroutine and the :func:`run` function.
 
 
-.. _asyncio-date-callback:
+.. _asyncio_example_call_later:
 
 Display the current date with call_later()
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1488,7 +1488,7 @@
    created with a coroutine and the :func:`run` function.
 
 
-.. _asyncio-watch-read-event:
+.. _asyncio_example_watch_fd:
 
 Watch a file descriptor for read events
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1531,15 +1531,17 @@
 
 .. seealso::
 
-   * A similar :ref:`example <asyncio-register-socket>`
+   * A similar :ref:`example <asyncio_example_create_connection>`
      using transports, protocols, and the
      :meth:`loop.create_connection` method.
 
-   * Another similar :ref:`example <asyncio-register-socket-streams>`
+   * Another similar :ref:`example <asyncio_example_create_connection-streams>`
      using the high-level :func:`asyncio.open_connection` function
      and streams.
 
 
+.. _asyncio_example_unix_signals:
+
 Set signal handlers for SIGINT and SIGTERM
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
diff --git a/Doc/library/asyncio-future.rst b/Doc/library/asyncio-future.rst
index 19bf8a6..d6c5335 100644
--- a/Doc/library/asyncio-future.rst
+++ b/Doc/library/asyncio-future.rst
@@ -191,6 +191,8 @@
       .. versionadded:: 3.7
 
 
+.. _asyncio_example_future:
+
 This example creates a Future object, creates and schedules an
 asynchronous Task to set result for the Future, and waits until
 the Future has a result::
diff --git a/Doc/library/asyncio-llapi-index.rst b/Doc/library/asyncio-llapi-index.rst
new file mode 100644
index 0000000..7fb1e60
--- /dev/null
+++ b/Doc/library/asyncio-llapi-index.rst
@@ -0,0 +1,510 @@
+.. currentmodule:: asyncio
+
+
+===================
+Low-level API Index
+===================
+
+This page lists all low-level asyncio APIs.
+
+
+Obtaining the Event Loop
+========================
+
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :func:`asyncio.get_running_loop`
+      - The **preferred** function to get the running event loop.
+
+    * - :func:`asyncio.get_event_loop`
+      - Get an event loop instance (current or via the policy).
+
+    * - :func:`asyncio.set_event_loop`
+      - Set the event loop as current via the current policy.
+
+    * - :func:`asyncio.new_event_loop`
+      - Create a new event loop.
+
+
+.. rubric:: Examples
+
+* :ref:`Using asyncio.get_running_loop() <asyncio_example_future>`.
+
+
+Event Loop Methods
+==================
+
+See also the main documentation section about the
+:ref:`event loop methods <asyncio-event-loop>`.
+
+.. rubric:: Lifecycle
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`loop.run_until_complete`
+      - Run a Future/Task/awaitable until complete.
+
+    * - :meth:`loop.run_forever`
+      - Run the event loop forever.
+
+    * - :meth:`loop.stop`
+      - Stop the event loop.
+
+    * - :meth:`loop.stop`
+      - Close the event loop.
+
+    * - :meth:`loop.is_running()`
+      - Return ``True`` if the event loop is running.
+
+    * - :meth:`loop.is_closed()`
+      - Return ``True`` if the event loop is closed.
+
+    * - ``await`` :meth:`loop.shutdown_asyncgens`
+      - Close asynchronous generators.
+
+
+.. rubric:: Debugging
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`loop.set_debug`
+      - Enable or disable the debug mode.
+
+    * - :meth:`loop.get_debug`
+      - Get the current debug mode.
+
+
+.. rubric:: Scheduling Callbacks
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`loop.call_soon`
+      - Invoke a callback soon.
+
+    * - :meth:`loop.call_soon_threadsafe`
+      - A thread-safe variant of :meth:`loop.call_soon`.
+
+    * - :meth:`loop.call_later`
+      - Invoke a callback *after* the given time.
+
+    * - :meth:`loop.call_at`
+      - Invoke a callback *at* the given time.
+
+
+.. rubric:: Thread/Process Pool
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - ``await`` :meth:`loop.run_in_executor`
+      - Run a CPU-bound or other blocking function in
+        a :mod:`concurrent.futures` executor.
+
+    * - :meth:`loop.set_default_executor`
+      - Set the default executor for :meth:`loop.run_in_executor`.
+
+
+.. rubric:: Tasks and Futures
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`loop.create_future`
+      - Create a :class:`Future` object.
+
+    * - :meth:`loop.create_task`
+      - Schedule coroutine as a :class:`Task`.
+
+    * - :meth:`loop.set_task_factory`
+      - Set a factory used by :meth:`loop.create_task` to
+        create :class:`Tasks <Task>`.
+
+    * - :meth:`loop.get_task_factory`
+      - Get the factory :meth:`loop.create_task` uses
+        to create :class:`Tasks <Task>`.
+
+
+.. rubric:: DNS
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - ``await`` :meth:`loop.getaddrinfo`
+      - Asynchronous version of :meth:`socket.getaddrinfo`.
+
+    * - ``await`` :meth:`loop.getnameinfo`
+      - Asynchronous version of :meth:`socket.getnameinfo`.
+
+
+.. rubric:: Networking and IPC
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - ``await`` :meth:`loop.create_connection`
+      - Open a TCP connection.
+
+    * - ``await`` :meth:`loop.create_server`
+      - Create a TCP server.
+
+    * - ``await`` :meth:`loop.create_unix_connection`
+      - Open a Unix socket connection.
+
+    * - ``await`` :meth:`loop.create_unix_server`
+      - Create a Unix socket server.
+
+    * - ``await`` :meth:`loop.connect_accepted_socket`
+      - Wrap a :class:`~socket.socket` into a ``(transport, protocol)``
+        pair.
+
+    * - ``await`` :meth:`loop.create_datagram_endpoint`
+      - Open a datagram (UDP) connection.
+
+    * - ``await`` :meth:`loop.sendfile`
+      - Send a file over a transport.
+
+    * - ``await`` :meth:`loop.start_tls`
+      - Upgrade an existing connection to TLS.
+
+    * - ``await`` :meth:`loop.connect_read_pipe`
+      - Wrap a read end of a pipe into a ``(transport, protocol)`` pair.
+
+    * - ``await`` :meth:`loop.connect_write_pipe`
+      - Wrap a write end of a pipe into a ``(transport, protocol)`` pair.
+
+
+.. rubric:: Sockets
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - ``await`` :meth:`loop.sock_recv`
+      - Receive data from the :class:`~socket.socket`.
+
+    * - ``await`` :meth:`loop.sock_recv_into`
+      - Receive data from the :class:`~socket.socket` into a buffer.
+
+    * - ``await`` :meth:`loop.sock_sendall`
+      - Send data to the :class:`~socket.socket`.
+
+    * - ``await`` :meth:`loop.sock_connect`
+      - Connect the :class:`~socket.socket`.
+
+    * - ``await`` :meth:`loop.sock_accept`
+      - Accept a :class:`~socket.socket` connection.
+
+    * - ``await`` :meth:`loop.sock_sendfile`
+      - Send a file over the :class:`~socket.socket`.
+
+    * - :meth:`loop.add_reader`
+      - Start watching a file descriptor for read availability.
+
+    * - :meth:`loop.remove_reader`
+      - Stop watching a file descriptor for read availability.
+
+    * - :meth:`loop.add_writer`
+      - Start watching a file descriptor for write availability.
+
+    * - :meth:`loop.remove_writer`
+      - Stop watching a file descriptor for write availability.
+
+
+.. rubric:: Unix Signals
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`loop.add_signal_handler`
+      - Add a handler for a :mod:`signal`.
+
+    * - :meth:`loop.remove_signal_handler`
+      - Remove a handler for a :mod:`signal`.
+
+
+.. rubric:: Subprocesses
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`loop.subprocess_exec`
+      - Spawn a subprocess.
+
+    * - :meth:`loop.subprocess_shell`
+      - Spawn a subprocess from a shell command.
+
+
+.. rubric:: Error Handling
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`loop.call_exception_handler`
+      - Call the exception handler.
+
+    * - :meth:`loop.set_exception_handler`
+      - Set a new exception handler.
+
+    * - :meth:`loop.get_exception_handler`
+      - Get the current exception handler.
+
+    * - :meth:`loop.default_exception_handler`
+      - The default exception handler implementation.
+
+
+.. rubric:: Examples
+
+* :ref:`Using asyncio.get_event_loop() and loop.run_forever()
+  <asyncio_example_lowlevel_helloworld>`.
+
+* :ref:`Using loop.call_later() <asyncio_example_call_later>`.
+
+* Using ``loop.create_connection()`` to implement
+  :ref:`an echo-client <asyncio_example_tcp_echo_client_protocol>`.
+
+* Using ``loop.create_connection()`` to
+  :ref:`connect a socket <asyncio_example_create_connection>`.
+
+* :ref:`Using add_reader() to watch an FD for read events
+  <asyncio_example_watch_fd>`.
+
+* :ref:`Using loop.add_signal_handler() <asyncio_example_unix_signals>`.
+
+* :ref:`Using loop.subprocess_exec() <asyncio_example_subprocess_proto>`.
+
+
+Transports
+==========
+
+All transports implement the following methods:
+
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`transport.close() <BaseTransport.close>`
+      - Close the transport.
+
+    * - :meth:`transport.is_closing() <BaseTransport.is_closing>`
+      - Return ``True`` if the transport is closing or is closed.
+
+    * - :meth:`transport.get_extra_info() <BaseTransport.get_extra_info>`
+      - Request for information about the transport.
+
+    * - :meth:`transport.set_protocol() <BaseTransport.set_protocol>`
+      - Set a new protocol.
+
+    * - :meth:`transport.get_protocol() <BaseTransport.get_protocol>`
+      - Return the current protocol.
+
+
+Transports that can receive data (TCP and Unix connections,
+pipes, etc).  Returned from methods like
+:meth:`loop.create_connection`, :meth:`loop.create_unix_connection`,
+:meth:`loop.connect_read_pipe`, etc:
+
+.. rubric:: Read Transports
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`transport.is_reading() <ReadTransport.is_reading>`
+      - Return ``True`` if the transport is receiving.
+
+    * - :meth:`transport.pause_reading() <ReadTransport.pause_reading>`
+      - Pause receiving.
+
+    * - :meth:`transport.resume_reading() <ReadTransport.resume_reading>`
+      - Resume receiving.
+
+
+Transports that can Send data (TCP and Unix connections,
+pipes, etc).  Returned from methods like
+:meth:`loop.create_connection`, :meth:`loop.create_unix_connection`,
+:meth:`loop.connect_write_pipe`, etc:
+
+.. rubric:: Write Transports
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`transport.write() <WriteTransport.write>`
+      - Write data to the transport.
+
+    * - :meth:`transport.writelines() <WriteTransport.writelines>`
+      - Write buffers to the transport.
+
+    * - :meth:`transport.can_write_eof() <WriteTransport.can_write_eof>`
+      - Return :const:`True` if the transport supports sending EOF.
+
+    * - :meth:`transport.write_eof() <WriteTransport.write_eof>`
+      - Close and send EOF after flushing buffered data.
+
+    * - :meth:`transport.abort() <WriteTransport.abort>`
+      - Close the transport immediately.
+
+    * - :meth:`transport.get_write_buffer_size()
+        <WriteTransport.get_write_buffer_size>`
+      - Return high and low water marks for write flow control.
+
+    * - :meth:`transport.set_write_buffer_limits()
+        <WriteTransport.set_write_buffer_limits>`
+      - Set new high and low water marks for write flow control.
+
+
+Transports returned by :meth:`loop.create_datagram_endpoint`:
+
+.. rubric:: Datagram Transports
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`transport.sendto() <DatagramTransport.sendto>`
+      - Send data to the remote peer.
+
+    * - :meth:`transport.abort() <DatagramTransport.abort>`
+      - Close the transport immediately.
+
+
+Low-level transport abstraction over subprocesses.
+Returned by :meth:`loop.subprocess_exec` and
+:meth:`loop.subprocess_shell`:
+
+.. rubric:: Subprocess Transports
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`transport.get_pid() <SubprocessTransport.get_pid>`
+      - Return the subprocess process id.
+
+    * - :meth:`transport.get_pipe_transport()
+        <SubprocessTransport.get_pipe_transport>`
+      - Return the transport for the requested communication pipe
+        (*stdin*, *stdout*, or *stderr*).
+
+    * - :meth:`transport.get_returncode() <SubprocessTransport.get_returncode>`
+      - Return the subprocess return code.
+
+    * - :meth:`transport.kill() <SubprocessTransport.kill>`
+      - Kill the subprocess.
+
+    * - :meth:`transport.send_signal() <SubprocessTransport.send_signal>`
+      - Send a signal to the subprocess.
+
+    * - :meth:`transport.terminate() <SubprocessTransport.terminate>`
+      - Stop the subprocess.
+
+    * - :meth:`transport.close() <SubprocessTransport.close>`
+      - Kill the subprocess and close all pipes.
+
+
+Protocols
+=========
+
+Protocol classes can implement the following **callback methods**:
+
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - ``callback`` :meth:`connection_made() <BaseProtocol.connection_made>`
+      - Called when a connection is made.
+
+    * - ``callback`` :meth:`connection_lost() <BaseProtocol.connection_lost>`
+      - Called when the connection is lost or closed.
+
+    * - ``callback`` :meth:`pause_writing() <BaseProtocol.pause_writing>`
+      - Called when the transport's buffer goes over the high water mark.
+
+    * - ``callback`` :meth:`resume_writing() <BaseProtocol.resume_writing>`
+      - Called when the transport's buffer drains below the low water mark.
+
+
+.. rubric:: Streaming Protocols (TCP, Unix Sockets, Pipes)
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - ``callback`` :meth:`data_received() <Protocol.data_received>`
+      - Called when some data is received.
+
+    * - ``callback`` :meth:`eof_received() <Protocol.eof_received>`
+      - Called when an EOF is received.
+
+
+.. rubric:: Buffered Streaming Protocols
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - ``callback`` :meth:`get_buffer() <BufferedProtocol.get_buffer>`
+      - Called to allocate a new receive buffer.
+
+    * - ``callback`` :meth:`buffer_updated() <BufferedProtocol.buffer_updated>`
+      - Called when the buffer was updated with the received data.
+
+    * - ``callback`` :meth:`eof_received() <BufferedProtocol.eof_received>`
+      - Called when an EOF is received.
+
+
+.. rubric:: Datagram Protocols
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - ``callback`` :meth:`datagram_received()
+        <DatagramProtocol.datagram_received>`
+      - Called when a datagram is received.
+
+    * - ``callback`` :meth:`error_received() <DatagramProtocol.error_received>`
+      - Called when a previous send or receive operation raises an
+        :class:`OSError`.
+
+
+.. rubric:: Subprocess Protocols
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - ``callback`` :meth:`pipe_data_received()
+        <SubprocessProtocol.pipe_data_received>`
+      - Called when the child process writes data into its
+        *stdout* or *stderr* pipe.
+
+    * - ``callback`` :meth:`pipe_connection_lost()
+        <SubprocessProtocol.pipe_connection_lost>`
+      - Called when one of the pipes communicating with
+        the child process is closed.
+
+    * - ``callback`` :meth:`process_exited()
+        <SubprocessProtocol.process_exited>`
+      - Called when the child process has exited.
+
+
+Event Loop Policies
+===================
+
+Policies is a low-level mechanism to alter the behavior of
+functions like :func:`asyncio.get_event_loop`.  See also
+the main :ref:`policies section <asyncio-policies>` for more
+details.
+
+
+.. rubric:: Accessing Policies
+.. list-table::
+    :widths: 50 50
+    :class: full-width-table
+
+    * - :meth:`asyncio.get_event_loop_policy`
+      - Return the current process-wide policy.
+
+    * - :meth:`asyncio.set_event_loop_policy`
+      - Set a new process-wide policy.
+
+    * - :class:`AbstractEventLoopPolicy`
+      - Base class for policy objects.
diff --git a/Doc/library/asyncio-protocol.rst b/Doc/library/asyncio-protocol.rst
index e4aed64..cb16acd 100644
--- a/Doc/library/asyncio-protocol.rst
+++ b/Doc/library/asyncio-protocol.rst
@@ -707,7 +707,7 @@
 Examples
 ========
 
-.. _asyncio-tcp-echo-server-protocol:
+.. _asyncio_example_tcp_echo_server_protocol:
 
 TCP Echo Server
 ---------------
@@ -756,7 +756,7 @@
    The :ref:`TCP echo server using streams <asyncio-tcp-echo-server-streams>`
    example uses the high-level :func:`asyncio.start_server` function.
 
-.. _asyncio-tcp-echo-client-protocol:
+.. _asyncio_example_tcp_echo_client_protocol:
 
 TCP Echo Client
 ---------------
@@ -914,7 +914,7 @@
     asyncio.run(main())
 
 
-.. _asyncio-register-socket:
+.. _asyncio_example_create_connection:
 
 Connecting Existing Sockets
 ---------------------------
@@ -973,14 +973,14 @@
 .. seealso::
 
    The :ref:`watch a file descriptor for read events
-   <asyncio-watch-read-event>` example uses the low-level
+   <asyncio_example_watch_fd>` example uses the low-level
    :meth:`loop.add_reader` method to register an FD.
 
    The :ref:`register an open socket to wait for data using streams
-   <asyncio-register-socket-streams>` example uses high-level streams
+   <asyncio_example_create_connection-streams>` example uses high-level streams
    created by the :func:`open_connection` function in a coroutine.
 
-.. _asyncio-subprocess-proto-example:
+.. _asyncio_example_subprocess_proto:
 
 loop.subprocess_exec() and SubprocessProtocol
 ---------------------------------------------
@@ -1037,3 +1037,6 @@
 
     date = asyncio.run(get_date())
     print(f"Current date: {date}")
+
+See also the :ref:`same example <asyncio_example_create_subprocess_exec>`
+written using high-level APIs.
diff --git a/Doc/library/asyncio-stream.rst b/Doc/library/asyncio-stream.rst
index 29163a2..0489201 100644
--- a/Doc/library/asyncio-stream.rst
+++ b/Doc/library/asyncio-stream.rst
@@ -348,7 +348,7 @@
 
 .. seealso::
 
-   The :ref:`TCP echo client protocol <asyncio-tcp-echo-client-protocol>`
+   The :ref:`TCP echo client protocol <asyncio_example_tcp_echo_client_protocol>`
    example uses the low-level :meth:`loop.create_connection` method.
 
 
@@ -390,7 +390,7 @@
 
 .. seealso::
 
-   The :ref:`TCP echo server protocol <asyncio-tcp-echo-server-protocol>`
+   The :ref:`TCP echo server protocol <asyncio_example_tcp_echo_server_protocol>`
    example uses the :meth:`loop.create_server` method.
 
 
@@ -444,7 +444,7 @@
     python example.py https://example.com/path/page.html
 
 
-.. _asyncio-register-socket-streams:
+.. _asyncio_example_create_connection-streams:
 
 Register an open socket to wait for data using streams
 ------------------------------------------------------
@@ -484,9 +484,9 @@
 .. seealso::
 
    The :ref:`register an open socket to wait for data using a protocol
-   <asyncio-register-socket>` example uses a low-level protocol and
+   <asyncio_example_create_connection>` example uses a low-level protocol and
    the :meth:`loop.create_connection` method.
 
    The :ref:`watch a file descriptor for read events
-   <asyncio-watch-read-event>` example uses the low-level
+   <asyncio_example_watch_fd>` example uses the low-level
    :meth:`loop.add_reader` method to watch a file descriptor.
diff --git a/Doc/library/asyncio-subprocess.rst b/Doc/library/asyncio-subprocess.rst
index ef8a1cb..57a7a37 100644
--- a/Doc/library/asyncio-subprocess.rst
+++ b/Doc/library/asyncio-subprocess.rst
@@ -318,6 +318,8 @@
 control a subprocess and the :class:`StreamReader` class to read from
 the *stdout*.
 
+.. _asyncio_example_create_subprocess_exec:
+
 The subprocess is created by the :func:`create_subprocess_exec`
 function::
 
@@ -349,5 +351,5 @@
     print(f"Current date: {date}")
 
 
-See also the :ref:`same example <asyncio-subprocess-proto-example>`
+See also the :ref:`same example <asyncio_example_subprocess_proto>`
 written using low-level APIs.
diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst
index d3cfd5f..3faaf0c 100644
--- a/Doc/library/asyncio-task.rst
+++ b/Doc/library/asyncio-task.rst
@@ -130,7 +130,7 @@
     programs, and should ideally only be called once.
 
     .. versionadded:: 3.7
-       **Important:** this has been been added to asyncio in Python 3.7
+       **Important:** this has been added to asyncio in Python 3.7
        on a :term:`provisional basis <provisional api>`.
 
 
@@ -188,7 +188,7 @@
 Running Tasks Concurrently
 ==========================
 
-.. coroutinefunction:: gather(\*fs, loop=None, return_exceptions=False)
+.. function:: gather(\*fs, loop=None, return_exceptions=False)
 
    Return a Future aggregating results from the given coroutine objects,
    Tasks, or Futures.
diff --git a/Doc/library/asyncio.rst b/Doc/library/asyncio.rst
index 9f45f74..7895826 100644
--- a/Doc/library/asyncio.rst
+++ b/Doc/library/asyncio.rst
@@ -43,12 +43,13 @@
   with async/await syntax.
 
 
-Reference
----------
+.. We use the "rubric" directive here to avoid creating
+   the "Reference" subsection in the TOC.
 
-.. rubric:: High-level APIs
+.. rubric:: Reference
 
 .. toctree::
+   :caption: High-level APIs
    :maxdepth: 1
 
    asyncio-task.rst
@@ -58,9 +59,8 @@
    asyncio-queue.rst
    asyncio-exceptions.rst
 
-.. rubric:: Low-level APIs
-
 .. toctree::
+   :caption: Low-level APIs
    :maxdepth: 1
 
    asyncio-eventloop.rst
@@ -69,10 +69,10 @@
    asyncio-policy.rst
    asyncio-platforms.rst
 
-.. rubric:: Guides and Tutorials
-
 .. toctree::
+   :caption: Guides and Tutorials
    :maxdepth: 1
 
    asyncio-api-index.rst
+   asyncio-llapi-index.rst
    asyncio-dev.rst
diff --git a/Doc/tools/templates/layout.html b/Doc/tools/templates/layout.html
index 3781172..c399224 100644
--- a/Doc/tools/templates/layout.html
+++ b/Doc/tools/templates/layout.html
@@ -21,5 +21,14 @@
       {% if pagename == 'whatsnew/changelog' and not embedded %}
       <script type="text/javascript" src="{{ pathto('_static/changelog_search.js', 1) }}"></script>{% endif %}
     {% endif %}
+
+    {# custom CSS; used in asyncio docs! #}
+    <style>
+      @media only screen {{ "{" }}
+        table.full-width-table {{ "{" }}
+            width: 100%;
+        {{ "}" }}
+      {{ "}" }}
+    </style>
 {{ super() }}
 {% endblock %}
