exit codes implemented as constants