add filtering to abstract model