refactors base class
refactors filter class