Filtering logic moved to base abstract model