reorganized added some comments