more fleshing out of filter api