We need a better way to distinguish these error codes. This is thrown for different kinds of errors..... *thinks*