viewport and boilerplates added