cleaning, commenting. More to be done.