Cleaner error reporting;
Proper recursive exiting on encountering command 'exit';