exceptions should be re-thrown so application can handle them