use more performant nextSibling