adding exception support.