Solution of #75.
Add comments.