bug fix: not union but intersection