optimized prefetch() method