added some commentaries.