refactor ops support to be automatic rather than have to be explicitly defined