now extends AbstractCollection
remove in Iterator can not be used twice