scan using batch and cache