added not() and nor()