with add and negate