add working convolve