The interactor type codes are strictly only CSM (left side), PRD (right side of arrow), CSM (above arrow) and DIR (intermediates), but the function codes can be used to provide more specific codes for what the function of the reaction participant is, such as "substrate", "reagent", "product", "by-product", etc., defined by a terminology which can be easily extended: We note the atom numbering, which is included in the embedded CTAB blocks in the field mmm (14 th column) in the Atom Block, in accordance with the CTfile format specification for reactions (such as RXN files) , which is how atom-atom mapping is achieved. While this feature is not strictly an R-SPL feature but simply gained by the fact that R-SPL provides for the encapsulation of molfiles, we do generally recommend that molfiles are always present, and InChIs, which can be generated from molfiles, and that the molfiles atom block is ordered according to the InChI atom numbering, which can be done from the AuxInfo output of InChI and the rxn2rspl.sh and mol2rspl.sh shell scripts perform this re-ordering. While SMILES or other representations are also supported, the reason we generally want molfiles and InChIs are that molfiles lend themselves to easy graphical representation (because they have atom coordinates), and InChIs atom numbers are used to reference to parts of the molecules with well defined numbers. And because molfiles have a special status for R-SPL, if molfiles provide the atom-mapping column, then the atom-mapping feature is served well by that mechanism and R-SPL does not need to replicate it.