add MarkupNode class
semanticParent
span delegates to parent