facets refactor