diff --git a/README.md b/README.md
index a50ae09d251b867be647eb7ea0c9e8a54c8b4a82..581f648bb8d1ffe6a96ddbecf5de1256128c497d 100644
--- a/README.md
+++ b/README.md
@@ -62,17 +62,20 @@ executed. Execution of a `Cmd` means only that the log segment delimited is
 added to `ClientReply`.
 
 ### The Log
-The log will be a totally ordered list of strings, each in one of the following three formats:
+The log will be a totally ordered list of strings, each in one of the following four formats:
 ```
         string = <client id>,<transaction id>,w,<key>,<value>
         string = <client id>,<transaction id>,r,<key>
         string = <client id>,<transaction id>,commit
         string = <client id>,<transaction id>,abort
 ```
-A "client id" is something you make up in your input strings. For instance, you can be
-running two instances of `transactionalClient.go` at the same time (both talking to
-replica 0). The strings you type into each of the clients should have different client ids.
-The first two record formats define reads and writes in the log, while the last is a commit record.
+The first two formats define reads and writes in the log, while the last two are commit
+and abort records.
+
+A "client id" is something you make up in your input strings. For instance, if you are
+running two instances of `transactionalClient.go` (both talking to
+replica 0), you might type "1,1,w,k,v" into the first and  "2,1,w,k,v" into the
+second. These writes are in different transactions.
 
 ## Part 1: Serializable Transactions