remove need for itertools