op_add refactoring