handle echecs and rejets differently