Update to modern JS
Add test files