Finished JS migration