Updated with additional comments.