add tests around expected exception handling behavior
propagate all exceptions to the caller