reverse iterate added