add comments; clean up a little