Second shot at this.

trying to get structure right.