add pos_iterator