rebuild with outerHtml function