Revert "first version of shell"

This reverts commit a212a75b4c2da1a541a224d306cc16faa9529489.
Revert "Revert "first version of shell""

This reverts commit 17589294c65512a9402f0f24f29f455e8e676ef7.