[WIP] feature/refactor filter model

see #293

Tests will fail, just a quick re-factoring on the model.