add "data" and update JS
add a lot of new things