added shell.c