add iterator, each