draft of simple filtering DSL
filtering seems to work. needs testing, though