Add Robert's shell from project 1.

We should use this as our base code for project2's shell.