added Exception for invalid discount types