avoid document.write()