fixing and refactoring breadcrumb navigation