add comments, clean-up