introduced 'not' function