watch out for iterators