Tonnes of javascript changes