hmm, i think not correct.
general_negate