update the markup and JS and styles to make it all work smoothly