diff --git a/docs/library/machine.ADC.rst b/docs/library/machine.ADC.rst
index 11381e98b0360f6b670bae646cb87183f0f7c63c..2752878ff3dd4bb12adf7efac1af61cbdd6a0755 100644
--- a/docs/library/machine.ADC.rst
+++ b/docs/library/machine.ADC.rst
@@ -1,5 +1,4 @@
 .. currentmodule:: machine
-.. _machine.ADC:
 
 class ADC -- analog to digital conversion
 =========================================
@@ -15,7 +14,7 @@ Usage::
 Constructors
 ------------
 
-.. class:: machine.ADC(id=0, \*, bits=12)
+.. class:: ADC(id=0, \*, bits=12)
 
    Create an ADC object associated with the given pin.
    This allows you to then read analog values on that pin.
diff --git a/docs/library/machine.I2C.rst b/docs/library/machine.I2C.rst
index 2f020f6d472fe0e35925197997eccde9d0e7321b..b3bfa68f075a2de4b89f50f5c8adc35b6913661a 100644
--- a/docs/library/machine.I2C.rst
+++ b/docs/library/machine.I2C.rst
@@ -1,5 +1,4 @@
 .. currentmodule:: machine
-.. _machine.I2C:
 
 class I2C -- a two-wire serial protocol
 =======================================
@@ -45,14 +44,14 @@ Constructors
 
 .. only:: port_wipy
 
-    .. class:: machine.I2C(bus, ...)
+    .. class:: I2C(bus, ...)
 
        Construct an I2C object on the given bus.  `bus` can only be 0.
        If the bus is not given, the default one will be selected (0).
 
 .. only:: port_esp8266
 
-    .. class:: machine.I2C(scl, sda, \*, freq=400000)
+    .. class:: I2C(scl, sda, \*, freq=400000)
 
        Construct and return a new I2C object.
        See the init method below for a description of the arguments.
diff --git a/docs/library/machine.Pin.rst b/docs/library/machine.Pin.rst
index 21e5323d5b1f9d0393e0a5079bdc0ccf0696b1e8..fdada2f383f732ab74aac25a53c0a753f3a40b36 100644
--- a/docs/library/machine.Pin.rst
+++ b/docs/library/machine.Pin.rst
@@ -58,7 +58,7 @@ Usage Model:
 Constructors
 ------------
 
-.. class:: machine.Pin(id, ...)
+.. class:: Pin(id, ...)
 
    Create a new Pin object associated with the id.  If additional arguments are given,
    they are used to initialise the pin.  See :meth:`Pin.init`.
diff --git a/docs/library/machine.RTC.rst b/docs/library/machine.RTC.rst
index 219ca273d018dd654fe8cd65b8bc106c5c0f0a79..b6e98e9d1f40719bc54f83bfb1e798cbcf01415e 100644
--- a/docs/library/machine.RTC.rst
+++ b/docs/library/machine.RTC.rst
@@ -1,5 +1,4 @@
 .. currentmodule:: machine
-.. _machine.RTC:
 
 class RTC -- real time clock
 ============================
@@ -17,7 +16,7 @@ Example usage::
 Constructors
 ------------
 
-.. class:: machine.RTC(id=0, ...)
+.. class:: RTC(id=0, ...)
 
    Create an RTC object. See init for parameters of initialization.
 
diff --git a/docs/library/machine.SD.rst b/docs/library/machine.SD.rst
index 330ef217ae6890b8145f4c8607f3007f8ba03744..21c28aa2005683aa263a129c7f58bb7b6024d346 100644
--- a/docs/library/machine.SD.rst
+++ b/docs/library/machine.SD.rst
@@ -1,5 +1,4 @@
 .. currentmodule:: machine
-.. _machine.SD:
 
 class SD -- secure digital memory card
 ======================================
@@ -25,7 +24,7 @@ Example usage::
 Constructors
 ------------
 
-.. class:: machine.SD(id,... )
+.. class:: SD(id,... )
 
    Create a SD card object. See ``init()`` for parameters if initialization. 
 
diff --git a/docs/library/machine.SPI.rst b/docs/library/machine.SPI.rst
index 8e6666076814ff19eb3d93dc5dc0be2c03b0a0ec..f3c95181dc11f0ef013f27000317686e5644ecdc 100644
--- a/docs/library/machine.SPI.rst
+++ b/docs/library/machine.SPI.rst
@@ -1,5 +1,4 @@
 .. currentmodule:: machine
-.. _machine.SPI:
 
 class SPI -- a master-driven serial protocol
 ============================================
@@ -24,7 +23,7 @@ Constructors
 
 .. only:: port_wipy
 
-    .. class:: machine.SPI(id, ...)
+    .. class:: SPI(id, ...)
 
        Construct an SPI object on the given bus.  ``id`` can be only 0.
        With no additional parameters, the SPI object is created but not
diff --git a/docs/library/machine.Timer.rst b/docs/library/machine.Timer.rst
index 0e596588eb23c956f53f27dc661c9c1b694c045e..344d1ea86e2c71c8ae4e85c947e3bc8bffdb67f8 100644
--- a/docs/library/machine.Timer.rst
+++ b/docs/library/machine.Timer.rst
@@ -1,5 +1,4 @@
 .. currentmodule:: machine
-.. _machine.Timer:
 
 class Timer -- control internal timers
 ======================================
@@ -60,7 +59,7 @@ class Timer -- control internal timers
 Constructors
 ------------
 
-.. class:: machine.Timer(id, ...)
+.. class:: Timer(id, ...)
 
     .. only:: port_wipy
 
diff --git a/docs/library/machine.UART.rst b/docs/library/machine.UART.rst
index 594a11dce9e2effbcd874129c3429f2de3a1f26b..27a8801900af3551f675e9b2ce46a8a1c9cfdbc8 100644
--- a/docs/library/machine.UART.rst
+++ b/docs/library/machine.UART.rst
@@ -1,5 +1,4 @@
 .. currentmodule:: machine
-.. _machine.UART:
 
 class UART -- duplex serial communication bus
 =============================================
@@ -59,7 +58,7 @@ Constructors
 
 .. only:: port_wipy
 
-    .. class:: machine.UART(bus, ...)
+    .. class:: UART(bus, ...)
     
        Construct a UART object on the given bus.  ``bus`` can be 0 or 1.
        If the bus is not given, the default one will be selected (0) or the selection
diff --git a/docs/library/machine.WDT.rst b/docs/library/machine.WDT.rst
index 10e6af0e14218a51f3922522b644be42d22c6d96..d7c801356ec56f0882f2e3b6f0d93efac76ef78a 100644
--- a/docs/library/machine.WDT.rst
+++ b/docs/library/machine.WDT.rst
@@ -1,5 +1,4 @@
 .. currentmodule:: machine
-.. _machine.WDT:
 
 class WDT -- watchdog timer
 ===========================
@@ -18,7 +17,7 @@ Example usage::
 Constructors
 ------------
 
-.. class:: machine.WDT(id=0, timeout=5000)
+.. class:: WDT(id=0, timeout=5000)
 
    Create a WDT object and start it. The timeout must be given in seconds and
    the minimum value that is accepted is 1 second. Once it is running the timeout