add virtualDOM constructor