js changes final