add more  comments && cleanup