split to main.c shell.c