search functionality with custom filter