major JS changes