implement $not