Updated to reflect changes to the implementation: instruction encoding and partitioning.