update AppKernel and add interface Kernel