implement OR and NOT