Not using hwdef yet, so renamed it
Quick write through a discussion of the algorithm