using index cache to speed up