Added lots of helpful comments.