update exception handling