add markup, styling and script