extended iterable
added combinations method