no need for itertools anymore