handle negated patterns