updated Kernel