Feature/js

someone check this. tested on ios emulator, a little.