filter class refactor