more useful generators