RetainOp now take also an int param to avoid useless duplication (Need work)