added UnexpectedValueException class