new js
many fixes