add  some comments on code