add comments
modified unit test