Here is a good first draft for review