refactory add comments