handles negation