fix unary minus bug