the pre-filter is abstract