use generic data structure for breadcrumbs for more flexibility