basic datafilter class/ logic / persistence, untested