optimize makeSignOp