working on efficient block iter