Update requirements, refactor to use script tag