update dom widget mechanism