add new DOMElements + refactoring