tools to work with a virtual dom