use EXIT_FAILURE everywhere