clean up and comment.