only use the fragment when first rendering. After that use an array of DOM nodes since the fragment gets emptied after being appended