Added some documentation

However unnecessary some of them may be, part of the assignment
description is to add comments.