add an interface for attributes to replace filter and facet interfaces