block and itereators
extra credit