allow for richer comprehensions