add kernel.c