Improve markup and js separation