added exception handling to system module, new shell module