unify breadcrumb generation