cache and index