finish the iterator class