renamed foreach -> yield