use generator comprehension instead