rewritten incremental indexing