use opError