optimizations for explosion loop