Added some comments to start making things clearer if more than one person will be working on this.