use DatabaseIterator