final version of js