add shell.c, shell.h and shared.c