catching (hopefully) all exceptions now