refactor filter methods

move original filter methods into separated SimpleFilter