https://siteforinfotech.com/2014/11/load-external-javascript-asynchronously-dynamically.html