use different exit codes for the different errors