add comments for some functions
update parts