Still working on this, but ready to at least get comments.

Comments