separated map-reduce convolution from brute convolution