This a draft document. Please report errors, omissions, or ambiguities. This is a teaching tool, not a specification or technical document. It is overly simplified, incomplete, and likely inaccurate