If working correctly, negative write expressions

also implemented not