feat(filter-by): create filter
fix(filter-by): use some function for better premformence