dom and three components