improve filter readability with builder