re-fix exceptions

re-proposing #48