updated for exceptions