added a simple index cacher -- this will need to be improved on, for large index will cahce a few so I know which area of the index needs to be searched.