added kernels