doesn't this PR change the general error structure?