removing extra code
giving unary minus correct precident wrt ^ operator