maybe I can't catch all exceptions :-(