Implement Kernel.