added comprehension function