fixed complex matching logics