add some comments in order to read it easier .