refactored a bit - more code reusage with tryAddFacet()