facets should take an array, if passed (for syntax consistency). otherwise fallback to args (for backward compatibility)