added equals/hashcode to filters, multi-value filter now uses set
instead of list