Applying arbitrary kernels