Refactored filters to support #24