Everything done except my own convolution code.