Here's a good first draft for review.