catch all exceptions instead of throwing them