I decided to try to write a shell