Got rid of invalidError in favor of opError