why is the kernel dependency needed?