allow for arbitrary faceting