diff --git a/README.md b/README.md
index a110cca..5486171 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,14 @@
-### Sys Commands (0x32) {#sys-commands-0x32}
+### Sys Commands (0x32)
 
 There are and will be a variety of sys specific commands.
 
-#### Cablecheck - SubCommand 0x00 {#cablecheck-subcommand-0x00}
+#### Cablecheck - SubCommand 0x00
 
-The cablecheck command checks whether the BMC is seeing traffic between itself and the host's NIC.  Sys specifies which if_name is expected to be connected.  The BMC presently only checks traffic on the interface specified.  There are now ethernet statistics available over IPMI, which can be checked directly in lieu of this.
+The cablecheck command checks whether the BMC is seeing traffic between itself
+and the host's NIC.  Sys specifies which if_name is expected to be connected.
+The BMC presently only checks traffic on the interface specified.  There are
+now ethernet statistics available over IPMI, which can be checked directly in
+lieu of this.
 
 Request
 
@@ -21,9 +25,10 @@
 |0x00|0x00|Subcommand
 |0x01|0x00/0x01|0 for false, 1 for true
 
-#### CpldVersion - SubCommand 0x01 {#cpldversion-subcommand-0x01}
+#### CpldVersion - SubCommand 0x01
 
-Any CPLD on the system that can only be read directly via the BMC can have its version exported to Sys via the cpld version command.
+Any CPLD on the system that can only be read directly via the BMC can have its
+version exported to Sys via the cpld version command.
 
 Request
 
@@ -43,13 +48,18 @@
 |0x03|Sub 1|Third version number
 |0x04|Sub 2|Fourth version number
 
+**Per the above, if the version number doesn't fit in a byte it'll be cast to
+size.**
 
-**Per the above, if the version number doesn't fit in a byte it'll be cast to size.**
+#### GetNcsiEthDevice - SubCommand 0x02
 
-
-#### GetNcsiEthDevice - SubCommand 0x02 {#getncsiethdevice-subcommand-0x02}
-
-The BMC itself must have hard-coded into the image, which ethernet device is connected to the host NIC.  This is true also in the mapping of ethernet device to channel number.  The channel number is used to configure the ethernet device over IPMI, instead of the interface name.  This is because we leverage the current IPMI command set to read and write the networking configuration.  Sys can be programmed already to have this information in the board protobuf, however, this information -- can be read from the BMC over IPMI.
+The BMC itself must have hard-coded into the image, which ethernet device is
+connected to the host NIC.  This is true also in the mapping of ethernet device
+to channel number.  The channel number is used to configure the ethernet device
+over IPMI, instead of the interface name.  This is because we leverage the
+current IPMI command set to read and write the networking configuration.  Sys
+can be programmed already to have this information in the board protobuf,
+however, this information -- can be read from the BMC over IPMI.
 
 Request
 
@@ -57,7 +67,6 @@
 |--------|-------|----
 |0x00|0x02|Subcommand
 
-
 Response
 
 |Byte(s) |Value  |Data
@@ -67,10 +76,10 @@
 |0x02|if_name length|The length of the if_name in bytes.
 |0x03... |if_name|The interface name, not null-terminated
 
+#### DelayedHardReset - SubCommand 0x03
 
-#### DelayedHardReset - SubCommand 0x03 {#delayedhardreset-subcommand-0x03}
-
-Sys needs to be able to tell the BMC to reset the host but given a delay in seconds.
+Sys needs to be able to tell the BMC to reset the host but given a delay in
+seconds.
 
 Request
 
@@ -79,34 +88,8 @@
 |0x00|0x03|Subcommand
 |0x01..0x04| |Seconds to delay (uint32)
 
-
-
 Response
 
 |Byte(s) |Value  |Data
 |--------|-------|----
 |0x00|0x03|Subcommand
-
-### Nemorad Setting (0x34) {#nemora-setting-0x34}
-
-It's a security requirement that the BMC must be able to persist a setting to disable plaintext console transmission via Nemora.  The setting is stored in the BMC read-write filesystem, and Nemorad has a utility class to read and write that setting, which this OEM command uses.  The command can be used for read-only as well as a read-then-write to ensure the state of the file.
-
-For now, there is only one Subcommand; the byte is there in case we want to extend this command later.
-
-
-Request
-
-|Byte(s) |Value  |Data
-|--------|-------|----
-|0x00|0x00|Subcommand
-|0x00|want_to_set|1 if a set operation is desired; 0 if only reading.
-|0x01|desired_value|1 if plaintext should be allowed; 0 if plaintext should be disallowed; ignored if want_to_set is 0.
-
-
-
-Response
-
-|Byte(s) |Value  |Data
-|--------|-------|----
-|0x00|0x00|Subcommand
-|0x00|Current value|1 if plaintext is currently allowed; 0 if plaintext is currently disallowed
