improved UI: render by dom-node, popup user-card