logic operator implement