refactored models, added filters