add a variant which takes an iterable as parameter