Add exceptions and add fail tests