text: 'use strict'
  
  const CreatedElement = require('./CreatedElement')
  const ElementWithAppendedChildren = require('./ElementWithAppendedChildren')
  
  const tags = 'a, abbr, acronym, address, applet, area, article, aside, audio, b, base, basefont, bdo, big, blockquote, body, br, button, canvas, caption, center, cite, code, col, colgroup, datalist, dd, del, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, font, footer, form, frame, frameset, head, header, h1, h2, h3, h4, h5, h6, hr, html, i, iframe, img, input, ins, kbd, label, legend, li, link, main, map, mark, meta, meter, nav, noscript, object, ol, optgroup, option, p, param, pre, progress, q, s, samp, script, section, select, small, source, span, strike, strong, style, sub, sup, table, tbody, td, textarea, tfoot, th, thead, time, title, tr, u, ul, var, video, wbr'.split(', ')
  const elms = {}
  
  tags.forEach(tag => {
    elms[tag] = (attrStr, text) => {
      return (...children) => {
        return new ElementWithAppendedChildren(
          new CreatedElement(tag, attrStr, text), ...children
        )
      }
    }
  })
  
  module.exports = elms
  