work on facets, refactor, clean up