use documentFragments to improve rendering performance