Commit 12 - FINAL

Meets all of spec requirements.
Comments added.