What is the purpose of the command interpreter? Why is it usually separate from the kernel?