should check self-op