add comments, cleaned