add comments for all helper functions