add complete tests
improve clarity of DOM interaction component