specification: flesh out the design structure.
Enough to use as basis for a "hand done" implementation.

Signed-off-by: Peter Williams <pwil3058@gmail.com>