add block_iterator
add process function