web components first pass
merge conflicts