Almost a fully working shell