def kernel