modify iterator