numerous markup, css, and js changes