close #9, add comments