added support for arbitrary strides during convolution