iterator add offset and limit, reviterator bug fix