implemented all filtering methods