refactor to use attach everything to dom-container