only one ptr for array_op