original copt without vector iterators