Must return a good exit code