add comment to list, change structure and modify implementation