A first draft.  Squash this commit