working on adding semantics to dom