learning to write a simple shell