Further refactor of shared filtering methods