Added negate() and normalize()