basic working shell