much improved incremental indexing
added logic for update and delete