comment and reasonings