up to blocks and iterators