make filter signature explicit to help inference