more work on HtmlElement