add some comments so it is obvious what is going on