Use return values instead of System.exit()