added a few simple comments, it could still use a lot more details