some changes, need to fix comprehensions