adapt new kernel