added justification for not using system.exit(0);