worked through documentation, comments, and exceptions.