final js changes