index updates
all functionality