See README for design considerations.
See README for design considerations.