convolutions and convolution gradients