add new shift and update caches