refactor add and filter with many