supports multiple filters

currently requires all categories to be present