The main function of command interpreter is to get and execute the next user-specified command. It reads commands from the user or from a file of commands and executes them, usually by turning them into one or more systems calls. It is usually not part of the kernel since the command interpreter is more subject to changes. The command interpreter allows a user to create and manage processes and also determine ways by which they communicate (such as through pipes and files). As all of this functionality could be accessed by a user-level program using the system calls, it should be possible for the user to develop a new command-line interpreter.