using list instead of generators